Effacer les filtres
Effacer les filtres

calculate differentiation with large coefficient

1 vue (au cours des 30 derniers jours)
Cholisina
Cholisina le 9 Mar 2023
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 = 

Réponses (3)

Dyuman Joshi
Dyuman Joshi le 9 Mar 2023
Modifié(e) : Dyuman Joshi le 9 Mar 2023
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
Sulaymon Eshkabilov le 9 Mar 2023
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 le 9 Mar 2023
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:

Catégories

En savoir plus sur Formula Manipulation and Simplification dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by