24小时热门版块排行榜    

查看: 1102  |  回复: 8

1164185188

新虫 (初入文坛)

[求助] 请问如何用MATLAB求解四阶微分方程并做出未知函数图像 已有1人参与

回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
1164185188: 金币+40, 有帮助 2016-05-16 07:49:23
引用回帖:
4楼: Originally posted by 1164185188 at 2016-05-15 20:54:05
我是这么编程的,出现这种状况,请问各位是什么问题?
dsolve('D4y=1/(1-y)^2+1/(1-y)^4','y(0)=0','y(1)=0','Dy(0)=0','Dy(1)=0','x')

ans =

月只蓝

Dsolve是求解析解的函数,不适用。原方程具有非线性,大部分情况下,是没有解析解的。只能求数值解。
原方程四阶的,通过变量替换,可降阶成含有4个一阶方程的常微分方程组,然后用MATLAB ode函数解之。

二阶降阶的例子,参见:http://muchong.com/bbs/viewthread.php?tid=8979085&target=self&page=1
四阶的做类似处理即可。

» 本帖已获得的红花(最新10朵)

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
5楼2016-05-15 21:52:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
1164185188: 金币+10, 有帮助 2016-05-15 20:36:52
再补上4个初值条件,可以求得数值解。
MATLAB的ode 系列函数。

» 本帖已获得的红花(最新10朵)

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2016-05-15 20:31:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1164185188

新虫 (初入文坛)

送红花一朵
引用回帖:
2楼: Originally posted by 月只蓝 at 2016-05-15 20:31:00
再补上4个初值条件,可以求得数值解。
MATLAB的ode 系列函数。

你好,如果加上这四个初值条件,请问该如何编程呢?
f(0)=0, f(1)=0,f'(0)=0,f’(1)=0
3楼2016-05-15 20:39:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1164185188

新虫 (初入文坛)

我是这么编程的,出现这种状况,请问各位是什么问题?
dsolve('D4y=1/(1-y)^2+1/(1-y)^4','y(0)=0','y(1)=0','Dy(0)=0','Dy(1)=0','x')

ans =

[ empty sym ] @月只蓝
4楼2016-05-15 20:54:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1164185188

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by 月只蓝 at 2016-05-15 21:52:49
Dsolve是求解析解的函数,不适用。原方程具有非线性,大部分情况下,是没有解析解的。只能求数值解。
原方程四阶的,通过变量替换,可降阶成含有4个一阶方程的常微分方程组,然后用MATLAB ode函数解之。

二阶降 ...

非常感谢!
6楼2016-05-16 07:50:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1164185188

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by 月只蓝 at 2016-05-15 21:52:49
Dsolve是求解析解的函数,不适用。原方程具有非线性,大部分情况下,是没有解析解的。只能求数值解。
原方程四阶的,通过变量替换,可降阶成含有4个一阶方程的常微分方程组,然后用MATLAB ode函数解之。

二阶降 ...

再次感谢,已经做出来了!
7楼2016-05-16 09:03:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1164185188

新虫 (初入文坛)

送红花一朵
引用回帖:
5楼: Originally posted by 月只蓝 at 2016-05-15 21:52:49
Dsolve是求解析解的函数,不适用。原方程具有非线性,大部分情况下,是没有解析解的。只能求数值解。
原方程四阶的,通过变量替换,可降阶成含有4个一阶方程的常微分方程组,然后用MATLAB ode函数解之。

二阶降 ...

你好,麻烦再问一下,我的初值条件是这四个,'y(0)=0','y(1)=0','Dy(0)=0','Dy(1)=0',请问用ode45编程时,这个边界条件如何编程,是这样吗?怎么老感觉不对呢?
clc,clear,close all
tspan=0:0.1:1;
y0=[0,0,0,0];
[x, y]=ode45(@myodes,tspan,y0);
8楼2016-05-16 14:18:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
8楼: Originally posted by 1164185188 at 2016-05-16 14:18:42
你好,麻烦再问一下,我的初值条件是这四个,'y(0)=0','y(1)=0','Dy(0)=0','Dy(1)=0',请问用ode45编程时,这个边界条件如何编程,是这样吗?怎么老感觉不对呢?
clc,clear,close all
tspan=0:0.1:1;
y0=;
=od ...

'y(0)=0','y(1)=0','Dy(0)=0','Dy(1)=0' 这种不是初值问题了,而是边值问题。y(0)=0,y(1)=0,这算一个边值条件,针对y的;Dy(0)=0,Dy(1)=0,这是第二个边值条件,针对y'的。原方程高达4阶,而边值条件仅仅给到了一阶,需要补充上二阶和三阶的边值条件,否则无法定解。
5楼说的降阶的方法,是适用的,但代码是针对初值问题来设计的,对于边值问题,ode函数不适用,而需要用 bvp4c 函数。
可在MATLAB主界面中doc bvp4c ,查看相关代码例子。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
9楼2016-05-16 14:44:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 1164185188 的主题更新
信息提示
请填处理意见