Faulty result on contour map

I have just created a contour map, but some values are false. I don't know where is my error? May you help me? My dataset at the attachment.
data=xlsread('data.xlsx')
rpm=xlsread('data.xlsx','A3:A10')
kw=xlsread('data.xlsx','B2:I2')
bsfc=xlsread('data.xlsx','B3:I10')
a = surf(rpm, kw, bsfc);
[a,b] = contourf(rpm, kw, bsfc);
clabel(a,b);
xlabel('rpm');
ylabel('kW');

2 Comments

Could you be more specific about the areas that are "false"? The only difficulty I see is the way the 250 has a branch that ends abruptly.
Which MATLAB release are you using?
Have you tried setting the figure renderer to different things, zbuffer and painters and opengl ?
For example, at 2000 rpm and 60 kw, BSFC value must be 0, but the same point on the contur graph shows this point as 350 g/kWh.
I am using MATLAB 2008 and i didn't try anything about this process.

Sign in to comment.

Answers (1)

Not 100% sure what you mean by "some values are false", but I suspect that you've just transposed x and y axis. Does
a = surf(kw,rpm, bsfc);
[a,b] = contourf(kw, rpm, bsfc)
do what you want?
If not, then please elaborate on what you don't like about the graph and what you think it should look like.

4 Comments

Yes, this works. But i should replace x with y axis.
Volkan Yangin
Volkan Yangin on 30 Nov 2016
Edited: Volkan Yangin on 30 Nov 2016
Problem has been solved with using transpose of a matrix. Now i am taking correct BSFC values on contour map.
You should accept Daniel's answer to give him credit and to tell others that it is now solved.
A fuel consumption of 0 at high load? I want your engine! Or perhaps the BSFC should be NaN instead of 0 to indicate that the particular test point was not tested / could not be reached.
Thank you Guillaume At the lessons, we write 0 at over of the full load curves. So, i wrote as 0, too.

Sign in to comment.

Asked:

on 29 Nov 2016

Commented:

on 3 Dec 2016

Community Treasure Hunt

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

Start Hunting!