Incorrect dimensions for raising a matrix to a power. Check that the matrix is square and the power is a scalar. To perform elementwise matrix powers, use '.^'.
1 view (last 30 days)
Show older comments
clear
clc
wn = 150;
w = 3.142;
wb = 0.50;
req = 2.75E09;
rl = 2e09;
d = 390E-12;
omega = 0:0.02:20;
b = 0.0111;
cp = 22.74E-09;
ke = 1.286;
meff = 0.0025;
r = wn*req*cp;
den1 = (1-(1+2*b*r)*(omega.^2))^2;
den2 = ((1+ke)*r*omega+2*b*omega-r*omega.^3)^2;
wnum = 1/(wn^2*sqrt(1+(r*omega)^2));
vnum = meff*req*d*wn*omega;
Pout = meff*b*r*ke*(omega.^2)*w^4
Hi all,
I'm trying to plot wnum, vnum and pout against omega but, I'm getting the error stated in the title. I do use the '.^' but, i'm still getting the same error, is there a workaround i could use?
Many thanks,
Zain
0 Comments
Accepted Answer
Jon
on 1 Dec 2020
Edited: Jon
on 1 Dec 2020
You need to use .^ for all of your powers. Also ./ for your divide, like this
clear
clc
wn = 150;
w = 3.142;
wb = 0.50;
req = 2.75E09;
rl = 2e09;
d = 390E-12;
omega = 0:0.02:20;
b = 0.0111;
cp = 22.74E-09;
ke = 1.286;
meff = 0.0025;
r = wn*req*cp;
den1 = (1-(1+2*b*r)*(omega.^2)).^2;
den2 = ((1+ke)*r*omega+2*b*omega-r*omega.^3).^2;
wnum = 1 ./(wn.^2*sqrt(1+(r*omega).^2));
vnum = meff*req*d*wn*omega;
Pout = meff*b*r*ke*(omega.^2)*w.^4
More Answers (0)
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!