Matrix dimensions must agree.

1 visualización (últimos 30 días)
mohamed saber
mohamed saber el 28 de Mzo. de 2012
where is the error please ???
clear,clc
cp=1005;
r=287;
d=1.2;
v=300;
tx=284;
px=98;
to=298;
py=100:200;
a1=((d*v*r).^2)./(2*cp.*py);
a2=1;
a3=-to;
p=[a1 a2 a3];
ty=roots(p);
ds=(cp.*log(ty./tx))-(r.*log(py./px));

Respuestas (4)

Sean de Wolski
Sean de Wolski el 28 de Mzo. de 2012
Error using - Matrix dimensions must agree. That is an error with '-' (minus). Going to the only minus:
Compare sizes:
(r.*log(py./px))
and
(cp.*log(ty./tx))
There is your problem.

Walter Roberson
Walter Roberson el 28 de Mzo. de 2012
roots() returns a column vector, but everything else is a row vector.
Your a1 vector is the same length as py, but when you put a2 and a3 on the end of that, your p vector becomes 2 elements longer than py. roots() returns a vector one element shorter than its input vector, so roots() is going to return a vector one element longer than py. You then try to subtract between that vector of length of py + 1 and the vector of length of py.
  2 comentarios
mohamed saber
mohamed saber el 28 de Mzo. de 2012
what about that ??
clear,clc
cp=1005;
r=287;
d=1.2;
v=300;
tx=284;
px=98;
to=298;
py=100:200;
a1=((d*v*r).^2)./(2*cp.*py);
a2=1;
a3=-to;
p=[a1 a2 a3];
ty=roots(p);
Ty=ty(1:end-1);
ds=(cp.*log(Ty./tx))-(r.*log(py./px));
Walter Roberson
Walter Roberson el 28 de Mzo. de 2012
Ty=ty(1:end-1) .';
in order to get the row vector you need.

Iniciar sesión para comentar.


mohamed saber
mohamed saber el 29 de Mzo. de 2012
could you please write the syntax ???

Andrei Bobrov
Andrei Bobrov el 29 de Mzo. de 2012
cp=1005;
r=287;
d=1.2;
v=300;
tx=284;
px=98;
to=298;
py=(100:200).';
a1=((d*v*r).^2)./(2*cp.*py);
a2=1;
a3=-to;
p=[a1; a2; a3];
ty=roots(p);
Ty=ty(1:end-1);
ds=(cp.*log(Ty./tx))-(r.*log(py./px));

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by