Hi,
how can I change format of sym number? For example:
a=sym(2.34353453465464);
b=sym(4.6546455789879324352);
format short
c=a*b
Format short doesn't work.
Thanks

1 个评论

also note, b is converted to double before sym and some precision is lost

请先登录,再进行评论。

 采纳的回答

Andrew Newell
Andrew Newell 2012-3-1

1 个投票

Use vpa, e.g.,
c = vpa(a*b,4)

11 个评论

john
john 2012-3-1
big thanks
john
john 2012-3-6
Hi, I have problem with my code: vpa works for "result", but I need show result in the uitable1, but for "res" command vpa doesn't work.
matrix=[A B;C D]
a=simple(matrix\X);
b=sym(a)
result=vpa(b,4)
f=size(result);
for i=1:f(1);
for j=1:f(2);
res(i,j)=cellstr(char(result(i,j)));
end
end
set(handles.uitable1,'Data',res);
I suggest you make a new question of this.
john
john 2012-3-6
Hi,
if a=vpa(sym('ddddddd'),3), result is ddddddd
if a=vpa(sym('-ddddddd'),3) result is -1.0*ddddddd, but I don't like it, I would like have -ddddddd..
it is possible?
I can't reproduce your result. If I type
vpa('1.234567',3)
vpa('-1.234567',3)
I get 1.23 and -1.23.
john
john 2012-3-6
You result is OK, but try it for symbolic objects for example vpa(sym('ddddddd'),3)......result is -1.0*ddddddd,,,,,or you have different result?
I added sym() and the result was the same. What version of MATLAB are you using?
john
john 2012-3-6
7.12.0.635 (R2011a), and you?
Did you try with vpa(sym('-ddddddd'),3) also?
MuPAD's unary minus gets converted automatically to -1 times the value, and there is no way to stop that conversion.
Overriding MuPAD's pretty-printer formatting for an expression is not much fun.
john
john 2012-3-6
ok,
thank you again
I was using the Maple Toolbox.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by