How to plotting symbolic solution over range?
4 ビュー (過去 30 日間)
古いコメントを表示
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/316038/image.png)
syms y(x)
ode = x * diff(y, x) == (50) * x * diff(y, x, 2) - (40.3) * x + (101); % DE shown above.
x_dot = dsolve(ode);
plot(195, x_dot)
The value (101) changes with frequency, but I've simplified the equation for minimalism.
I'm trying to plot x_dot vs frequency, but I get:
>> Input must be a function or functions of a single variable.
How can I plot this?
1 件のコメント
KSSV
2020 年 6 月 15 日
x_dot will be a symbolic expression with x and has two constants C1, C2. You cannot plot using plot.
回答 (1 件)
Ameer Hamza
2020 年 6 月 15 日
編集済み: Ameer Hamza
2020 年 6 月 15 日
There is a mistake in the writing of the equations. Also, you need to specify initial conditions to solve for the constant of integrations. Try following code
syms y(x)
dy = diff(y, x, 1);
dy2 = diff(y, x, 2);
ode = dy == (50) * dy2 - (40.3) * x + (101); % DE shown above.
ic = [y(0)==1, dy(0)==0]; % initial conditions
y_sol(x) = dsolve(ode, ic);
fplot(y_sol, [0 10])
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/316077/image.png)
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Calculus についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!