搜档网
当前位置:搜档网 › MATLAB数学建模算法学习笔记

MATLAB数学建模算法学习笔记

MATLAB数学建模算法学习笔记
MATLAB数学建模算法学习笔记

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

目录

线性规划中应用: (3)

非线性规划: (3)

指派问题;投资问题:(0-1问题) (3)

1)应用fmincon命令语句 (3)

2)应用指令函数:bintprog (5)

重新整理矩阵类型 (6)

1)应用reshape (6)

2)应用命令:nonzeros (7)

非线性的最小值得求法:含有一个变量时,应用命令:fminsearch(@fun,x0) (7)

含有多个变量时用:fminunc() (7)

求解非线性多变量等式应用命令fsolve (8)

二次规划问题应用:quadprog (8)

把有条件的问题转化成无条件问题。罚函数法:fminunc (9)

在Matlab中求解极值问题函数有: (9)

1)fminbnd (9)

1:在Matlab中求解距离的函数为:dist (9)

最小生成树 (9)

prim算法 (10)

Find函数的应用 (10)

关于图论的Matlab工具箱相关命令 (10)

这些命令基本上都用到稀疏阵,产生稀疏阵用sparse命令 (10)

查看网图用view (11)

积分命令quadl (11)

Matlab插值工具箱 (11)

一维插值:interp1 (11)

二维插值: (11)

插值接点为网格节点:interp2 (11)

插值节点为散乱节点:griddata (11)

最小二乘法 (11)

2)应用lsqlin命令语句 (12)

三次样条差 (12)

积分函数命令:quadl (13)

同一组数据用不同插值方法效果比较线性插值、三次样条插值 (13)

参数估计 (14)

1)非线性最小拟合 (14)

命令:lsqcurvefit解决非线性拟合问题。 (14)

2)线性最小二乘法 (15)

解微分方程 (16)

1)求解常微分、线性常微分、齐次与非齐次微分方程等问题 (16)

2)初值问题的matlab数值解 (16)

3)高阶微分方程 (16)

4)边值问题的Matlab数值解 (16)

多目标规划问题 (18)

解决方案: (18)

1)加权系数法。 (18)

2)优先等级法。 (18)

3)序贯算法 (18)

4)应用多目标规划的MATLAB函数fgoalattain具体见《数学建模算法与应用》

P131 (18)

5)多目标规划可以归结为: (18)

分类问题 (19)

聚类分析:Q型和R型 (19)

用于求元素之间距离的命令:mandist (19)

去掉非零元命令:nonzeros (19)

去掉重复的元素命令:union (19)

Matlab聚类分析的相关命令 (19)

知识点

线性规划中应用:

1)X=linprog(c,a,b,aeq,beq,zeros(x的个数,1) ) 用于在限制条件下的最小值;

X=linprog(-c,a,b,aeq,beq,zeros(x的个数,1) ) 用于在限制条件下的最大值;

非线性规划:

1)X=fmincon(fun,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)

指派问题;投资问题:(0-1问题)

1)应用fmincon命令语句

Matlab 中非线性规划的数学模型写成以下形式

其中 f ( x) 是标量函数,A, B, Aeq, Beq 是相应维数的矩阵和向量,C( x), Ceq( x) 是非线性向量函数。

Matlab 中的命令是

X=FMINCON(FUN,X0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS) 它的返回值是向量x ,其中FUN 是用M 文件定义的函数 f ( x) ;X0 是x 的初始值;A,B,Aeq,Beq 定义了线性约束A * X B, Aeq * X Beq ,如果没有线性约束,则A=[],B=[],Aeq=[],Beq=[];LB 和UB 是变量x 的下界和上界,如果上界和下界没有约束,则LB=[],UB=[],如果x 无下界,则LB 的各分量都为-inf,如果x 无上界,则UB的各分量都为inf;NONLCON 是用M 文件定义的非线性向量函数C( x), Ceq( x) ;OPTIONS定义了优化参数,可以使用Matlab 缺省的参数设置。

例子:

2)应用指令函数:bintprog

重新整理矩阵类型1)应用reshape

2)应用命令:nonzeros

功能是将a=nonzeros(b)矩阵b按列逐次去值放在a中形成一个列向量。

非线性的最小值得求法:含有一个变量时,应用命令:fminsearch(@fun,x0)

含有多个变量时用:fminunc()

求解非线性多变量等式应用命令fsolve

二次规划问题应用:quadprog

把有条件的问题转化成无条件问题。罚函数法:fminunc 其中:用法[X,Y]=fminunc(‘test3’,rand(1,2))与

[X,Y]=fminunc(@test3,rand(1,2))相同。

缺点:精度不高。

在Matlab中求解极值问题函数有:

1)fminbnd

解决单变量非线性函数在区间上的极小值问题。

3)fseminf

解决多变量、含有非线性约束的极小值问题。

3)fminimax

解决多变量,满足在多个式子中极小——极大问题。

加一个负号就是解决多个式子中极大——极小值问题。4)利用梯度求解约束优化问题。

1:在Matlab中求解距离的函数为:dist

2:Sin()的反函数用asind()表示

3:将数据生成txt文本:dlmwrite

最小生成树

prim算法

Find函数的应用

1)I=find(A)找出A内的非零元素位置,按列查找。一次写在I 中。

2)[I,J,K]=find(A)找出A中非零元素的位置,将行标放入I中,将列表放入J中,将数值放入K中,按理寻找。

关于图论的Matlab工具箱相关命令

这些命令基本上都用到稀疏阵,产生稀疏阵用sparse命令

1)graphallshortestpaths 求图中所有顶点之间的最短距离

2)graphconncomp 找无向图的连通分支,或有向图的强(弱)连通分支

3)Graphisdag测试所有有向图是否含有圈,不含圈返回1,含圈返回0

4)Graphisomorphism确定连个图是否同构,同构返回1,否则返回0

5)Graphisspantree 确定一个图是否是生成树,是返回1,否则返回0

6) Graphmaxflow计算有向图的最大流

7)Graphminspantree在图中找最小生成树

8)Graphpred2path把前驱顶点的一对顶点间的最短距离和嘴短路径

9)Graphtopoorder执行有向无圈图的拓扑排序

10)Graphtraverse求从一顶点出发,所能遍历图中的顶点

查看网图用view

用法:view(biograph(ST,[],'ShowArrows','off','ShowWeights','on'))其中ST为树。

积分命令quadl

Matlab插值工具箱

一维插值:interp1

二维插值:

插值接点为网格节点:interp2

插值节点为散乱节点:griddata

最小二乘法

1)

2)应用lsqlin命令语句3)

三次样条差

积分函数命令: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)=x m,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:

具体程序如下:

clc, clear

yprime=@(x,y)[y(2);(y(1)-1)*(1+y(2)^2)^(3/2)]; %定义一阶方程组的匿名函数

res=@(ya,yb)[ya(1);yb(1)]; %定义边值条件的匿名函数

yinit=@(x)[x.^2;2*x]; %定义初始猜测解的匿名函数,这里换了另外一个初始猜测解solinit=bvpinit(linspace(-1,1,20),yinit); %给出初始猜测解的结构

sol=bvp4c(yprime,res,solinit); %计算数值解

fill(sol.x,sol.y(1,:),[0.7,0.7,0.7]) %填充解曲线

axis([-1,1,0,1])

xlabel('x','FontSize',12)

ylabel('h','Rotation',0,'FontSize',12)

多目标规划问题

解决方案:

1)加权系数法。

2)优先等级法。

3)序贯算法

就是根据优先级的先后次序,将目标规划问题分解为一系列的单目标规划问题,然后再一次求解。

4)应用多目标规划的MATLAB函数fgoalattain具体见《数学建模算法与应用》P131 5)多目标规划可以归结为:

应用fgoalattain的多目标规划步骤实质上是将多目标先分解为单目标进行求解单目标的最优,再根据单目标求解的最优目标运用fgoalattain函数根据各目标的优先级、权重等进行重新规划,得到的才是符合整体目标的数值。

分类问题

《数学建模算法与应用》P193

一般用元素之间的距离来表示样本元素之间的相似性,一次来分类。聚类分析:Q型和R型

用于求元素之间距离的命令:mandist

去掉非零元命令:nonzeros

去掉重复的元素命令:union

Matlab聚类分析的相关命令

相关资料在《数学建模算法与应用》P198——200

MATLAB及在数学建模中的应用

第1讲MATLAB及 在数学建模中的应用 ? MatLab简介及基本运算?常用计算方法 ?应用实例

一、 MatLab简介及基本运算 1.1 MatLab简介 1.2 MatLab界面 1.3 MatLab基本数学运算 1.4 MatLab绘图

1.1 MatLab简介?MATLAB名字由MATrix和 LABoratory 两词组成。20世纪七十年代后期, 美国新墨西哥大学计算机科学系主任Cleve Moler教授为减轻学生编程负担,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

?经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

?1997年春,MATLAB5.0版问世,紧接着是5.1、5.2、5.3、6.0、6.1、6.5、7.0版。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。 ?20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。

?MATLAB具有用法简易、可灵活运用、程式结构强又兼具延展性。以下为其几个特色: ①可靠的数值运算和符号计算。在MATLAB环境中,有超过500种数学、统计、科学及工程方面的函 数可使用。 ②强大的绘图功能。 MATLAB可以绘制各种图形,包括二维和三维图形。 ③简单易学的语言体系。 ④为数众多的应用工具箱。

数学建模matlab例题参考及练习

数学实验与数学建模 实验报告 学院: 专业班级: 姓名: 学号: 完成时间:年月日

承 诺 书 本人承诺所呈交的数学实验与数学建模作业都是本人通过学习自行进行编程独立完成,所有结果都通过上机验证,无转载或抄袭他人,也未经他人转载或抄袭。若承诺不实,本人愿意承担一切责任。 承诺人: 年 月 日 数学实验学习体会 (每个人必须要写字数1200字以上,占总成绩的20%) 练习1 一元函数的图形 1. 画出x y arcsin =的图象. 2. 画出x y sec =在],0[π之间的图象. 3. 在同一坐标系中画出x y =,2x y =,3 x y = ,3x y =,x y =的图象. 4. 画出3 2 3 2)1()1()(x x x f + +-=的图象,并根据图象特点指出函数)(x f 的奇偶性. 5. 画出)2ln(1++=x y 及其反函数的图象. 6. 画出3 21+=x y 及其反函数的图象.

练习2 函数极限 1.计算下列函数的极限. (1) x x x 4 cos 1 2 sin 1 lim 4 - + π → . 程序: sym x; f=(1+sin(2*x))/(1-cos(4*x)); limit(f,x,pi/4) 运行结果: lx21 ans = 1 (2). 程序: sym x; f=(1+cos(x))^(3*sec(x)); limit(f,x,pi/2) 运行结果: lx22 ans = exp(3) (3) 2 2 ) 2 ( sin ln lim x x x - π π → . 程序: sym x; f=log(sin(x))/(pi-2*x)^2; limit(f,x,pi/2) 运行结果: lx23 ans = -1/8 (4) 2 1 2 lim x x e x →. 程序: x x x sec 3 2 ) cos 1( lim+ π →

matlab在数学建模中的应用

Matlab在数学建模中的应用 数学建模是通过对实际问题的抽象和简化,引入一些数学符号、变量和参数,用数学语言和方法建立变量参数间的内在关系,得出一个可以近似刻画实际问题的数学模型,进而对其进行求解、模拟、分析检验的过程。它大致分为模型准备、模型假设、模型构成、模型求解、模型分析、模型检验及应用等步骤。这一过程往往需要对大量的数据进行分析、处理、加工,建立和求解复杂的数学模型,这些都是手工计算难以完成的,往往在计算机上实现。在目前用于数学建模的软件中,matlab 强大的数值计算、绘图以及多样化的工具箱功能,能够快捷、高效地解决数学建模所涉及的众多领域的问题,倍受数学建模者的青睐。 1 Matlab在数学建模中的应用 下面将联系数学建模的几个环节,结合部分实例,介绍matlab 在数学建模中的应用。 1.1 模型准备阶段 模型准备阶段往往需要对问题中的给出的大量数据或图表等进行分析,此时matlab的数据处理功能以及绘图功能都能得到很好的应用。 1.1.1 确定变量间关系 例1 已知某地连续20年的实际投资额、国民生产总值、物价指数的统计数据(见表),由这些数据建立一个投资额模型,根据对未来国民生产总值及物价指数的估计,预测未来的投资额。

表1 实际投资额、国民生产总值、物价指数的统计表 记该地区第t年的投资为z(t),国民生产总值为x(t),物价指数为y(t)。 赋值: z=[90.9 97.4 113.5 125.7 122.8 133.3 149.3 144.2 166.4 195 229.8 228.7 206.1 257.9 324.1 386.6 423 401.9 474.9 424.5]' x=[596.7 637.7 691.1 756 799 873.4 944 992.7 1077.6 1185.9 1326.4 1434.2 1549.2 1718 1918.3 2163.9 2417.8 2631.6 2954.7 3073]' y=[0.7167 0.7277 0.7436 0.7676 0.7906 0.8254 0.8679 0.9145 0.9601 1 1.0575 1.1508 1.2579 1.3234 1.4005 1.5042 1.6342 1.7842 1.9514 2.0688]' 先观察x与z之间,y与z之间的散点图 plot(x,z,'*') plot(y,z,'*') 由散点图可以看出,投资额和国民生产总值与物价指数都近似呈

matlab数学建模实例

第四周 3. 中的三个根。 ,在求8] [0,041.76938.7911.1-)(2 3=-+=x x x x f function y=mj() for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769; if (abs(x1)<1.0e-8) x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(ε分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end 2 ,020102)(023==-++=x x x x x f

x3 k 牛顿法: function y=newton(x0) x1=x0-fc(x0)/df(x0); k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G;

MATLAB及其在数学建模中的应用

Modeling and Simulation 建模与仿真, 2015, 4(3), 61-71 Published Online August 2015 in Hans. https://www.sodocs.net/doc/7013754719.html,/journal/mos https://www.sodocs.net/doc/7013754719.html,/10.12677/mos.2015.43008 Study of MATLAB and Its Application in Mathematical Modeling Chuanqi Qin, Ting Wang, Yuanfeng Jin School of Science, Yanbian University, Yanji Jilin Email: yfkim@https://www.sodocs.net/doc/7013754719.html, Received: Jul. 22nd, 2015; accepted: Aug. 11th, 2015; published: Aug. 18th, 2015 Copyright ? 2015 by authors and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). https://www.sodocs.net/doc/7013754719.html,/licenses/by/4.0/ Abstract This article firstly introduces the development and the features of MATLAB software. And then the concept and the process of mathematical modeling are explained. After, the article briefly intro-duces some MATLAB solution methods of mathematical modeling problems, giving several in-stances of some methods. At the last of this article, through a relatively complete example, it fo-cuses on the application of MATLAB in mathematical modeling. It has been found that the applica-tion of MATLAB in mathematical modeling can improve the efficiency and quality of mathematical modeling, enrich the means and methods of mathematical modeling, and play a very important role in the teaching of mathematical modeling course. Keywords MATLAB, Mathematical Modeling, Mathematic Model MATLAB及其在数学建模中的应用 秦川棋,王亭,金元峰 延边大学理学院,吉林延吉 Email: yfkim@https://www.sodocs.net/doc/7013754719.html, 收稿日期:2015年7月22日;录用日期:2015年8月11日;发布日期:2015年8月18日

matlab数学建模实例

第四周3. 中的三个根。 ,在求8] [0,041.76938.7911.1-)(2 3=-+=x x x x f function y=mj()for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769;if (abs(x1)<1.0e-8)x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(ε分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20;k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1;end x1k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10;x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1;end 2 ,020102)(023==-++=x x x x x f

x3 k 牛顿法: function y=newton(x0) x1=x0-fc(x0)/df(x0); k=1; while(abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G;

10909-数学建模-应用MATLAB建模的一个例子

应用MATLAB 的一个例子 ——数学也是一门技术 王天顺 整理 本来想用 “数学也是一门技术”作题目,主要是基于两点,一是从数学的应用角度,它的确具备了作为一门技术的特征,这也就是今天我要通过一个例子要表达的;二是咱们在座的大多数都是从事职业教育的老师,不知道我理解得是不是正确,职业教育与普通教育的区别是较为侧重于教授技术,我主观上感觉这个题目和大家的关系更紧密一些。但是,这个题目有点太大了!和领导商量了一下还是换个题目吧。 首先可以证明:数学确是一门技术,比如说要从技术的定义入手,流行的做法是:查查《辞海》,查查相关的如《科学学辞典》和《科技辞典》等等,看看他们是怎样给技术定义的;其次,论述一下数学的确是符合这些定义的。 实际上,我也确实查阅过这些资料,可以说没有问题,一定可以找到证据证明这个论断! 注:“技术”一词的中文解释有两种,一种是以《辞海》为代表的解释,把技术定义为:(1 )泛指根据生产实践经验和自然科学原理而发展成的各种工艺操作方法与技能;(2)除操作技能外, 广义的还包括相应的生产工具和其他物质设备,以及生产的工艺过程或作业程序、方法。另一种是以《科学学辞典》和《科技辞典》为代表的解释,把技术定义为:是为社会生产和人类物质文化生活需要服务的,供人类利用和改造自然的物质手段、智能手段和信息手段的总和。 可见, “技术”一词所包含的内容除了有形的物化形态之外,还包括无形的智能形态方面。无形的智能形态的技术是客观存在的,在某种意义上说,这方面技术的作用并不亚于物化形态的技术,更不能为物化形态技术所取代(背景资料)。因此,有关“技术”的涵义,有人概括为:指的是有形的物化技术和无形的智能技术的总和。 当然,容易想到我们把数学看作一门技术,可能更多的是从技术的无形“智能形态”角度论述的。我想这只是他的一个方面,今天先给各位介绍的是一个例子,展现他的另一个方面,用数学(包括相关的软件)去解决一个实际问题,其过程就像“传统的”、物化形态的技术一样;其次,结合上述例子,探讨有关数学建模及相关培训指导工作的一般原则和步骤,谈一点个人对此项工作的认识;最后,介绍我校的这些年数学建模培训工作的一些具体做法。 一、足球比赛中的吊门问题 1. 问题:只考虑如下的因素:球与球门的距离为a ,守门员与球门的距离为b (假设在调 门过程中,守门员不能移动),球门高h ,守门员最大摸高H ,球出脚的初速度为0v ,与水平方向的夹角为α(称为初射角).针对下列数据求能吊门成功的α,h=2.44m ,H=3.20m ,s m v /300= ,重力加速度g=10m/s 2,针对下列几组数据分别给出具体能吊门成功的相应初射角范围,要求精度在小数点后第4位。 (1) a=6m ,b=1m ; (2) a=10m ,b=3m ; (3) a=20m ,b=5m ; 2. 问题分析 (1) 在不考虑空气阻力的情况下,抛射体的运动轨迹是抛物线:

matlab数学建模实例

第四周 3. function y=mj() for x0=0:0.01:8 x1=x0^3-11.1*x0^2+38.79*x0-41.769; if (abs(x1)<1.0e-8) x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度( 分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>=1.0e-3) x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end x3 k 牛顿法: function y=newton(x0)

x1=x0-fc(x0)/df(x0); k=1; while (abs(x1-x0)>=1.0e-3) x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>=1.0e-8 x0=s; s=B*x0+G; n=n+1; end n Seidel迭代法: function s=seidel(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1);

matlab数学建模实例

m a t l a b数学建模实例集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

第四周3. function y=mj() for x0=0::8 x1=x0^*x0^2+*; if (abs(x1)< x0 end end 4.分别用简单迭代法、埃特金法、牛顿法求解方程,并比较收敛性与收敛速度(分别取10-3、10-5、10-8)。 简单迭代法: function y=jddd(x0) x1=(20+10*x0-2*x0^2-x0^3)/20; k=1; while (abs(x1-x0)>= x0=x1; x1=(20+10*x0-2*x0^2-x0^3)/20;k=k+1; end x1 k 埃特金法: function y=etj(x0) x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0); k=1; while (abs(x3-x0)>= x0=x3; x1=(20-2*x0^2-x0^3)/10; x2=(20-2*x1^2-x1^3)/10; x3=x2-(x2-x1)^2/(x2-2*x1+x0);k=k+1; end x3 k 牛顿法: function y=newton(x0) x1=x0-fc(x0)/df(x0);

k=1; while (abs(x1-x0)>= x0=x1; x1=x0-fc(x0)/df(x0);k=k+1; end x1 k function y=fc(x) y=x^3+2*x^2+10*x-20; function y=df(x) y=3*x^2+4*x+10; 第六周 1.解例6-4(p77)的方程组,分别采用消去法(矩阵分解)、Jacobi迭代法、Seidel迭代法、松弛法求解,并比较收敛速度。 消去法: x=a\d 或 [L,U]=lu(a); x=inv(U)inv(L)d Jacobi迭代法: function s=jacobi(a,d,x0) D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1); C=inv(D); B=C*(L+U); G=C*d; s=B*x0+G; n=1; while norm(s-x0)>= x0=s; s=B*x0+G; n=n+1; end n Seidel迭代法: function s=seidel(a,d,x0) D=diag(diag(a));

基于matlab的数学建模

MATLAB在数学建模中的应用 (张威10322010910级专升本电气一班) 摘要 随着社会和计算机技术的发展,数学科学与计算机技术相结合,在社会各领域发挥着越来越重要的作用,能够方便、高效的解决各种实际问题。在目前用于数学建模的软件中,Matlab强大的数值计算、绘图以及多样化的工具箱功能,能够快捷、高效地解决数学建模所涉及的众多领域的问题,倍受数学建模者的青睐。Matlab是一款非常好的软件,功能强大,应用面广。从实例出发,论述Matlab在数学建模中的应用,以提高对Matlab软件的认识,提高解决实际问题的能力。本文结合数学建模的几个环节,用一些实例阐述了Matlab在数学建模中的应用。将Matlab用于数学建模可以提高数学建模的效率和质量。丰富数学建模的方法和手段,具有重要的意义。 关键词:Matlab软件,数学建模,最优化 Abstract With the development of society and computer technology,mathematics,science and computer technology in all areas of society is playing an increasingly important role,It can easily and efficiently to solve practical problems.In the currently used mathematical modeling software,Matlab powerful numerical calculations,drawings,and a variety of toolbox functions,can quickly and efficiently solve the mathematical modeling involved in many areas of concern,much of those mathematical modeling all ages.Matlab is a very good software,powerful,wide range of applications.Starting from the example,discussed in Matlab in the application of mathematical modeling to improve understanding of the Matlab software,to improve the ability to solve practical problems.In this paper,several aspects of mathematical modeling with Matlab examples described in the application of mathematical modeling.Mathematical modeling of Matlab for mathematical modeling can improve the efficiency and quality.Extensive mathematical modeling methods and means of great significance. Key Words:MATLAB software,Mathematical modeling,Optimization

数学建模matlab例题参考及练习讲课稿

数学建模m a t l a b例题参考及练习

数学实验与数学建模 实验报告 学院: 专业班级: 姓名: 学号: 完成时间:年月日

承 诺 书 本人承诺所呈交的数学实验与数学建模作业都是本人 通过学习自行进行编程独立完成,所有结果都通过上机验 证,无转载或抄袭他人,也未经他人转载或抄袭。若承诺 不实,本人愿意承担一切责任。 承诺人: 年 月 日 数学实验学习体会 (每个人必须要写字数1200字以上,占总成绩的20%) 练习1 一元函数的图形 1. 画出x y arcsin =的图象. 2. 画出x y sec =在],0[π之间的图象. 3. 在同一坐标系中画出x y = ,2x y =,3x y =,3x y =,x y =的图象. 4. 画出3232)1()1()(x x x f ++-=的图象,并根据图象特点指出函数)(x f 的 奇偶性. 5. 画出)2ln(1++=x y 及其反函数的图象.

6. 画出321+=x y 及其反函数的图象. 练习2 函数极限 1. 计算下列函数的极限. (1)x x x 4cos 12sin 1lim 4-+π→. 程序: sym x ; f=(1+sin(2*x))/(1-cos(4*x)); limit(f,x,pi/4) 运行结果: lx21 ans = 1 (2). 程序: sym x ; f=(1+cos(x))^(3*sec(x)); limit(f,x,pi/2) 运行结果: lx22 ans = exp(3) (3)22)2(sin ln lim x x x -ππ→. 程序: sym x ; f=log(sin(x))/(pi-2*x)^2; limit(f,x,pi/2) 运行结果: lx23 ans = x x x sec 3 2 ) cos 1 ( lim + π →

(2)MATLAB应用实例分析

Matlab 应用例题选讲 仅举一些运用MATLAB 的例子,这些问题在数学建模中时常遇到,希望能帮助同学们在短时间内方便、快捷的使用MATLAB 解决数学建模中的问题,并善用这一工具。 常用控制命令: clc :%清屏; clear :%清变量; save :%保存变量; load :%导入变量 一、利用公式直接进行赋值计算 本金P 以每年n 次,每次i%的增值率(n 与i 的乘积为每年增值额的百分比)增加,当增加到r ×P 时所花费的时间T 为:(利用复利计息公式可得到下式) ) 01.01ln(ln )01.01(i n r T i P P r nT += ?+=?(12,5.0,2===n i r ) MATLAB 的表达形式及结果如下: >> r=2;i=0.5;n=12; %变量赋值 >> T=log(r)/(n*log(1+0.01*i)) 计算结果显示为: T = 11.5813 即所花费的时间为T=11.5813 年。 分析:上面的问题是一个利用公式直接进行赋值计算问题,实际中若变量在某个范围变化取很多值时,使用MATLAB ,将倍感方便,轻松得到结果,其绘图功能还能将结果轻松的显示出来,变量之间的变化规律将一目了然。 若r 在[1,9]变化,i 在[0.5,3.5]变化;我们将MATLAB 的表达式作如下改动,结果如图1。 r=1:0.5:9; i=0.5:0.5:3.5; n=12; p=1./(n*log(1+0.01*i)); T=log(r')*p; plot(r,T) xlabel('r') %给x 轴加标题 ylabel('T') %给y 轴加标题 q=ones(1,length(i)); text(7*q-0.2,[T(14,1:5)+0.5,T(14,6)-0.1,T(14,7)-0.9],num2str(i')) r T 图1

相关主题