MATLAB Solving a Second Order Nonlinear Differential Equation with Matlab

  • Thread starter Thread starter dmg_80
  • Start date Start date
AI Thread Summary
The discussion revolves around a graduate student's need for assistance in solving a second-order nonlinear differential equation using MATLAB. The equation is defined as x'' + x = sin(wt) + s(x), where s(x) represents a saturation function. The student seeks guidance on transforming the equation into a system of first-order equations, using MATLAB's ode45 solver, and plotting the results as a function of the variable w. Responses emphasize the importance of consulting MATLAB's documentation, which contains detailed instructions and examples relevant to the student's queries. Some contributors express frustration at the student's lack of familiarity with MATLAB, suggesting that the documentation could provide the necessary answers. The student, however, highlights language barriers and time constraints in learning MATLAB, seeking more direct assistance rather than general advice.
dmg_80
Messages
5
Reaction score
0
someone helps me please!

Hello all,

This is the first time I've stumbled across this site, but it appears to be extremely helpful. I am an elettronic engineering grad student, and in my research, I have run across the following 2nd order non linear differential equation. It is of the form:

x'' + x = sinwt + s(x)

where s(x) = abs(5*x+1)-abs(5*x-1) (saturation)
and t=(0 2000)
and w=[0:0.001:2.^0.5] (it's a variable )

My questions are :
1) How can I write and solve this problem using Matlab ?
2) How can I plot this differential equation as a function of w ?
after the plot, How can I find the max Local (Relative) Maxima and put these results in another graph always considering them as a function of w ?

I hope there's someone who helps me...
thanks
 
Physics news on Phys.org
If you wanted to know how to solve that equation, I could tell you. Unfortunately, I know nothing about using Matlab.
 
HallsofIvy said:
If you wanted to know how to solve that equation, I could tell you. Unfortunately, I know nothing about using Matlab.

Thank you...but i have to solve this problem only using matlab...
 
Hey

First you need to transform your problem to a system of (two) first order differential equations by the substitution
x_{1}=x
and
x_{2}=x'

You will then get a problem of the type
x'_{1}=x_{2}, x'_{2}=f(x)


After that create a m-file containing

function xprim=xprim(t,x)
xprim=[x_2;f(x)]​

When try to use the function ode45 or some other solver to solve problem.
and use plot to plot the result
 
I have another problem :
I have to find, after solving that differential equation,a vector based only with the maximum values of its results...After that i have to plot this vector as a fuction of w...how can i do that ? :confused:
 
dmg_80 said:
I have another problem :
I have to find, after solving that differential equation,a vector based only with the maximum values of its results...After that i have to plot this vector as a fuction of w...how can i do that ? :confused:

Let me give you some invaluable advice: read the Matlab documentation. It's superb, and explains in detail how to approach such basic problems.
 
shoehorn said:
Let me give you some invaluable advice: read the Matlab documentation. It's superb, and explains in detail how to approach such basic problems.

Thank you for your "invaluable advice"...:rolleyes:
 
dmg_80 said:
Thank you for your "invaluable advice"...:rolleyes:

You're enrolled in an electronic engineering graduate programme but are incapable of using the detailed examples given by typing 'doc ode45'? Sounds like the advice I gave you really would be invaluable if only you'd take it.

Ninety-five percent of the time, a question about Matlab is answered in the Matlab documentation. For instance, precisely all of your questions are answered, with examples, in the documentation. Use it. It'll give you a better answer than anyone here can.
 
shoehorn said:
You're enrolled in an electronic engineering graduate programme but are incapable of using the detailed examples given by typing 'doc ode45'? Sounds like the advice I gave you really would be invaluable if only you'd take it.

Ninety-five percent of the time, a question about Matlab is answered in the Matlab documentation. For instance, precisely all of your questions are answered, with examples, in the documentation. Use it. It'll give you a better answer than anyone here can.


it's hard for me twice : first of all i haven't time to study all the Matlab documentation and second I'm an italian girl that not understand english very well..i'm trying to do it by myself...trying to traslate all i read...so please don't kidding me ...
 

Similar threads

Replies
1
Views
2K
Replies
3
Views
5K
Replies
10
Views
3K
Replies
4
Views
1K
Replies
2
Views
3K
Replies
5
Views
3K
Back
Top