clear;clc;xx=[];yy=[];zz=[];%有數(shù)值的變量syms Ceq Reqt=1;Eeq=1485;Leq=30*(10^(-6));Irmz=1596;Tao=41*(10^(-6));%含有未知量的變量We=sqrt(Leq*Ceq');W=We.^(-1);P=Req/(2*Leq);B=sqrt(W.^2 - P.^2);g=(Tao*(Tao-(2*P./W.^2))*Irmz)./(Tao*(Tao-(2*P./W.^2))+(1./W.^2));A1=Irmz-g;A2=-(P*(Irmz-g)+Eeq/Leq+g/Tao)/B;K=P/W;for Ceq = 0:0.01*10^(-5):5*10^(-5)for Req = 0:0.01:5[Ceq,Req]=meshgrid(Ceq,Req);%因變量Vd=Eeq+Leq*((P*A1-B*A2)*cos(B*t))+(B*A1+P*A2)*sin(B*t)*exp(-P*t)+(Leq*g*exp(-t/Tao)/Tao);xx=[xx,Ceq];yy=[yy,Req];zz=[zz,Vd];endendsurf(xx,yy,zz);xlabel('Ceq')ylabel('Req')zlabel('Vd')
1 回答

拉莫斯之舞
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊
matlab代碼出錯(cuò) 說Z必須是矩陣 不能是矢量?其原因是
Vd是sym型數(shù)據(jù),而不是數(shù)值型數(shù)據(jù)。所以題主用雙循環(huán)語句來求Vd的思路是對的,但處理的方法欠妥,應(yīng)該這樣來寫
1、Ceq,Req單獨(dú)取值,即
Ceq = 0:0.01*10^(-5):5*10^(-5)
Req = 0:0.01:5
2、使用meshgrid函數(shù),進(jìn)行數(shù)據(jù)網(wǎng)格化,即
[Ceq0,Req0]=meshgrid(Ceq,Req);
3、使用for雙循環(huán)語句,求解Vd值,并賦值給zz數(shù)組變量。
4、按上述要求修改,運(yùn)行可以得到如下圖形結(jié)果。
- 1 回答
- 0 關(guān)注
- 83 瀏覽
添加回答
舉報(bào)
0/150
提交
取消