calculate differentiation with large coefficient

2 ビュー (過去 30 日間)
Cholisina
Cholisina 2023 年 3 月 9 日
編集済み: Dyuman Joshi 2023 年 3 月 9 日
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 = 

採用された回答

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023 年 3 月 9 日
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 = 

その他の回答 (2 件)

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 = 

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 Center および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by