看板 MATLAB 關於我們 聯絡資訊
以下是我的程式碼 =========================================================================== theta=60 ; a=1 ; epsd=11; for x=-a*cosd(theta/2):0.01:a*cosd(theta/2) for y=-x*tand(theta/2):0.01:x*tand(theta/2) R=ROU(x,y); F=atand(y/x); EROU=5; EFI=6; BROU=7; BFI=8; Txx=(EROU^2*((cosd(F)^2)-(sind(F)^2))+EFI^2*((sind(F)^2)-(cosd(F)^2)))*epsd/2+BROU^2*((cosd(F)^2)-(sind(F)^2))/2+BFI^2*((sind(F)^2)-(cosd(F)^2))/2 ; syms F forcex= double(int(Txx*cosd(F)*(R^2)*0.5,F,0,2*pi)) end end ============================================================================ 抱歉對程式還不太熟 主要的問題是最下面兩行積分的問題 這樣的code會出現錯誤訊息 : Error using cosd at 16 ! Ardument should be real ! 不能run 的原因出現在於 cosd(F) 如果把最後一行積分中的 cosd(F) 去掉! 就可以run了 我想應該是前一行 syms宣告的問題!! 宣告之前的 cos(F) sin(F)都沒問題 但是我不會修改 請前輩指導一下我現在如何求出我想要的積分值forcex 應該如何改? 感謝!!! -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.39.182