calculate differentiation with large coefficient

1 次查看(过去 30 天)
Please help me
I'm trying to solve differential equation with this script using diff, but the coefficient result appear as a big series of number. How can I simplified it the coefficient?
omeganol=2.5;
E=50;
I=30;
L=600;
syms x
y=omeganol/(120*E*I*L)*(-x^5+2*600^2*x^3-600^4*x)
y = 
ydif=diff(y)
ydif = 

回答(3 个)

Dyuman Joshi
Dyuman Joshi 2023-3-9
编辑:Dyuman Joshi 2023-3-9
Use sym() to get accurate values.
The ideal approach would be to use sym() on every unique number.
omeganol=2.5;
E=50;
I=30;
L=600;
syms x
y=omeganol/sym(120*E*I*L)*(-x^5+2*600^2*x^3-600^4*x)
y = 
ydif=diff(y)
ydif = 

Sulaymon Eshkabilov
Here is a bit improved solution:
omeganol=2.5;
E=50;
I=30;
L=600;
syms y(x)
y(x)=vpa(omeganol/(120*E*I*L)*(-x^5+2*600^2*x^3-600^4*x))
y(x) = 
ydif=diff(y(x))
ydif = 

Arka
Arka 2023-3-9
Hi,
MATLAB offers a function named simplify, which can help simplify different algebraic expressions.
omeganol=2.5;
E=50;
I=30;
L=600;
syms x
y1=simplify(omeganol/(120*E*I*L)*(-x^5+2*600^2*x^3-600^4*x))
y1 = 
y=omeganol/(120*E*I*L)*(-x^5+2*600^2*x^3-600^4*x)
y = 
Since the fraction is irrational, MATLAB prefers keeping it in the fraction form instead of converting it to scientific notation.
If you wish to learn more about simpliy, please refer to the MathWorks documentation below:

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by