For the next code
syms phi
M=exp(pi*tand(phi))*(tand(45+phi/2))^2;
phi=10:0.5:12;
for i=1:size(phi,2)
N(i)=vpa(subs(M,phi(i)));
end
the output is
[ 10, 2.4714356250900329077526825288117]
[ 21/2, 2.5879028921290203959454380144457]
[ 11, 2.7101851281117024394027253294966]
[ 23/2, 2.8386049798657898988231385226601]
[ 12, 2.973505374766345410079490037392]
how i could change the format to look like?
[ 10, 2.471]
[10.5, 2.587]
...
[ 12, 2.973]
i try
format shortG
but i think calling vpa function don't recive the format style defined before.
Thank you.

2 Comments

Just for fun....
clc;
syms phi
M=exp(pi*tand(phi))*(tand(45+phi/2))^2;
phi=10:0.5:12;
for i=1:size(phi,2)
N(i)=subs(M,phi(i));
if mod(phi(i),1)==0
value=sprintf('%4d',phi(i));
else
value=sprintf('%4.1f',phi(i));
end
fprintf('%s,%6.3f\n',value,subs(M,phi(i)));
end

Sign in to comment.

 Accepted Answer

You could also round(x, 3) and use format shortG
format shortG;
syms phi
M=exp(pi*tand(phi))*(tand(45+phi/2))^2;
phi=10:0.5:12;
for i=1:size(phi,2)
N(i)=double(vpa(subs(M,phi(i))));
end

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Release

R2020a

Community Treasure Hunt

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

Start Hunting!