如何才能正确运行,总有错误,请指教,谢谢
本帖最后由 sd5060072 于 2011-10-30 06:42 编辑异步电机的Park转换,应用matlab
错误提示
???In an assignmentA(I) = B, the number of elements in B and
I must be the same.
Error in ==> projet at 18
Disd(k)=(a*isd+b*ird+c*w*isq+d*w*irq+g*cos(ws*t)+e*cos((ws+w)*t))*dt;
请高手帮忙改正,谢谢 a=21.06;
b=-18.95;
c=-4.26;
d=-4.74;
V=410;
e=-94.74*V*sqrt(3);
f=5.27;
g=105.3*V*sqrt(3);
ws=100*pi;
h=(3*0.045)/0.018;
L=0.05;
R=0.2;
Tau=L/R;
dt=Tau/1000;
t=0:dt:5*Tau;
isd(1)=0;ird(1)=0;isq(1)=0;irq(1)=0;w(1)=0;
fork=1:5000;
Disd(k)=(a*isd+b*ird+c*w*isq+d*w*irq+g*cos(ws*t)+e*cos((ws+w)*t))*dt;
Dird(k)=(b*isd+a*ird-d*w*isq+f*w*irq+e*cos(ws*t)+g*cos((ws+w)*t))*dt;
Disq(k)=(-c*w*isd-d*w*ird+a*isq+b*irq-g*sin(ws*t)-e*sin((ws+w)*t))*dt;
Dirq(k)=(d*w*isd-f*w*ird+b*isq+a*irq-e*sin(ws*t)-g*sin((ws+w)*t))*dt;
Dw(k)=(h*(isq*ird-isd*irq)+0.6/0.018+(0.00035/0.018)*w^2)*dt;
isd(k+1)=isd(k)+Disd(k);
ird(k+1)=ird(k)+Dird(k);
isq(k+1)=isq(k)+Disq(k);
irq(k+1)=irq(k)+Dirq(k);
w(k+1)=w(k)+Dw(k);
end
plot(t,isd);
xlabel('vitesse de rotation (trs/mn)');
ylabel('couple (Nm)');
grid; 上面的是我写的,错误不知道如何改正,求助 矩阵不符合乘法规则 回复 4# lilybunny
我其实算是个新手,所以我看不出哪的问题,正如你所说,不符合规则,可是在哪呢,怎么改正,您知道吗,可能的话,多指教指教,谢谢 你要求画出对应t的isd(i)
应该在循环内用plot(t(K),isd(k)),
然后加hold on 如果在循环外画,不能识别
页:
[1]