MATLAB Answers

Plot contour with 3 variables

33 views (last 30 days)
Hi!
I'm running a simulation in AVL in order to make an engine performance map. For that I have the values of 1- engine speed, 2-BMEP and 3-BSFC as output. I've organized them in a 17x3 matrice. I pretend to do a contour plot with engine speed as x, BMEP as y and BSFC as z.

Accepted Answer

Star Strider
Star Strider on 18 Jan 2021
The contour function requires matrices. You will need to create the matrices from your vectors.
Try this (with your actual data):
x = [7 6.5 6 5.5 5 4.8 4.5]*1E3; % Extract From Image
y = [8.06 8.65 9.20 9.55 9.71 8.66 9.57]; % Extract From Image
z = [320 300 290 284 275 272 268]; % Extract From Image
data = [x(:) y(:) z(:)];
xv = linspace(min(data(:,1)), max(data(:,1)), 20); % Interpolation Independent Variable Vector
yv = linspace(min(data(:,2)), max(data(:,2)), 20); % Interpolation Independent Variable Vector
[X,Y] = ndgrid(xv, yv); % Interpolation Independent Variable Matrices
Z = griddata(data(:,1), data(:,2), data(:,3), X, Y); % Interpolated Dependent Variable
figure
contour(X, Y, Z, 'ShowText','on')
grid on
xlabel('Engine Speed (RPM)')
ylabel('BMEP')
zlabel('BSFC')
title('Performance')
.

More Answers (0)

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!