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일

0 개 추천

After the loops:
T = vpa(T)
creates the entire array as decimal fractions.

댓글 수: 5

That did the trick, thank you, @Star Strider!!
As always, my pleasure!
To write ‘T’ to an Excel file:
OutMatrix = double(T);
writematrix(OutMatrix, 'Rose Montgomery T.xlsx')
and to read it:
InMatrix = readmatrix('Rose Montgomery T.xlsx')
.
Thanks again, Star Strider!!
As always, my pleasure!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품

릴리스

R2020b

태그

질문:

2021년 1월 13일

댓글:

2021년 1월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by