求matlab高手解答程序,好的话再送200分

程序1:function[uf,vf]=sfn(u,v)globalebk;ny=size(u,1);nx=size(u,2);uer=[u(:,1),u,u(:,nx)... 程序1:function [uf,vf] = sfn(u,v)
global e b k;
ny = size(u,1);
nx = size(u,2);
uer = [u(:,1),u,u(:,nx)];
uec = [u(1,:);u;u(ny,:)];
ul = uec(3:ny+2,:)+uec(1:ny,:)+uer(:,1:nx)+uer(:,3:nx+2)-4*u;
u3 = u.*u.*u;
uf = (u-u3/3-v)/e + k^2*ul;
vf = e*(u+b-0.5*v);
程序2:
clc
global k b e

nsteps = 2000;

nxy = 100;
u = 5*ones(nxy,1)*([1:nxy]-0.4*nxy)/nxy;
v = 5*(([1:nxy]-0.4*nxy)')*ones(1,nxy)/nxy;

h = 0.04;
e = 0.1;
b = 0.67;

colormap hsv;
set(0,'DefaultSurfaceEdgecolor','none');

k=1;

for i=1:nsteps
[uf,vf] = sfn(u,v);
u = u+h*uf;
v = v+h*vf;
if mod(i,3) == 1
pcolor(u); drawnow;
end
end
两个程序运行后能产生一个动态的螺旋波,基于FHN模型的螺旋波,我只需要大家告诉我每一行程序说一下它都干了什么,即解释下程序就行!满意的话加送200分
谢,什么时候好了送分
展开
 我来答
shl329
2009-05-04 · TA获得超过650个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:182万
展开全部
先写这么多,待会儿再补充,吃饭去了,回来接着写。。

function [uf,vf] = sfn(u,v)%此函数为自定义的sfn函数,u,v为输入变量
uf、vf为输出变量
global e b k; %定义全局变量 e b k;
ny = size(u,1); %求出矩阵u的行的数目,赋给ny
nx = size(u,2); %求出矩阵u的列的数目,赋给nx;
uer = [u(:,1),u,u(:,nx)];
%构造一个矩阵uer,u(:,1)为矩阵u的第一列; u(:,nx) 为矩阵第最后一列,u就不解释了。
uec = [u(1,:);u;u(ny,:)];
%构造一个矩阵uec,u(1,:)为矩阵u的第一行;u(ny,:)为u最后一行
ul = uec(3:ny+2,:)+uec(1:ny,:)+uer(:,1:nx)+uer(:,3:nx+2)-4*u;
%用矩阵uec的第三行到第(ny+2)行+uec的第一行到第ny行+uer的第一列到第nx列+uer的第三行到(nx+2)列-4*u
u3 = u.*u.*u; %把u的三次方赋给u3
uf = (u-u3/3-v)/e + k^2*ul; %这行不用解释吧,简单的矩阵运算。
vf = e*(u+b-0.5*v); %同上。。
程序2:
clc %清屏
global k b e %定义全局变量k b e

nsteps = 2000; %将2000赋给nsteps

nxy = 100; %100赋给nxy
u = 5*ones(nxy,1)*([1:nxy]-0.4*nxy)/nxy;
%ones(nxy,1)是创建一个nxy*1的矩阵,[1:nxy]是行向量[1 2 3 4 .. nxy]
v = 5*(([1:nxy]-0.4*nxy)')*ones(1,nxy)/nxy; %同上

h = 0.04;
e = 0.1;
b = 0.67;

colormap hsv; % 创建一个hsv颜色映射表
set(0,'DefaultSurfaceEdgecolor','none'); %设置为缺省边缘颜色为none。

k=1;

for i=1:nsteps
[uf,vf] = sfn(u,v); %调用上面写的sfn函数
u = u+h*uf; %矩阵运算
v = v+h*vf;
if mod(i,3) == 1 %如果i对3求余数等于1
pcolor(u); drawnow; %按u中元素着色,画图。。
end
end
万岁do
2009-05-04
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
nxy = 100; %100赋给nxy
u = 5*ones(nxy,1)*([1:nxy]-0.4*nxy)/nxy;
%ones(nxy,1)是创建一个nxy*1的矩阵,[1:nxy]是行向量[1 2 3 4 .. nxy]
v = 5*(([1:nxy]-0.4*nxy)')*ones(1,nxy)/nxy; %同上

h = 0.04;
e = 0.1;
b = 0.67;

colormap hsv; % 创建一个hsv颜色映射表
set(0,'DefaultSurfaceEdgecolor','none'); %设置为缺省边缘颜色为none。

k=1;

for i=1:nsteps
[uf,vf] = sfn(u,v); %调用上面写的sfn函数
u = u+h*uf; %矩阵运算
v = v+h*vf;
if mod(i,3) == 1 %如果i对3求余数等于1
pcolor(u); drawnow; %按u中元素着色,画图。。
end
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
644436508
2009-05-04 · 贡献了超过118个回答
知道答主
回答量:118
采纳率:0%
帮助的人:0
展开全部
uec = [u(1,:);u;u(ny,:)];
%构造一个矩阵uec,u(1,:)为矩阵u的第一行;u(ny,:)为u最后一行
ul = uec(3:ny+2,:)+uec(1:ny,:)+uer(:,1:nx)+uer(:,3:nx+2)-4*u;
%用矩阵uec的第三行到第(ny+2)行+uec的第一行到第ny行+uer的第一列到第nx列+uer的第三行到(nx+2)列-4*u
u3 = u.*u.*u; %把u的三次方赋给u3
uf = (u-u3/3-v)/e + k^2*ul; %这行不用解释吧,简单的矩阵运算。
vf = e*(u+b-0.5*v); %同上。。
程序2:
clc %清屏
global k b e %定义全局变量k b e

nsteps = 2000; %将2000赋给nsteps

nxy = 100; %100赋给nxy
u = 5*ones(nxy,1)*([1:nxy]-0.4*nxy)/nxy;
%ones(nxy,1)是创建一个nxy*1的矩阵,[1:nxy]是行向量[1 2 3 4 .. nxy]
v = 5*(([1:nxy]-0.4*nxy)')*ones(1,nxy)/nxy; %同上

h = 0.04;
e = 0.1;
b = 0.67;

colormap hsv; % 创建一个hsv颜色映射表
set(0,'DefaultSurfaceEdgecolor','none'); %设置为缺省边缘颜色为none。

k=1;

for i=1:nsteps
[uf,vf] = sfn(u,v); %调用上面写的sfn函数
u = u+h*uf; %矩阵运算
v = v+h*vf;
if mod(i,3) == 1 %如果i对3求余数等于1
pcolor(u); drawnow; %按u中元素着色,画图。。
end
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友857bbaf
2009-05-04 · TA获得超过496个赞
知道小有建树答主
回答量:365
采纳率:0%
帮助的人:254万
展开全部
拜一楼
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式