matlab du/dt=d(du)/dx^2 x属于(0,1),t属于(0,T]u(0,t)=u(1,t)=0u(x,0)=0若在u(1/2,0)处有一个扰动1/(2^10),取h=1/16,r=1/2分别用古典显格式和richardson格式计算8层1)打印出第8层上各结点处的计算值2)预测继续算

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 05:28:28

matlab du/dt=d(du)/dx^2 x属于(0,1),t属于(0,T]u(0,t)=u(1,t)=0u(x,0)=0若在u(1/2,0)处有一个扰动1/(2^10),取h=1/16,r=1/2分别用古典显格式和richardson格式计算8层1)打印出第8层上各结点处的计算值2)预测继续算
matlab
du/dt=d(du)/dx^2 x属于(0,1),t属于(0,T]
u(0,t)=u(1,t)=0
u(x,0)=0
若在u(1/2,0)处有一个扰动1/(2^10),取h=1/16,r=1/2
分别用古典显格式和richardson格式计算8层
1)打印出第8层上各结点处的计算值
2)预测继续算下去计算值的变化趋势
3)分析上述趋势产生的原因
要用matlab编程
望告知具体程序~55555自己做不来啊………= =|||都没有人会做?分数已经到上限了

matlab du/dt=d(du)/dx^2 x属于(0,1),t属于(0,T]u(0,t)=u(1,t)=0u(x,0)=0若在u(1/2,0)处有一个扰动1/(2^10),取h=1/16,r=1/2分别用古典显格式和richardson格式计算8层1)打印出第8层上各结点处的计算值2)预测继续算
#include
#include
#include
void main()
{ double u[16][16],x[16];
double h=0.0625,r=0.5,y;
int a=1,i,j;
y=r*h*h/a;
for(i=0;i

简单
总算我们数学专业的人一展身手了

不会,难啊

真难!!!!!

用dsolve求不出解析解,用数值解法吧,最好能提供初始条件,这里假设t=0时,x0=1,y0=2,z0=3.
function hh
[t,x]=ode23t(@fun,0:1,[1 2 3])
plot(t,x)
function yhat=fun(t,x)
dxdt=-0.85*x(1)+0.25*x(2)+0.35*x(3)-0.8*x(1...

全部展开

用dsolve求不出解析解,用数值解法吧,最好能提供初始条件,这里假设t=0时,x0=1,y0=2,z0=3.
function hh
[t,x]=ode23t(@fun,0:1,[1 2 3])
plot(t,x)
function yhat=fun(t,x)
dxdt=-0.85*x(1)+0.25*x(2)+0.35*x(3)-0.8*x(1)^2*x(2);
dydt=0.8*x(1)^2*x(2)-1.2*x(2);
dzdt=0.9*x(1)+0.8*x(2)-0.3*x(3);
yhat=[dxdt;dydt;dzdt];
结果:
t =
0
0.0145
0.0435
0.0726
0.1120
0.1730
0.2341
0.2951
0.3718
0.4485
0.5435
0.6386
0.7337
0.8287
0.9238
1.0000
x =
1.0000 2.0000 3.0000
0.9879 1.9879 3.0228
0.9653 1.9629 3.0677
0.9459 1.9363 3.1110
0.9239 1.8985 3.1675
0.8979 1.8374 3.2500
0.8799 1.7748 3.3269
0.8680 1.7121 3.3984
0.8595 1.6348 3.4816
0.8565 1.5599 3.5578
0.8583 1.4717 3.6437
0.8645 1.3893 3.7212
0.8738 1.3127 3.7912
0.8852 1.2421 3.8546
0.8980 1.1772 3.9121
0.9090 1.1291 3.9544 一定对la

收起

不想做,麻烦

游泳的天使22别吹拉
有本事答上来呀

这里假设t=0时,x0=1,y0=2,z0=3.
function hh
[t,x]=ode23t(@fun,0:1,[1 2 3])
plot(t,x)
function yhat=fun(t,x)
dxdt=-0.85*x(1)+0.25*x(2)+0.35*x(3)-0.8*x(1)^2*x(2);
dydt=0.8*x(1)^2*...

全部展开

这里假设t=0时,x0=1,y0=2,z0=3.
function hh
[t,x]=ode23t(@fun,0:1,[1 2 3])
plot(t,x)
function yhat=fun(t,x)
dxdt=-0.85*x(1)+0.25*x(2)+0.35*x(3)-0.8*x(1)^2*x(2);
dydt=0.8*x(1)^2*x(2)-1.2*x(2);
dzdt=0.9*x(1)+0.8*x(2)-0.3*x(3);
yhat=[dxdt;dydt;dzdt];
结果:
t =
0
0.0145
0.0435
0.0726
0.1120
0.1730
0.2341
0.2951
0.3718
0.4485
0.5435
0.6386
0.7337
0.8287
0.9238
1.0000
x =
1.0000 2.0000 3.0000
0.9879 1.9879 3.0228
0.9653 1.9629 3.0677
0.9459 1.9363 3.1110
0.9239 1.8985 3.1675
0.8979 1.8374 3.2500
0.8799 1.7748 3.3269
0.8680 1.7121 3.3984
0.8595 1.6348 3.4816
0.8565 1.5599 3.5578
0.8583 1.4717 3.6437
0.8645 1.3893 3.7212
0.8738 1.3127 3.7912
0.8852 1.2421 3.8546
0.8980 1.1772 3.9121
0.9090 1.1291 3.9544

收起

la fang~~~~~
在matlan中运行时方法如下:
保存文件
function yhat=fun(t,x)
dxdt=-0.85*x(1)+0.25*x(2)+0.35*x(3)-0.8*x(1)^2*x(2);
dydt=0.8*x(1)^2*x(2)-1.2*x(2);
dzdt=0.9*x(1)+0.8*x(2)-0.3*x(3)...

全部展开

la fang~~~~~
在matlan中运行时方法如下:
保存文件
function yhat=fun(t,x)
dxdt=-0.85*x(1)+0.25*x(2)+0.35*x(3)-0.8*x(1)^2*x(2);
dydt=0.8*x(1)^2*x(2)-1.2*x(2);
dzdt=0.9*x(1)+0.8*x(2)-0.3*x(3);
yhat=[dxdt;dydt;dzdt];
然后输入
t=0,x0=1,y0=2,z0=3.
[t,x]=ode23t(@fun,0:1,[1 2 3])
plot(t,x)
答案就出来了
aa3301169
不要高估我们的智商~~~>_<

收起

真深奥~~~~~~~~~~