error using double(subs())
    4 次查看(过去 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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!