How to solve ODE with symbolic conditions

1 Ansicht (letzte 30 Tage)
Aleksander Tyczynski
Aleksander Tyczynski am 24 Mai 2020
Hello,
I have an issue with the boundary conditions for this ODE. With the code as is it assumes that Dw is a function of a not that for r it should subsitute a. How can I solve this?
clear; clc;
syms a P G t nu F Q r D w(r)
F = - pi * a^2 * P
Q = (pi*r^2*P) / (2*pi*r)
ode = diff(((1/r)*diff((r*diff(w,r)),r)),r) == Q/D
Dw = diff(w,r);
cond1 = Dw(0) == 0
cond2 = Dw(a) == 0
cond3 = w(a) == 0
conds = [cond1 cond2 cond3];
wSol(r) = dsolve(ode,conds)
In all I try to solve this ODE:
with the following 3 BC:
Thank you,

Akzeptierte Antwort

Raunak Gupta
Raunak Gupta am 29 Mai 2020
Hi,
I tried to solve the differential equation with the given code and I see that the returned wSol(r) is a function of r only and not a. Also, DW too is a function of r if you check in the workspace about the independent variable present for DW. I checked the solution too and it looks correct to me.
This is the solution I got.
wSol(r) = (P*a^4 - 2*P*a^2*r^2 + P*r^4)/(64*D);
You may want to check again about the correctness of the solution.
  7 Kommentare
Raunak Gupta
Raunak Gupta am 29 Mai 2020
Bearbeitet: Raunak Gupta am 29 Mai 2020
Hi,
I tried running the script in MATLAB R2019b and didn't get the solution. So, I brought this issue to the notice of our developers, they may investigate further. As I also ran the script in R2020a and R2019a and I was getting the solution, the current workaround will be to try running the script in any of the two release I mentioned.
Aleksander Tyczynski
Aleksander Tyczynski am 29 Mai 2020
Updated to R2020a. Now it works fabulously.
Thank you.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by