How do I convert fractional display to decimal display ?

264 次查看(过去 30 天)
I am getting bunch of fractional values in my output matrix and I have other matrixes outputting the same way as this one. I cannot find a way to change it to decimal notation, something like 1.678.

采纳的回答

Steven Lord
Steven Lord 2021-3-22
Call double or vpa on your symbolic variable.
  6 个评论
Ibrahim A
Ibrahim A 2021-3-22
I use this function to find the integral of 1, I think this is what you mentioned above. Is this the problem?
j1(t) = (j_max * (t.^0))
qdd(t) = vpa(int(j1,t))
Steven Lord
Steven Lord 2021-3-22
two = sym(2);
sqrt2 = sqrt(two)
sqrt2 = 
V = vpa(sqrt2)
V = 
1.4142135623730950488016887242097
D = double(sqrt2)
D = 1.4142
whos two sqrt2 V D
Name Size Bytes Class Attributes D 1x1 8 double V 1x1 8 sym sqrt2 1x1 8 sym two 1x1 8 sym
V, sqrt2, and two are all sym. So in the code below the line assigning to f(t) creates a symbolic function:
syms t
f(t) = V
f(t) = 
2.6651441426902251886502972498731
D is a double. In the code below assigning to g(t) attempts to store D in element t of the array g.
g(t) = D
Error using sym/subsindex (line 864)
Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be symbolic variables, and function body must be sym expression.
Compare:
qdd(t) = V % works
qdd(t) = D % errors

请先登录,再进行评论。

更多回答(1 个)

Bjorn Gustavsson
Bjorn Gustavsson 2021-3-22
You might have set format to rat somewhere, perhaps in a startup.m or the like. You could get back to more normal decimal output by something like this:
format short g
For additional options check the help and documentation to format.
HTH
  1 个评论
Ibrahim A
Ibrahim A 2021-3-22
Unfortunately, didn't work. I also tried to change the format on preferences -> matlab -> command window -> numeric format (Short g, compact), that also didn't work. I should also mention that I am using symbolic math toolbox, I don't know if it is related or not. But thank you for your answer.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Numbers and Precision 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by