72 views (last 30 days)

Show older comments

Hi,

How can I solve this equation numerically using matlab

w''''=w''*int(w'^2,0,1)

I tried using the standard form of ODE function, the only problem I faced is how to represent that limited integral Thanks

Torsten
on 25 Jun 2015

Write your integro-differential equation as

w1'=w2

w2'=w3

w3'=w4

w4'=w3*integral_{t=0}^{t=1}w2^2(t') dt'

Then discretize the interval [0:1] in n subintervals 0=t(1)<t(2)<...<t(n)=1.

Compute the derivatives as

wj'(t(i))=(wj(t(i+1))-wj(t(i)))/dt (j=1,2,3,4)

and compute the integral using the trapezoidal rule.

You'll arrive at a polynomial system (order 3) of equations for the unknowns

wj(t(2)),wj(t(3)),...,wj(t(n)) (j=1,2,3,4)

which can be solved by fsolve, e.g.

No chance to use ODE45 in this case.

Another way might be to use ODE45 and iteratively adjust the value of the integral, but I'm not sure whether this method will converge.

Good luck !

Best wishes

Torsten.

Claudio Gelmi
on 6 Jan 2017

Take a look at this solver:

Article "IDSOLVER: A general purpose solver for nth-order integro-differential equations": http://dx.doi.org/10.1016/j.cpc.2013.09.008

Best wishes,

Claudio

Fernando Fernandes
on 14 Jan 2021

I've downloaded your paper, but i'm a beginner in Matlab. Do I need the solver in http://cpc.cs.qub.ac.uk/summaries/AEQU_v1_0.html ???

How can I install this?

ash
on 28 Jun 2015

SOZHAESWARI P
on 5 Sep 2021 at 3:09

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

Start Hunting!