How do I plot 3d graphs using just matrices Values

A = {1;2;5;7;10;20};
B = {1;2;5;7;10;20}';
[X Y] = meshgrid(A,B);
Z = { 1 8 18 21 25 26; 1 8 18 21 25 26; 1 8 18 21 25 26; 1 8 18 21 25 26; 1 8 18 21 25 26; 1 8 18 21 25 26};
surf(X,Y,Z);

2 Comments

It shows me this error
hh = matlab.graphics.chart.primitive.Surface(allargs{:});
This does not look like an error message. Do you get anything more on the screen?

Sign in to comment.

 Accepted Answer

The curly braces are used to create cell arrays. You want numerical arrays and need square brackets:
A = [1;2;5;7;10;20];
B = [1;2;5;7;10;20]';
[X Y] = meshgrid(A,B);
Z = [1 8 18 21 25 26; 1 8 18 21 25 26; 1 8 18 21 25 26; ...
1 8 18 21 25 26; 1 8 18 21 25 26; 1 8 18 21 25 26];
surf(X,Y,Z);
And suddenly it works :-)

More Answers (0)

Categories

Asked:

on 25 Apr 2018

Commented:

on 25 Apr 2018

Community Treasure Hunt

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

Start Hunting!