**You are now following this question**

- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.

# Is there a tutorial in MATLAB for solving a radial PDE ?

13 views (last 30 days)

Show older comments

Hi, I have a PDE with radial coordinates that has no analytic solution. Is there a way to generate the plot of the function using numerical methods in MATLAB?

Is there a tutorial for this? I could not find anything on MATLAB for a specific PDE that is not part of the MATLAB toolbox sets.

##### 6 Comments

Torsten
on 7 Mar 2018

Could you please clearly write down the transformation from

y'''+(1-x^2)*y=0

to the u-formulation ?

I must admit that I don't understand what you are talking about.

Best wishes

Torsten.

### Answers (1)

Sergio Manzetti
on 7 Mar 2018

Edited: Sergio Manzetti
on 7 Mar 2018

For u(phi, theta):

u(0,0)=0

u'(0,0)=0

u''(pi,0)=0

u''(0,2pi)=10

##### 14 Comments

Sergio Manzetti
on 7 Mar 2018

From Cartesian coordinates to polar coordinates:

First, the ODE is:

d^3y/dx^3 + (1-x^2)y=0

Here we rewrite first x and y in polar coordinates using

x = r(phi)cos(phi)

y = r(phi)sin(phi)

and get:

d^3/dx^3 + [1-(r(phi)cos(phi))^2]r(phi)sin(phi)=0

Now, d^3y/dx^3 must be transformed first to polar form and:

d/dx = cos(phi)*d/dr + 1/r*sin(phi)*d/d(phi)

so

d^3/dx^3 = [(cos(phi)*d/dr + 1/r*sin(phi)*d/d(phi))]^3

which gives the original ODE transformed to the following radial PDE, where y= u(r,phi) = r(phi)sin(phi)

u(r,phi)*[(cos(phi)*d/dr + 1/r*sin(phi)*d/d(phi))]^3+[1-(r(phi)cos(phi))^2]u(r,phi)=0

How can I solve this numerically with the given I.C.? Is there a tutorial or a script like ODE45 that is not too complex?

Sergio Manzetti
on 7 Mar 2018

Torsten
on 7 Mar 2018

An ODE is an ODE and won't become a PDE by a coordinate transformation.

Your ODE depends on one independent variable, namely x, and y is the solution of the ODE (the dependent variable).

In your PDE, y suddenly becomes an independent variable and you introduce a new solution u depending on x and y which has absolutely nothing to do with the former solution y.

How can you make sense of all this ?

Maybe you can give a link to a website where it is explained what you are trying to do.

Best wishes

Torsten.

Sergio Manzetti
on 7 Mar 2018

Indeed you are right.

A similar example is done on the Schrödinger equation. I attach the scan here.

From this:

where you set H = E Psi

and expand the operator to regard the radial system as shown below:

To this:

However, in my case it is a third order operator, and hence I tried that approach to convert to radial coordinates as eqn 3.18 in the figure above shows.

Torsten
on 7 Mar 2018

d^2/dx^2 is the Laplace-Operator in one dimension and d^2/dr^2 + 1/r*d/dr + 1/r^2*d^2/dphi^2 is the Laplace-Operator in two dimensions (polar coordinates).

I don't know how your third-order operator is extended to several dimensions.

Best wishes

Torsten.

Sergio Manzetti
on 7 Mar 2018

Thanks I try to get back with an allowed PDE, but would this be completely wrong:

D^3u(r, phi)+(1-rcos^2(phi))u(r,phi)=0

where D^3 is the to present, unknown Laplace third order operator?

Torsten
on 8 Mar 2018

The extension of an operator from 1d to 2d, e.g., is not a mathematical formalism, but depends on the physics of the problem you want to describe by the differential equation.

Consider your case

z'''(x)+(1-x^2)*z(x)=0.

Now what is the two-dimensional extension ?

One could choose the extension as

d^3u(x,y)/dx^3 + d^3u(x,y)/dy^3 = (1-x^2-y^2)*u(x,y),

but this is pretty arbitrary.

Why should this be better than

d^3u(x,y)/dx^3 - d^2u(x,y)/dy^2 = (1-x^2+sin(y))*u(x,y)

?

And to answer your question:

There is no ready-to-use MATLAB software or tutorials for the solution of PDEs of order > 2.

Usually, you will find numerical solution methods for standard equations (heat conduction, wave equation, ...) in the literature. MATLAB's PDE toolbox solves PDEs of order 2 of a special structure.

For an arbitrary PDE of order >2, you will have to use the method of lines and solve the resulting system of ordinary differential equations or algebraic equations using a standard solver (ODE15S, fsolve). But usually, setting appropriate boundary conditions will be a non-trivial task.

Best wishes

Torsten.

John D'Errico
on 8 Mar 2018

The problem is, you are (I will argue) misusing the mathematics here.

The ODE you show describes a single path in the (x,y) plane, dependent on initial conditions. However, it is not a PDE, nor can it be used in that form.

The transformation, by a change of variables to polar form, would allow you to develop a form that is valid in polar coordinates. But it will still describe a specific path through the plane, only you are now plotting the path using polar coordinates. The conversion to polar form does not magically convert an ODE into a PDE.

The website that you linked uses mathematics that applies to a completely different problem, unrelated to what you describe here.

So while you may have a valid physical system that you are trying to model, the mathematics that you have written so far is invalid.

Sergio Manzetti
on 8 Mar 2018

I am sorry I confused things. I confused operators with ODE and delayed the time to reach a simple question:

How can I study this PDE numerically in MATLAB with some I.C. and B.C.? Is there a tutorial or a link to a similar system that is easy to follow?

ODE15S, fsolve is mentioned, but does it work with this PDE form?

Torsten
on 8 Mar 2018

Can you write out what you mean by

(cos(phi)*d/dr + 1/r*sin(phi)*d/dphi)^3 r cos^2(phi) psi(r,phi)

?

Sergio Manzetti
on 8 Mar 2018

it's the operator.

on the left side side of equal sign:

Psi is first multiplied with rcos^2(phi) then it is multiplied with the large operator at the third order, and hence multiplied with its third order form (I can write it ou here if you like). That invokes derivations at the third order, derivations with respect to r and phi as well as multiplication with r and cos(phi).

The unknown function is PSI

pooja sudha
on 16 May 2021

### See Also

### Community Treasure Hunt

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

Start Hunting!**An Error Occurred**

Unable to complete the action because of changes made to the page. Reload the page to see its updated state.