云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 关于MATLAB的数学建模算法学习笔记 - 图文

关于MATLAB的数学建模算法学习笔记 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 3:21:14

积分函数命令 :quadl

同一组数据用不同插值方法效果比较 线性插值、三次样条插值 例子clc;clear;

x0=[0 3 5 7 9 11 12 13 14 15];

y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6]; x=0:0.1:15;

y1=interp1(x0,y0,x);%%线性插值

y2=interp1(x0,y0,x,'spline');%%%立方样条插值 pp1=csape(x0,y0);

y3=ppval(pp1,x);%%边界为一阶导插值 pp2=csape(x0,y0,'second'); y4=ppval(pp2,x);%%边界为二阶导插值 [x',y1',y2',y3',y4'];

subplot(1,3,1) plot(x0,y0,'+',x,y1) title('Piecewise linear') subplot(1,3,2) plot(x0,y0,'+',x,y2) title('Spline1') subplot(1,3,3) plot(x0,y0,'+',x,y3) title('Spline2')

dx=diff(x);%%diff为一阶微分 dy=diff(y3); dy_dx=dy./dx; dy_dx0=dy_dx(1)

%% 求13<=x<=15内y的最小值 ytemp=y3(131:151); ymin=min(ytemp); index=find(y3==ymin); %%

xmin=x(index); [xmin,ymin] hold on

plot(xmin,ymin,'ro')

参数估计

1)非线性最小拟合

命令:lsqcurvefit解决非线性拟合问题。 人口数学模型的应用:

例子:数学建模算法与应用的的6章人口预报模型

clc, clear

a=textread('data4.txt'); %把原始数据保存在纯文本文件data4.txt中 x=a([2:2:6],:)'; %提出人口数据

x=nonzeros(x); %去掉后面的零,并变成列向量 t=[1790:10:2000]'; t0=t(1); x0=x(1);

fun=@(cs,td)cs(1)./(1+(cs(1)/x0-1)*exp(-cs(2)*(td-t0))); %cs(1)=xm,cs(2)=r

cs=lsqcurvefit(fun,rand(2,1),t(2:end),x(2:end),zeros(2,1))%%拟合,满足使最小二乘最小的参数cs

xhat=fun(cs,[t;2010]) %预测已知年代和2010年的人口 2)线性最小二乘法

人口数学模型的应用,例子:1)利用后项查分 clc, clear

a=textread('data4.txt'); %把原始数据保存在纯文本文件data4.txt中 x=a([2:2:6],:)'; x=nonzeros(x); t=[1790:10:2000]';

a=[ones(21,1), -x(2:end)];

b=diff(x)./x(2:end)/10;%%时间间隔为10年 cs=a\\b;

r=cs(1), xm=r/cs(2) 2)利用前项查分 clc, clear

a=textread('data4.txt'); %把原始数据保存在纯文本文件data4.txt中 x=a([2:2:6],:)'; x=nonzeros(x); t=[1790:10:2000]';

a=[ones(21,1), -x(1:end-1)]; b=diff(x)./x(1:end-1)/10; cs=a\\b;

r=cs(1), xm=r/cs(2) 解微分方程

1)求解常微分、线性常微分、齐次与非齐次微分方程等问题 用命令:dsolve 数学建模算法与应用p112-P114 2)初值问题的matlab数值解

用:ode45 (采用四五阶龙哥库塔方简称RK方法)、 ode23(采用二三阶RK方法)、 ode113(采用多步法,效率一般比ode45高)

用法:例如:[x,y]=ode45(fun,[a,d],y0) 其中fun为定义微分方程,[a,d]为定义区间,y0为初始值,x为在定义区间中采用四五阶龙哥库塔方法取a——d之间的值,y为其求解对应的值。 3)高阶微分方程

方法:就是讲高阶微分方程转化为一节微分方程逐级求解,在同一个命令语句里将多同意解的多节微分方程求出。用:ode45、ode15s等命令。用法和2)中有点不同之处为:fun代表的是一次微分方程且为列向量形式。Y0为一次对应的变量的初始值且也是按列向量形式排列。具体实例见《数学建模算法与应用》的P118。 4)边值问题的Matlab数值解

应用函数:bvp4c%计算数值解以及bvpinit %给出初始猜测解的结构函数。具体用法见《数学建模算法与应用》P119 For example:

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

积分函数命令 :quadl 同一组数据用不同插值方法效果比较 线性插值、三次样条插值 例子clc;clear; x0=[0 3 5 7 9 11 12 13 14 15]; y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6]; x=0:0.1:15; y1=interp1(x0,y0,x);%%线性插值 y2=interp1(x0,y0,x,'spline');%%%立方样条插值 pp1=csape(x0,y0); y3=ppval(pp1,x);%%边界为一阶导插值 pp2=csape(x0,y0,'second'); y4=ppval(pp2,x);%%边界为二阶导插值

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com