error using double(subs())
36 次查看(过去 30 天)
显示 更早的评论
Hello!
% full code please see EUfin_compute.m
syms x1 x2 x3 x4
EUfinsym=(10000*((1051*x3)/20000 + (1051*x4)/5000)*((1051*x3)/40000 + (1051*x4)/10000)*((23*((1051*x3)/20000 + (1051*x4)/5000)*((1051*x3)/40000 +.....
temp1=vpa(subs(EUfinsym, [x1 x2 x3 x4], [0.3 0.1 0.4 0.2]),6);
EUfin=double(temp1);
I got an error, how did that happen?
Error using symengine
Unable to convert expression into double array.
Error in sym/double (line 672)
Xstr = mupadmex('symobj::double', S.s, 0);
0 个评论
采纳的回答
Aiswarya Subramanian
2019-7-4
Hello Alice,
double() cannot be used to convert symbolic expressions. You can instead use vpa() (Variable-Precision Arithmetic). Can you try the following and see if the error still persists?
EUfin=vpa(temp1);
You can also change the precision of vpa() by adding a second Argument to specify the amount of significant Digits. I hope this helps you!
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Assumptions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!