Output numeric array from symbolic evaluation

2 次查看(过去 30 天)
I am trying to evaluate some symbolic functions at specific datapoints using nested loops and output the results to an array.
While the results in the output window are the numeric values, the array contents are not.
How can I correct this to get the numeric results in the array?
syms d1 d2 d3 ma mb x0 u3 u4;
ma = (d2-d1);
mb = (d3-d2);
x0 = ma*mb;
u3 = diff(x0,d3)
u4 = diff(x0,d2)
T = [];
next = 1;next1 = 1;next2=1;
for next2 = 1:35:5;
for next = 1:4;
%example values
b1 = 1*next/2;
b3 = b1+2;
for next1 = [0.05,0.1,0.4,0.65,0.9];
b2 = b1*next1;
z=vpa(subs(u3,{d1,d2,d3},{b1,b2,b3}),4)
g=vpa(subs(u4,{d1,d2,d3},{b1,b2,b3}),4)
T = [T;b1,b2,b3,z,g];
end
end
end
T
  1 个评论
Rose Montgomery
Rose Montgomery 2021-1-13
编辑:Rose Montgomery 2021-1-13
Follow up for Star Strider - now how do I get T into Excel? I tried array2table with no luck.
Never mind, I got it....use double to convert T from vpa to numbers

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2021-1-13
After the loops:
T = vpa(T)
creates the entire array as decimal fractions.
  5 个评论

请先登录,再进行评论。

更多回答(0 个)

标签

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by