ODE symbolic result plotting with fplot()
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
M.Many
am 28 Nov. 2020
Kommentiert: Star Strider
am 28 Nov. 2020
Hello,
So I am trying to solve an ODE using the symbolic toolbox.
syms phi(t) g l d m
dphi = diff(phi,t); % Derivative of phi(t)
phi(t) = dsolve(diff(phi,t,t)== -g/l*phi-d/(m*l^2)*diff(phi,t),... % ODE (governing the movement of a pendulum)
phi(0) ==1,... % Initial condition 1
dphi(0)==0) % Initial condition 2
phi(t) = subs(phi(t),{l,m,g,d},{10,5,9.81,50}) % Replacing with known values
fplot(phi,[1 100]) % symbolic plotting between 1 and 100 s
I get the expected result but when I plot it, I get numerous vertical lines that add noise to my plot and it is almost unreadable. I am using Matlab on a Mac. How do i get rid of those lines ?![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/432643/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/432643/image.jpeg)
0 Kommentare
Akzeptierte Antwort
Star Strider
am 28 Nov. 2020
I am not certain what the problem is with the original function.
If you simplify it first:
phi = vpa(simplify(phi, 'Steps',500),5)
the vertical lines (indicating infinite results) disappear. (I use vpa here to shorten the output so I can see all of it. It is not necessary for the code.)
8 Kommentare
Star Strider
am 28 Nov. 2020
The vpa function converts fractions to their decimal-fraction equivalents, so there can be approximation errors in the conversion of finite fractions to finite decimal fractions. Nevertheless, the fractions retain their full internal precision, and the results of vpa retains its full internal precision. Because of the conversion, the original fractions and the decimal equivalents are not absolutely the same.
So
will always be the same, however
(however many finite terms it uses) will never be exactly equal to it.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/432873/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/432878/image.png)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!