How to plotting symbolic solution over range?

42 次查看(过去 30 天)
Keith Grey
Keith Grey2020-6-15
编辑: Ameer Hamza ,2020-6-15
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
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])




Community Treasure Hunt

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

Start Hunting!

Translated by