Data dimensions must agree

10 次查看(过去 30 天)
i have a function z which has two variables x and y. z , x and y are vectors of length 20. While plotting a function, MATLAB says that 'Data dimensions must agree'. Using the commands
x=PitchAngle;
y=TipSpeedRatio;
[xx,yy]=meshgrid(x,y);
zz=PowerCoefficient;
z=reshape(zz,[5,4])
mesh(x,y,z)
I dont know whether i am using the right command. Please lead me to the right way. Thankyou
  1 个评论
Asif Rashid
Asif Rashid 2020-7-18
z=reshape(zz,[5,4])
converts vector into a matrix as MATLAB needs z to be a matrix not a vector

请先登录,再进行评论。

采纳的回答

madhan ravi
madhan ravi 2020-7-18
编辑:madhan ravi 2020-7-18
x = reshape(x, 1, []);
y = reshape(y, 1, []);
[xx, yy]=meshgrid(x,y);
z = repmat(zz(:), 1, size(xx, 2));
mesh(xx, yy, z)
  4 个评论
Asif Rashid
Asif Rashid 2020-7-18
Thankyou Sir. It worked
Asif Rashid
Asif Rashid 2020-7-20
Sir i i want to change the axis so when i wrote this code
x=reshape(TipSpeedRatio,1,[]);
y=reshape(PitchAngle,1,[]);
[xx,yy]=meshgrid(x,y);
z = repmat(PowerCoefficient(:), 1, size(xx, 2));
mesh(xx,yy,z)
I cant plot the figure successfully. untill command
z = repmat(PowerCoefficient(:), 1, size(xx, 2));
the code is running successfully but when i write
mesh(xx,yy,z)
i see the error that
Z must be a matrix, not a scalar or vector.
how may i fix this error. please guide

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by