我怎么能使用小数显示符号表达式而不是理性的分数?

453(30天)
你好,
当我表达符号表达式用符号十进制值,我经常得到非常大的分数。因为结果不是常数,我不能使用双()来评估结果作为一个小数。sym2poly()在大多数情况下工作,但有一天,我可能需要评估一个长表达式,并不是一个多项式。我也试过信谊(表情,' d '),但这并不适用于非数字输入。有一些方法来显示符号表达式使用小数?
谢谢!
例子:
信谊SIG_X SIG_Y SIG_Z
S_bar = [(0.78, -0.35, -0.38), (-0.35, 0.78, -0.38), (-0.38, -0.38, 0.92)];% (Pa)
α= (-0.018,24.3,24.3)* 10 ^ 6;% (/ C)
压力= [SIG_X; SIG_Y SIG_Z];
dT = 25;
应变压力+α= S_bar * * dT的;
disp(应变)
结果:
(39 * SIG_X) / 50 - (7 * SIG_Y) / 20 - 50 (19 * SIG_Z) / 8500259669165361/18889465931478580854784
(39 * SIG_Y) / 50 - (7 * SIG_X) / 20 - (19 * SIG_Z) 5603198512389277/9223372036854775808 / 50 +
(23 * SIG_Z) / 25 - (19 * SIG_Y) / 50 - (19 * SIG_X) 5603198512389277/9223372036854775808 / 50 +
预期的结果:
0.78 * SIG_X - 0.35 * SIG_Y - 0.38 * SIG_Z - 4.5 e-07
0.78 * SIG_Y - 0.35 * SIG_X e-04 6.075 - 0.38 * SIG_Z +
0.92 * SIG_Z - 0.38 * SIG_Y e-04 6.075 - 0.38 * SIG_X +

接受的答案

米金
米金 2015年2月27日
丹尼斯,你可以使用类似
vpa(压力,5)
13个评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年4月24日
当你vpa(应变)那是一样的vpa(应变、数字())——它的vpa的数量设置默认的数字,而不是做一个不同的操作。

登录置评。

答案(1)

Nitesh卡纳
Nitesh卡纳 2020年7月27日
编辑:Nitesh卡纳 2020年7月27日
我们可以声明变量矩阵的“实数”。如果,y,那么如何声明变量矩阵A的“实数”
A =[[信谊(“S_x”, [N 3])符号(“S_y”, [N 3]))

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的