问题描述:

反应扩散方程Matlab编程

>> function fd1d_predator_prey ( )

% FD1D_PREDATOR_PREY.m one-dimensional finite-difference method for Scheme 2

% applied to the predator-prey system with Kinetics 1.

%

% Author:

%

% Marcus Garvie

%

%

% User inputs of parameters

%

alpha = input('Enter parameter alpha ');

beta = input('Enter parameter beta ');

gamma = input('Enter parameter gamma ');

delta = input('Enter parameter delta ');

a = input('Enter a in [a,b] ');

b = input('Enter b in [a,b] ');

h = input('Enter space-step h ');

T = input('Enter maximum time T ');

delt = input('Enter time-step Delta t ');

%

% User inputs of initial data

%

u0 = input('Enter initial data function u0(x) ','s'); % see notes

v0 = input('Enter initial data function v0(x) ','s'); % in text

%

% Calculate some constants

%

mu=delt/(h^2);

J=round((b-a)/h);

n = J+1; % no.of nodes (d.f.) for each dependent variable

N=round(T/delt);

%

% Initialization

%

u=zeros(n,1); v=zeros(n,1); F=zeros(n,1); G=zeros(n,1);

y1=zeros(n,1); y2=zeros(n,1); z1=zeros(n,1); z2=zeros(n,1);

B1=sparse(n,n); B2=sparse(n,n); L=sparse(n,n); Lower1=sparse(n,n);

Lower2=sparse(n,n); U1=sparse(n,n); U2=sparse(n,n);

%

% Assign initial data

%

indexI=[1:n]';

x=(indexI-1)*h+a; % vector of x values on grid

u = eval(u0).*ones(n,1); v = eval(v0).*ones(n,1);

%

% Construct matrix L (without 1/h^2 factor)

%

L=sparse(1,2,-2,n,n);

L=L+sparse(n,n-1,-2,n,n);

L=L+sparse(2:n-1,3:n,-1,n,n);

L=L+sparse(2:n-1,1:n-2,-1,n,n);

L=L+sparse(1:n,1:n,2,n,n);

%

% Construct matrices B1 & B2

%

B1=sparse(1:n,1:n,1,n,n) + mu*L;

B2=sparse(1:n,1:n,1,n,n) + delta*mu*L;

%

% Perform the LU factorisation of B1 and B2

%

[Lower1,Upper1]=lu(B1);

[Lower2,Upper2]=lu(B2);

%

% Time-stepping procedure

%

for nt=1:N

% Evaluate modified functional response

hhat = u./(alpha + abs(u));

% Update right-hand-side of linear system

F = u - u.*abs(u) - v.*hhat;

G = beta*v.*hhat - gamma*v;

y1 = u + delt*F;

y2 = v + delt*G;

% Forward substitution to solve Lower1*z1=y1 for z1

z1 = Lower1\y1;

% Back-substitution to solve Upper1*u=z1 for u

u = Upper1\z1;

% Forward substitution to solve Lower2*z2=y2 for z2

z2 = Lower2\y2;

% Back-substitution to solve Upper2*v=z2 for v

v = Upper2\z2;

end

%

% Plot solution at time level T=N*delt

%

plot(x,u,'k'); hold on; plot(x,v,'k-.')

return

end

function fd1d_predator_prey ( )

|

Error:Function definitions are not permitted at the prompt or in scripts.

>>

1个回答

分类:

综合

2014-10-06

问题解答:

我来补答

1

将代码保存为M文件

2

将下面的代码复制到命令窗口,按回车键,运行即可

fd1d_predator_prey

展开全文阅读

matlab解反应扩散方程,反应扩散方程Matlab编程相关推荐

  1. matlab解二阶微分方程组ode,MATLAB解含参数方程、矩阵方程、二阶微分方程组

    1.如下公式: 其中x.y.m.n为参数,a.b为未知数,利用MATLAB求解方程: syms x y m n a b; [a,b]=solve('x=m*cos(a)+n*cos(a+b)','y= ...

  2. matlab解方程最值点,MATLAB解方程与函数极值

    1.线性方程数值求解 主要是用到了计算方法里的LU分解等不过是加快了求解速度而已相对于inv(A)*b或者A\b 2.非线性方程数值求解 1 单变量非线性方程求解 在MATLAB中提供了一个fzero ...

  3. 用matlab解出冲激响应的表达式,Matlab实验指导书

    13 r2=linspace(5,0,length(t)); x2=r2.*cos(t); y2=r2.*sin(t); subplot(122),plot3(x2,y2,z) gridon 三.设计 ...

  4. matlab解方程x 2-x-2=0,matlab用三种方法求解二阶微分方程x''+0.2x'=0.4x=0.2u(t),u(t)是单位阶跃函数,初始状态为0...

    问题描述: matlab用三种方法求解二阶微分方程x''+0.2x'=0.4x=0.2u(t),u(t)是单位阶跃函数,初始状态为0 1个回答 分类: 数学 2014-11-28 问题解答: 我来补答 ...

  5. matlab坡度计算公式,matlab解二阶微分方程怎么用matlab来解呢?x的定义域是(0,l),i是道路横坡坡度,w是降雨强度,k是路面横向...

    共回答了16个问题采纳率:81.3% 你的方程即为: y'*y' + y''*y' +w/k =0 s = dsolve('Dy*D2y + Dy^2 + w/k ', 'y(l) = a', 'Dy ...

  6. matlab解kmv方程,急:Matlab求解KMV模型,使用fsolve函数出现问题

    最近也在做kmv模型 参考了你的和贴吧的改了一下代码,可是初始值设置总是有问题,参考了郑老师的初始值设置[1,1]可以搜索后,再改了以下代码,可是出的结果就只有1,1,但是用郑老师的代码改的话,出的结 ...

  7. MATLAB 气体扩散,放射性气体扩散方程有限差分法的MATLAB实现

    2017年11月 咸阳师范学院学报 Nov.2017 第32卷 第6期 Journal of Xianyang Normal University Vol.32 No.6 [数理科学与信息科学研究] ...

  8. 最优控制问题matlab编程实例,第十二章用matlab解最优控制问题及应用实例.ppt

    第十二章用matlab解最优控制问题及应用实例 第十二章 用MATLAB解最优控制问题及应用实例 第十二章 用MATLAB解最优控制问题及应用实例 12.1 MATLAB工具简介 12.2 用MATL ...

  9. matlab的矩阵编译器,MATLAB引擎方式实现VC与MATLAB混合编程

    VS2008是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快.但在科学计算方面函数库显得不够丰富.读取.显示数据图形不方便.Matlab是一款将数值分析.矩阵计算.信号处理和图形显 ...

  10. MATLAB学习笔记(七)——MATLAB解方程与函数极值

    (一)线性方程组求解 包含n个未知数,由n个方程构成的线性方程组为: 其矩阵表示形式为: 其中 一.直接求解法 1.左除法 x=A\b; 如果A是奇异的,或者接近奇异的.MATLAB会发出警告信息的. ...

最新文章

  1. php获取类的熟悉,php如何获取类的所有方法
  2. foxtable制作管理系统实例_某河道治理工程实例
  3. mysql 导入日期 0000_解决Excel导入MySQL日期为0000-00-00
  4. 系统500报警 php_Zabbix3.4 部署、监测及邮件报警
  5. mysql表空间自增_Oracle 默认表空间问题及自增变量设置
  6. textarea只允许上下调节尺寸
  7. linux开机启动 sogou输入法 xcompmgr .xprofile 黑块
  8. pythonexcel怎么合并_Python把多个Excel合并成一个Excel
  9. 用Discrete Cosine Transform实现jpeg压缩
  10. 小红书用户画像分析_用户画像,该怎么分析?
  11. the disk drive for uuid=XXXX ( /media/sda1) is not reday yet or not present
  12. 博弈论大作战之 PART1
  13. 螺旋矩阵一个n行n列的螺旅矩阵可由如下方法生成:从矩阵的左上角(第1行第 1列)出发,初始时向右移动;如果前方是未曾经过的格子,则继续前进,否则右转;重复上述操作直至经过矩阵中所有格子。
  14. freerdp 解压安装_Linux下安装FreeRDP,连接Windows远程桌面好软件软件.doc
  15. 洛谷 P1914 小书童——凯撒密码
  16. 巴菲特弃用 20 美元的三星翻盖,换上了 iPhone
  17. mybatis学习之高级映射
  18. css3动画添加间隔
  19. 《地理信息系统导论》chapter12 栅格数据分析
  20. 魔方APP项目-07-客户端提交登录信息、在APICloud中集成防水墙验证码,前端获取显示并校验验证码、服务端校验验证码、保存用户登录状态,APICloud提供的数据存储、客户端保存用户登陆数据

热门文章

  1. js 百度地图和高德地图经纬度相互转换
  2. Tk-Mybatis(通用mybatis)简单使用
  3. 网络操作系统之VyOS部署
  4. 网络操作系统VyOS之NAT实践
  5. cesium obj格式转换为gltf、glb
  6. 坐标转换工具类:84坐标系,火星坐标系,与百度坐标系之间的互相转换
  7. 百度、火星(高德)、84坐标系相互转换
  8. 【selenium 模拟拼图】滑动拼图验证码10分钟教程
  9. Java、JSP网上购物管理系统
  10. 如何卸载Edge/如何降Edge版本