MATLAB Coding for BVP
显示 更早的评论
function res = mat4bc(ya,yb)
res = [ ya(1)-1
yb(2)
ya(3)
yb(4) ];
The above is for 2 boundary conditions. I need the coding for 3 conditions.
function sol=ex4
ex4init=bvpinit(linspace(0,100),[0 1 0 -1]);
sol=bvp4c(@ex4ode, @ex4bc, ex4init)
end
function f=ex4ode(x,y)
f=[y(2)
-x*x*y(2)
y(4)
-x*x*y(4)
];
end
function res=ex4bc(ya,yb,yc)
res=[ya(1)-3.462*10^(-22)
ya(3)-2.017
yb(1)-1
yb(3)
yc(2)+yc(4)
];
end
This is my program. when I run this program, I'm getting an error. Can someone tell me what is the error here?
6 个评论
Torsten
2019-6-27
You can define boundary conditions for the solution variables at x=a (using ya) and at x=b (using yb). So I don't understand what yc is meant to represent in your code.
Maybe you could include the mathematical description of your problem.
Joy Salomi
2019-6-27
Torsten
2019-6-27
Your solutions for u and v are already determined by the four conditions at x=0 and x=infinity. You can't impose a fifth boundary condition.
Joy Salomi
2019-6-27
Maybe of interest for you:
This code gives you the solution for your system:
function main
fun = @(t,c1,c2)c1*gamma(1/3)*gammainc(t.^3/3,1/3,'upper')/3^(2/3)+c2;
c2u = 1;
c1u = (3.462e-22-1)*3^(2/3)/gamma(1/3);
c2v = 0;
c1v = 2.017*3^(2/3)/gamma(1/3);
t = linspace(0,20,200);
u = fun(t,c1u,c2u);
v = fun(t,c1v,c2v)
plot(t,u,t,v)
end
Maybe your question was to determine lambda where du/dx = -dv/dx ?
Joy Salomi
2020-3-4
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Boundary Value Problems 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!