Solving an equation with integration constants and boundary conditions
12 views (last 30 days)
I have issues with solving an equation with integration constants and boundary conditions.
In this case the equation is presented in the image below, where I calculated the problem by my hand and I would like to replicate a similar solution, where I get as a symfun depending on r, and then using vpa to get a numerical value for a specific r, .
I was aiming to write in manner as follows, but the result is not what I expected:
r1 = 10;
r2 = 20;
syms A B p2
eqn = [A-B/(r1^2)==0, A-B/(r2^2)==-p2];
Sol_A = solve(eqn,A)
Sol_B = solve(eqn,B)
It is clear that in the code above, the integration constants A, B are firstly solved so that they can be substituted into function . I would prefer to get directly in order to obtain an algorithm to use in other different problems, where the "solving by hand" is not so straightforward.
Thank you in advance
Paul on 27 Nov 2021
Edited: Paul on 27 Nov 2021
syms sigma_r(r) A B p_2 r1 r2
sigma_r = A - B/r^2
% eqn = sigma_r == 0; % edit: commented out after posting original answer. Not used.
%r1 = 10; r2 = 20; % uncomment this line to get the solution directly
cond1 = subs(sigma_r,r,r1) == 0;
cond2 = subs(sigma_r,r,r2) == -p_2;
solAB = solve([cond1 cond2],[A B])
sigma_r = subs(sigma_r,[A B],[solAB.A solAB.B])
sigma_r = subs(sigma_r,[r1 r2],[10 20])