How to plotting symbolic solution over range?

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 个评论

x_dot will be a symbolic expression with x and has two constants C1, C2. You cannot plot using plot.

请先登录,再进行评论。

回答(1 个)

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])

类别

在 帮助中心 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品

版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by