24小时热门版块排行榜    

查看: 2249  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

owxiao

木虫 (小有名气)

[求助] 求救,谁会解这个二阶微分方程,重金答谢

求救。 之后还有金币。。。
回复此楼

» 收录本帖的淘帖专辑推荐

感兴趣的问题

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)


dbb627(金币+1): 欢迎交流 2011-12-06 08:48:59
1stOpt求解:
CODE:
Variable x=[1e-10,1],y=[,1], y'=0;
Plot y;
ODEFunction y''=2*y/(1+y)-1/x*y';



8楼2011-12-05 12:06:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

change0618

铁杆木虫 (著名写手)

方丈大师

【答案】应助回帖

★ ★
dbb627(金币+2): 感谢应助,这个是奇异值问题,你的解法是对的 2011-11-14 23:34:12
dbb627:编辑内容 2011-11-14 23:35
CODE:
function Exercise110
clear all
clc
a = 0;
b = 1;
solinit = bvpinit(linspace(a,b,11),[0 0]);
S = diag([0 -1]);     % 奇异非线性微分方程组y' = S*y/x+f(x,y)的S矩阵,则ODEfun = f(x,y)
options = bvpset('SingularTerm',S);  % 设置奇异性参数S矩阵选项
sol = bvp4c(@ODEfun,@BCfun,solinit,options);
x = 0:0.02:1;
y = deval(sol,x);
plot(x,y(1,:),'ro-')
xlabel('x')
ylabel('y')

function dy=ODEfun(x,y)
dy1=y(2);
dy2=2*y(1)/(1+y(1));
dy=[dy1;dy2];

function bc = BCfun(ya,yb)
bc = [ya(2);yb(1)-1];

[ Last edited by dbb627 on 2011-11-14 at 23:35 ]
2楼2011-11-14 22:45:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★
cenwanglai(金币+3): 谢谢回复! 2011-11-15 07:11:26
owxiao(金币+30): 2011-11-15 12:27:16
注意,这里换了一个条件,dy/dx(x=0)=0
因为x=0 无意义
solinit = bvpinit(linspace(0,1,10),[5;1]);
sol = bvp4c(odefun,bcfun,solinit);
xint = linspace(0,1,30);
yint = deval(sol,xint);
hold on; plot(xint,yint(1,,'rp');
??? Error using ==> bvp4c at 252
Unable to solve the collocation equations -- a
singular Jacobian encountered
CODE:
odefun=@(x,y)[y(2);2*y(1)/(1+y(1))-y(2)/x];
bcfun=@(ya,yb)[ya(2);yb(1)-1];
solinit = bvpinit(linspace(1e-7,1,10),[5;1]);
sol = bvp4c(odefun,bcfun,solinit);
xint = linspace(1e-7,1,30);
yint = deval(sol,xint);
hold on; plot(xint,yint(1,:),'-rp');

结果如图


The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
3楼2011-11-14 22:56:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刘伟利

木虫 (文坛精英)

【答案】应助回帖

★ ★
dbb627(金币+1): 有问题,可以名言 2011-11-14 23:38:04
dbb627(金币-3): 这个属于违规复制回答 2011-11-14 23:52:47
function Exercise110
clear all
clc
a = 0;
b = 1;
solinit = bvpinit(linspace(a,b,11),[0 0]);
S = diag([0 -1]);     % 奇异非线性微分方程组y' = S*y/x+f(x,y)的S矩阵,则ODEfun = f(x,y)
options = bvpset('SingularTerm',S);  % 设置奇异性参数S矩阵选项
sol = bvp4c(@ODEfun,@BCfun,solinit,options);
x = 0:0.02:1;
y = deval(sol,x);
plot(x,y(1,,'ro-')
xlabel('x')
ylabel('y')

function dy=ODEfun(x,y)
dy1=y(2);
dy2=2*y(1)/(1+y(1));
dy=[dy1;dy2];

function bc = BCfun(ya,yb)
bc = [ya(2);yb(1)-1];

       
如果一窍不通,请先看书学习回来再开口
2011-11-14 22:45:37        2
TA的主页  加收听  加好友  只看回帖  发短消息  送红花        引用回复   编辑   通知版主处理  
dbb627
实习版主 (小有名气)



计算强帖: 2
听众: 9
红花: 5
贵宾: 0.012
金币: 2942.6
散金: 73
帖子: 231
在线: 194.3小时
虫号: 149791
注册: 2005-12-29
活跃: 2011-11-14
状态: 在线
性别: GG
专业: 污染控制化学
管辖: 计算模拟
【答案】应助回帖

注意,这里换了一个条件,dy/dx(x=0)=0
因为x=0 无意义
solinit = bvpinit(linspace(0,1,10),[5;1]);
sol = bvp4c(odefun,bcfun,solinit);
xint = linspace(0,1,30);
yint = deval(sol,xint);
hold on; plot(xint,yint(1,,'rp');
??? Error using ==> bvp4c at 252
Unable to solve the collocation equations -- a
singular Jacobian encountered
CODE:  [Copy to clipboard]
odefun=@(x,y)[y(2);2*y(1)/(1+y(1))-y(2)/x];
bcfun=@(ya,yb)[ya(2);yb(1)-1];
solinit = bvpinit(linspace(1e-7,1,10),[5;1]);
sol = bvp4c(odefun,bcfun,solinit);
xint = linspace(1e-7,1,30);
yint = deval(sol,xint);
hold on; plot(xint,yint(1,,'-rp');
结果如图
4楼2011-11-14 23:04:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见