Is there a tutorial in MATLAB for solving a radial PDE ?
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
Sergio Manzetti
2018-3-6
编辑:Sergio Manzetti
2018-3-6
It is the polar form of this:
y'''+(1-x^2)y=0
with initial conditions.
Torsten
2018-3-7
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.
回答(1 个)
Sergio Manzetti
2018-3-7
编辑:Sergio Manzetti
2018-3-7
For u(phi, theta):
u(0,0)=0
u'(0,0)=0
u''(pi,0)=0
u''(0,2pi)=10
14 个评论
Sergio Manzetti
2018-3-7
编辑:Sergio Manzetti
2018-3-7
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
2018-3-7
编辑:Sergio Manzetti
2018-3-7
Do you mean I should use the third order Laplacian instead of the apparent converted third-order operator in radial dimensions?
Torsten
2018-3-7
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
2018-3-7
编辑:Sergio Manzetti
2018-3-7
Indeed you are right.
A similar example is done on the Schrödinger equation. I attach the scan here.
From this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/188228/image.jpeg)
where you set H = E Psi
and expand the operator to regard the radial system as shown below:
To this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/188231/image.jpeg)
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
2018-3-7
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
2018-3-7
编辑:Sergio Manzetti
2018-3-7
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
2018-3-8
编辑:Torsten
2018-3-8
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
2018-3-8
编辑:John D'Errico
2018-3-8
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
2018-3-8
编辑:Sergio Manzetti
2018-3-8
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?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/188251/image.gif)
ODE15S, fsolve is mentioned, but does it work with this PDE form?
Torsten
2018-3-8
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
2018-3-8
编辑:Sergio Manzetti
2018-3-8
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
2021-5-16
you can use numerical methods to solve schrodinger equations like this for ex. Finite difference method.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 General PDEs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!发生错误
由于页面发生更改,无法完成操作。请重新加载页面以查看其更新后的状态。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)