Data dimensions must agree

15 visualizzazioni (ultimi 30 giorni)
Asif Rashid
Asif Rashid il 18 Lug 2020
Commentato: Asif Rashid il 20 Lug 2020
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 Commento
Asif Rashid
Asif Rashid il 18 Lug 2020
z=reshape(zz,[5,4])
converts vector into a matrix as MATLAB needs z to be a matrix not a vector

Accedi per commentare.

Risposta accettata

madhan ravi
madhan ravi il 18 Lug 2020
Modificato: madhan ravi il 18 Lug 2020
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 Commenti
Asif Rashid
Asif Rashid il 18 Lug 2020
Thankyou Sir. It worked
Asif Rashid
Asif Rashid il 20 Lug 2020
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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by