if 0<theta<180, x=C*A
else xx=CC*AA
end
Undefined function or variable 'A'.
Error in DynamicsProject (line 60)
if 0<theta<180, x=C*A

 採用された回答

Star Strider
Star Strider 2016 年 6 月 17 日

1 投票

It is asking you to define variable ‘A’.
That aside, the if condition should be defined as:
if (0 < theta) & (theta < 180)
There is not enough information presented to allow a more detailed Answer.
There’s quite likely a more efficient way to do what you want to do, if we have the necessary information to help you do it.

4 件のコメント

Emily Gobreski
Emily Gobreski 2016 年 6 月 17 日
編集済み: Star Strider 2016 年 6 月 17 日
Thank you for your help. I have included the rest of my code. (I keep getting scolded for posting it so i was trying to be concise)
theta=30
sign=(cosd (theta)/abs (cosd (theta)))
u=.8
w=(2*pi/5)
R=1
c=4.05/12
H=18/12
y=H-(R*sind(theta/2))
Md=50/32.2
Id=(.5*Md*R^2)
Mp=75/32.2
Mb=30/32.2
alpha=0
u=.8
L=(6/12*R)
g=32.2
ax=(-R*w^2)*cosd(theta)
ab=(-R*w^2*cosd(theta))-(R*w^2*sind(theta))
ay=(-R*w^2)*sind(theta)
a=[1 0 1 0 0 0 0 0 0 0 0; 0 1 0 1 0 0 0 0 0 0 0; 0 0 -R*sind(theta) R*cosd(theta) 0 0 0 0 0 0 1; 0 0 0 0 1 0 1 0 0 0 0; 0 0 0 0 0 1 0 1 0 0 0; 0 0 0 0 -R*sind(theta) R*cosd(theta) 0 0 0 0 0; 0 0 -1 0 -1 0 0 0 (4*abs(sign)) 0 0; 0 0 0 -1 0 -1 0 0 (-4*u*sign) 0 0; 0 0 -c (3*R) -c (-3*R) 0 0 (-4*(y-c)) 0 0; 0 0 0 0 0 0 0 0 -sign u*sign 0; 0 0 0 0 0 0 0 0 (-u*sign) 1 0]
C=[0 Md*g Id*alpha 0 Md*g Id*alpha Mp*ax Mp*ay+Mp*g 0 Mb*ab Mb*g]
x=C/inv(a)
theta=120
sign=(cosd (theta)/abs (cosd (theta)))
u=.8
w=(2*pi/5)
R=1
c=4.05/12
H=18/12
y=H-(R*sind(theta/2))
Md=50/32.2
Id=(.5*Md*R^2)
Mp=75/32.2
Mb=30/32.2
alpha=0
u=.8
L=(6/12*R)
g=32.2
ax=(-R*w^2)*cosd(theta)
ab=(-R*w^2*cosd(theta))-(R*w^2*sind(theta))
ay=(-R*w^2)*sind(theta)
AA=[1 0 1 0 0 0 0 0 0; 0 1 0 1 0 0 0 0 0; 0 0 -R*sind(theta) R*cosd(theta) 0 0 0 0 0; 0 0 0 0 1 0 1 0 0; 0 0 0 0 0 1 0 1 0; 0 0 -1 0 -1 0 0 0 0; 0 0 -c 3*R -c -3*R 0 0 0; 0 0 0 0 0 0 0 0 0; 0 0 0 0 0 0 0 0 0]
CC=[0 Md*g Id*alpha 0 Md*g Id*alpha Mp*ax Mp*ay+Mp*g Mb*g]
xx=CC*AA
if 0<theta<180, x=C*A
else xx=CC*AA
end
Star Strider
Star Strider 2016 年 6 月 17 日
With the if condition I mentioned:
if (0 < theta) & (theta < 180)
your code runs for me without error.
I will let you determine if it produces the correct results.
Emily Gobreski
Emily Gobreski 2016 年 6 月 17 日
It works! thank you so much!
Star Strider
Star Strider 2016 年 6 月 17 日
My pleasure!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Startup and Shutdown についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by