My code continuously giving this error( Error using ./ Matrix dimensions must agree. Error in Untitled14 (line 16) k = zeta*(w./wd); )

zeta = g * q;
j= 1-power(zeta,2);
wd = w*power(j,1/2);
r=w./wd;
k = zeta*r;
l=k*sin(wd*t);
m=cos(wdt) + l;
n= - zeta*w*t;
p = 1 - exp(n)*(m);
plot (p)

4 个评论

That line, k = zeta*(w./wd); does not appear in your posted code.
It is difficult for us to debug this without knowing the size() of each of the variables.
basically this is the full code and the problem in variable "r" r=w./wd; and cant we assume the maximum size of the variable?
filename = 'datacollect2.xlsx';
num = xlsread(filename,'B1:B60');
w = num/60;
N = length(num);
t = 1/w;
s = xlsread(filename,'B3:B3');
xt= s;
g = 1/N;
i = xt + num;
h = xt/ i ;
ln=@log;
q=ln(h);
zeta = g * q;
j= 1-power(zeta,2);
wd = w*power(j,1/2);
r=w./wd;
k = zeta*r;
l=k*sin(wd*t);
m=cos(wdt) + l;
n= - zeta*w*t;
p = 1 - exp(n)*(m);
plot (p)
filename = 'datacollect2.xlsx';
num = xlsread(filename,'B1:B60');
w = num/60;
N = length(num);
t = 1/w;
s = xlsread(filename,'B3:B3');
xt= s;
g = 1/N;
i = xt + num;
h = xt/ i ;
ln=@log;
q=ln(h);
zeta = g * q;
j= 1-power(zeta,2);
wd = w*power(j,1/2);
r=w./wd;
k = zeta*r;
l=k*sin(wd*t);
m=cos(wdt) + l;
n= - zeta*w*t;
p = 1 - exp(n)*(m);
plot (p)
Error using ./ Matrix dimensions must agree.
Error in Untitled14 (line 16) r=w./wd;

请先登录,再进行评论。

 采纳的回答

You are using the / operator in several places. In MATLAB, A/B is more or less the same as A * pinv(B) . 1/w where w is 60 x 1, gives you a 1 x 60 result. Likewise, h = xt/ i where i is 60 x 1, gives you a 1 x 60 result. You then end up working with this mix of 60 x 1 and 1 x 60 and you end up with trying to combine arrays in the wrong way.
>> 1/[2;4;3]
ans =
0 0.25 0
Notice the output is a row vector for a column vector divisor.
If you would need the answer [0.5; 0.25; 0.3333] (column vector, individual divisions) instead for this calculation, then you need to use the ./ operator

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by