當前位置:編程學習大全網 - 編程語言 - matlab 的“>"為什麽會出錯

matlab 的“>"為什麽會出錯

" src="">

分類: 電腦/網絡 >> 程序設計 >> 其他編程語言

問題描述:

% Re-calculate example 5.3 on P.112 by AFOSM

Miu_W=10;

Sigma_W=0.4;

L=5;

Miu_E=2e7;

Sigma_E=0.5e7;

Miu_I=8e-4;

Sigma_I=1.5e-4;

syms W E I beta

g=L.*360-0.0069.*W.*L^4./(E.*I);

W_cos=-diff(g,W).*Sigma_W./sqrt((diff(g,W).*Sigma_W)^2+(diff(g,E).*Sigma_E)^2+(diff(g,I).*Sigma_I)^2);

E_cos=-diff(g,E).*Sigma_E./sqrt((diff(g,W).*Sigma_W)^2+(diff(g,E).*Sigma_E)^2+(diff(g,I).*Sigma_I)^2);

I_cos=-diff(g,I).*Sigma_I./sqrt((diff(g,W).*Sigma_W)^2+(diff(g,E).*Sigma_E)^2+(diff(g,I).*Sigma_I)^2);

% Iteration 1

W_star=Miu_W;

E_star=Miu_E;

I_star=Miu_I;

Arfa_W=subs(W_cos,{W,E,I},{Miu_W,Miu_E,Miu_I});

Arfa_E=subs(E_cos,{W,E,I},{Miu_W,Miu_E,Miu_I});

Arfa_I=subs(I_cos,{W,E,I},{Miu_W,Miu_E,Miu_I});

F=3000.*beta.*Arfa_W+4000.*beta.*Arfa_E+750.*beta^2.*Arfa_W.*Arfa_E-124.2.*beta.*Arfa_I+12895;

beta1=solve(F,beta);

beta_s=beta1(1);

for i=2:1000

W_star=Miu_W+Arfa_W.*beta_s.*Sigma_W;

E_star=Miu_W+Arfa_E.*beta_s.*Sigma_E;

I_star=Miu_W+Arfa_I.*beta_s.*Sigma_I;

Arfa_I=subs(I_cos,{W,E,I},{W_star,E_star,I_star});

Arfa_E=subs(E_cos,{W,E,I},{W_star,E_star,I_star});

Arfa_w=subs(W_cos,{W,E,I},{W_star,E_star,I_star});

F=3000.*beta.*Arfa_W+4000.*beta.*Arfa_E+750.*beta^2.*Arfa_W.*Arfa_E-124.2.*beta.*Arfa_I+12895;

beta2=solve(F,beta);

beta(i)=beta2(1);

p=abs(beta(i)-beta_s);

if p>1e-4;

beta_s=beta(i);

break

end

Pf=norminv(-beta(i),0,1);

disp('W_star','E_star','I_star','beta2(1)','Pf')

end

這是我編的程序,到>這塊卻出錯了!!!

想知道為什麽,謝謝大家的幫助!感激!

解析:

把p從sym變量轉換為數值變量即可。

原來:p=abs(beta(i)-beta_s);

現在:p=eval(abs(beta(i)-beta_s));

  • 上一篇:軍用機器人的程序變異
  • 下一篇:自主招生的條件和結果
  • copyright 2024編程學習大全網