急求matlab高手啊 解决几个微分方程 本人是一点不会 貌似不是很难 高手进啊

用ode45 ode23 和ode113解决下列微分方程(请给出m文件代码 程序代码 流程图)
(1)y'=x-y,y(0)=1,0<x<3(要求输出x=1,2,3点的y值)
(2)x'=2x+3y,y'=2x-y,x(0)=-2.7,y(o)=2.8,0<t<10,作相平面图
(3)y"-0.01(y') ²+2y=sin(t),y(0)=0,y'(0)=1,0<t<5,作y的图

第1个回答  2012-04-10
(1)X=0, Y=0
X=1, Y=0.1745240643728351
X=2, Y=0.3489949670250097
X=3, Y=0.5233595624294383
X=4, Y=0.697564737441253
X=5, Y=0.8715574274765816
X=6, Y=1.0452846326765346
X=7, Y=1.2186934340514747
X=8, Y=1.3917310096006544
X=9, Y=1.5643446504023087
(2)x’=2x+3y, y’=2x+y, x(0)=-2.7,y(0)=2.8, 0<t<10, 作相平面图。
解:使用matlab工具:
先解微分方程组:x’=2x+3y, y’=2x+y, x(0)=-2.7,y(0)=2.8, 0<t<10,
(1)建立.m文件:funtt.m
function y=funtt(t,y)
[2*y(1)+3*y(2);
2*y(1)+y(2)];
(2)求解微分方程。
t0=0;tf=3;
y0=1;
[t,y]=ode23('funt',[t0,tf],y0); %求数值解
y'
得到结果:ans =

1.0e+004 *

Columns 1 through 9

-0.0003 -0.0003 -0.0004 -0.0005 -0.0007 -0.0009 -0.0013 -0.0017 -0.0023
0.0003 0.0003 0.0004 0.0005 0.0007 0.0010 0.0013 0.0018 0.0024

Columns 10 through 18

-0.0031 -0.0041 -0.0055 -0.0074 -0.0099 -0.0133 -0.0179 -0.0240 -0.0322
0.0032 0.0043 0.0057 0.0077 0.0103 0.0138 0.0185 0.0249 0.0334

Columns 19 through 27

-0.0432 -0.0579 -0.0778 -0.1043 -0.1400 -0.1878 -0.2520 -0.3382 -0.4538
0.0448 0.0601 0.0806 0.1082 0.1452 0.1948 0.2614 0.3507 0.4706

Columns 28 through 36

-0.6089 -0.8170 -1.0962 -1.4709 -1.9737 -2.6483 -3.5534 -4.7680 -5.8985
0.6314 0.8472 1.1368 1.5254 2.0468 2.7464 3.6851 4.9446 6.1169
(3)求y,输入y得到:
y =

1.0e+004 *

-0.0003 0.0003
-0.0003 0.0003
-0.0004 0.0004
-0.0005 0.0005
-0.0007 0.0007
-0.0009 0.0010
-0.0013 0.0013
-0.0017 0.0018
-0.0023 0.0024
-0.0031 0.0032
-0.0041 0.0043
-0.0055 0.0057
-0.0074 0.0077
-0.0099 0.0103
-0.0133 0.0138
-0.0179 0.0185
-0.0240 0.0249
-0.0322 0.0334
-0.0432 0.0448
-0.0579 0.0601
-0.0778 0.0806
-0.1043 0.1082
-0.1400 0.1452
-0.1878 0.1948
-0.2520 0.2614
-0.3382 0.3507
-0.4538 0.4706
-0.6089 0.6314
-0.8170 0.8472
-1.0962 1.1368
-1.4709 1.5254
-1.9737 2.0468
-2.6483 2.7464
-3.5534 3.6851
-4.7680 4.9446
-5.8985 6.1169
(4)画图,输入:plot(y(:,1),y(:,2)),得到图像。
(3)
(x+y-2xy)(x+y-2)+(1-xy)^2
=(x+y)^2-2(1+xy)(x+y)+4xy+1-2xy+x^2y^2
=(x+y)^2-2(1+xy)(x+y)+(1+xy)^2
=(x+y)^2-(1+xy)(x+y)-(1+xy)(x+y)+(1+xy)^2
=(x+y)(x+y-1-xy)-(1+xy)(x+y-1-xy)
=(x+y-1-xy)(x+y-1-xy)
=(x+y-1-xy)^2

x^3+2x^2-5x-6
=x^3+3x^2-x^2-5x-6
=x^2(x+3)-(x+2)(x+3)
=(x+3)(x^2-x-2)
=(x+3)(x-2)(x+1)

2x^2-5xy+2y^2+7x-5y+3
=(x-2y+3)(2x-y+1)

设:
x²+xy+ky²-2x+11y-15
=(x+ay+b)(x+cy+d)
=x^2+cxy+dx+axy+acy^2+ady+bx+bcy+bd
=x^2+(c+a)xy+acy^2+(d+b)x+(ad+bc)y+bd
与上对比,得:
c+a=1
ac=k
d+b=-2
ad+bc=11
bd=-15
解得:
b=-5 d=3或b=3,d=-5
a=(11-b)/(d-b)
a=2,a=-1
a=2时,c=-1 k=-2
a=-1时,c=2 k=-2
因此,k=-2

(6x-9)y=7-4x
y=(7-4x)/(6x-9)
=(1+6-4x)/(6x-9)
=1/(6x-9)-2/3
1/(6x-9)=某整数n+2/3
1/(6x-9)=n+2/3=(3n+2)/3
1/(2x-3)=3n+2

x=(9n+6+1)/(6n+4)
=3/2+1/(6n+4)
1/(6n+4)=某整数m+1/2
n=-(4m+3)/(6m+3)=-2/3-1/(6m+3)
要是整数,只能m=0 ,此时,n=-1
1/(6x-9)=2/3-1=-1/3 x=1
y=-1
方程的整数解为x=1,y=-1追问

大神啊 要求是要用matlab解的 第一三题 用matlab怎么解决啊 还有能不能把第二题的流程图也给出来 我的qq673873837 有时间的话加了详聊啊

第2个回答  2012-04-11
刚才好像已经回答了你这个问题了,
(1)y'=x-y,y(0)=1,0<x<3(要求输出x=1,2,3点的y值)
直接dsolve如下
y=dsolve('Dy=x-y','y(0)=1','x')

得到

y=x + 2/exp(x) - 1

把x=1,2,或3 带入即可

第二个:

%%%%%%%%%%%%%%%%M-file 以下要单存一个文件在工作路径下%%%%%%%%%%%%%function dotx=myfun(t,y)
dotx=[2*y(1)+3*y(2);2*y(1)-y(2)];%%%%%%%%%%%%%%%%M-file 以上要单存一个文件在工作路径下%%%%%%%%%%%%%在command 窗口
[t,y]=ode45('myfun',[0,10],[-2.7,2.8])
plot(y(:,1),y(:,2))

第三个:
%%%%%%%%%%%%%function dotx=myfun(t,y)
dotx=[y(2);0.01*y(2)^2-2*y(1)+sin(t)];%%%%%%%%%%%%%%%%M-file 以上要单存一个文件在工作路径下%%%%%%%%%%%%%在command 窗口
[t,y]=ode45('myfun',[0,5],[0,1])
plot(t,y(:,1))
另外不知道楼上写的什么意思捏,还有楼主说的流程图也不知道是什么的说。追问

流程图是类似下图的这种东西 大神送佛送到西啊

追答

那就是:

编写M-文件描述微分方程---------用ode45求数值解---------用plot命令对得到的解向量绘图,我实在想不到别的了。……

追问

哦 大神多谢了

本回答被提问者采纳
第3个回答  2012-04-10
数学好的人都是变态,尼玛这也太变态了吧
大家正在搜