why is not possible to do the logic also why not display

1 次查看(过去 30 天)
Hi
I dont know why I cant display my logick code also an error message on it as well
>> u=symunit;
L= input('Lenght of the wind turbine blade in meter: ')*u.m;
L=unitConvert(L,u.mm);
W=8500*u.N;
E=42000 *u.N/u.mm^2;
I=10*(10^6)*u.mm^4;
D=vpa((W*L^3)/(8*E*I));
Limit= L*0.1;
if D<=Limit disp('Maximum deflexion is tolerable')
else disp('Maximum deflexion will be exceeded')
end
Lenght of the wind turbine blade in meter: 10
Conversion to logical from sym is not possible.

采纳的回答

madhan ravi
madhan ravi 2018-12-15
编辑:madhan ravi 2018-12-15
P.S - you get an error because L is of symbolic class because you have added (u.mm) unit which belongs symbolic math toolbox , just the numerical value should be used in the if statement , lookup removeUnits() but I guess it works only for user defined functions not for predefined functions.
You need to add tolerance to satisfy the condition because your D is a float number , type floating-point as a tag in this forum to understand more about working with float numbers
if abs(D-Limit)<=1e-4

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by