matlab在数学建模中的应用

合集下载

MATLAB在数学建模中的应用

MATLAB在数学建模中的应用

>> a=[1 -1 4 -2;1 -1 -1 2;3 1 7 -2;1 -3 -12 6];
>> rref(a) 将矩阵A化为最简阶梯形
1 0 0 0 RREF Reduced row
ans = 0 1 0 0 0010
echelon form R(A)=4=n;
0 0 0 1 所以方程组只有零解。
X = 0.0010 -1.5708 0.0008 FVAL =-2.5000
MATLAB在《微积分》中的应用 5、求积分
例9 求不定积分 cos2xcos3xdx
>> int(cos(2*x)*cos(3*x))
Integrate:积分
ans =1/2*sin(x)+1/10*sin(5*x)
MATLAB的功能
➢ MATLAB产品组是从支持概念设计、算法开发、建模仿真,
到实时实现的集成环境,可用来进行:
➢ 数据分析 ➢ 数值与符号计算 ➢ 工程与科学绘图 ➢ 控制系统设计 ➢ 数字图像信号处理 ➢ 建模、仿真、原型开发 ➢ 财务工程、应用开发、图形用户界面设计
MATLAB语言特点
➢ 编程效率高,允许用数学的语言来编写程序 ➢ 用户使用方便,把程序的编辑、编译、连接和执行融为一体 ➢ 高效方便的矩阵和数组运算 ➢ 语句简单,内涵丰富 ➢ 扩充能力强,交互性,开放性 ➢ 方便的绘图功能 ➢ 该软件由c语言编写,移植性好
0
>> int(exp(-x^2/2),0,1)
erf (x) 2 xet2dt
0
ans =
1/2*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/2)
ans 2 2 2et2dt

MatLab图形功能及其在数学建模中的应用

MatLab图形功能及其在数学建模中的应用
2 2
x2 + y2
王远干主讲
2 三维图形
用以下程序实现: x=-7.5:0.5:7.5;y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; Z=sin(R)./R; mesh(X,Y,Z)
王远干主讲
2 三维图形
王远干主讲
2 三维图形
将mesh改为surf
时刻 (h) 水位 (cm) 时刻 (h) 水位 (cm) 时刻 (h) 水位 (cm) 0 968 9.98 // 0.92 948 1.84 931 2.95 913 3.87 898 4.98 881 5.90 869 7.01 852 7.93 839 8.97 822
10.92 10.95 12.03 12.95 13.88 14.98 15.90 16.83 17.93 // 1082 1050 1021 994 965 941 918 892
王远干主讲
1. 二维图形
1.5其它 还有一些画2维图形的命令,如 fplot(‘fun’,[xmin xmax ymin ymax]) 在[xmin xmax]内画出以字符串fun表示 的函数图形,[ymin ymax]给出了y的限 制 fplot('sin(x)./x',[-20 20 -0.4 1.2]),gtext('sinx/x')
王远干主讲
3. 建模中的应用示例
例:船在该海域会搁浅吗? 在某海域测得一些点(x, y)处的水深z(单 位:英尺)由下表给出,水深数据是在 低潮时测得的。船的吃水深度为5 英尺, 问在矩形(75,200)×(−50,150)里的哪些 地方船要避免进入。
王远干主讲

matlab数学建模100例

matlab数学建模100例

matlab数学建模100例Matlab是一种强大的数学建模工具,广泛应用于科学研究、工程设计和数据分析等领域。

在这篇文章中,我们将介绍100个使用Matlab进行数学建模的例子,帮助读者更好地理解和应用这个工具。

1. 线性回归模型:使用Matlab拟合一组数据点,得到最佳拟合直线。

2. 多项式拟合:使用Matlab拟合一组数据点,得到最佳拟合多项式。

3. 非线性回归模型:使用Matlab拟合一组数据点,得到最佳拟合曲线。

4. 插值模型:使用Matlab根据已知数据点,估计未知数据点的值。

5. 数值积分:使用Matlab计算函数的定积分。

6. 微分方程求解:使用Matlab求解常微分方程。

7. 矩阵运算:使用Matlab进行矩阵的加减乘除运算。

8. 线性规划:使用Matlab求解线性规划问题。

9. 非线性规划:使用Matlab求解非线性规划问题。

10. 整数规划:使用Matlab求解整数规划问题。

11. 图论问题:使用Matlab解决图论问题,如最短路径、最小生成树等。

12. 网络流问题:使用Matlab解决网络流问题,如最大流、最小费用流等。

13. 动态规划:使用Matlab解决动态规划问题。

14. 遗传算法:使用Matlab实现遗传算法,求解优化问题。

15. 神经网络:使用Matlab实现神经网络,进行模式识别和预测等任务。

16. 支持向量机:使用Matlab实现支持向量机,进行分类和回归等任务。

17. 聚类分析:使用Matlab进行聚类分析,将数据点分成不同的类别。

18. 主成分分析:使用Matlab进行主成分分析,降低数据的维度。

19. 时间序列分析:使用Matlab进行时间序列分析,预测未来的趋势。

20. 图像处理:使用Matlab对图像进行处理,如滤波、边缘检测等。

21. 信号处理:使用Matlab对信号进行处理,如滤波、频谱分析等。

22. 控制系统设计:使用Matlab设计控制系统,如PID控制器等。

MATLAB在数学建模中的应用

MATLAB在数学建模中的应用

MATLAB在数学建模中的应用随着科学技术的不断进步,数学建模在许多领域得到了广泛的应用。

其中,MATLAB作为一种功能强大的计算软件,具有很多优势,使其成为数学建模中的重要工具之一。

本文将介绍MATLAB在数学建模中的应用。

一、MATLAB的基本特点MATLAB是一种用于数学计算、数据分析、可视化和编程的高级技术计算软件。

它提供了许多方便且易于使用的功能,包括数值分析、矩阵计算、信号处理、图像处理、统计分析和数据可视化等等。

MATLAB的高度集成性、易于编程、优雅的编程语言和强大的可视化功能,使其广泛应用于工程领域、科学研究、数学建模等领域。

二、MATLAB在数学建模中的应用1.求解数学模型MATLAB提供了一组广泛的数学函数和工具箱,用于求解各种数学模型。

例如微分方程、线性代数、函数逼近和数值积分等等。

通过这些工具箱可方便地进行数学建模,完成各种数学问题的求解。

同时,MATLAB的计算速度非常快,可以大大缩短计算时间,提高求解精度。

2.绘制图像MATLAB可以生成各种类型的图形和图表,从二维和三维函数图到统计图和数据可视化。

因为MATLAB支持向量和矩阵计算,因此绘制图像非常方便,可以准确地显示数学模型的参数变化。

这对于数学建模的理解和分析,以及对结果的解释和演示非常有帮助。

3.设计算法MATLAB是一种基于高级编程语言的环境。

因此,它为数学建模者提供了编写自己的算法的机会。

MATLAB不仅提供了许多内置的算法,而且还可以自定义算法,以满足特定的需求。

这给数学建模者带来了更多的灵活性和自主性。

4.交互式研究MATLAB提供了交互式控制台,将数值计算和可视化相结合。

数学建模者可以通过这个控制台和模型进行交互式研究,并在过程中进行参数设置和模型调整。

这种交互方式可以及时观察模型的性能和结果,以便及时调整模型参数。

同时它也可以帮助数学建模者更加深入地理解模型本身。

三、MATLAB在数学建模中的优势MATLAB具有许多出色的特点,使得它成为数学建模中的首选工具。

Matlab在数学建模中的应用3页word

Matlab在数学建模中的应用3页word

Matlab在数学建模中的应用一、前言由实验数据建立数学模型,我们通常采用回归分析,在热油管道运行优化软件的开发中,需要根据不同油品的粘温数据,回归出粘温关系数学模型,以计算出不同温度下的油品粘度。

二、热油管道运行优化软件简介1. 功能需求本软件的功能为已知输油管道系统的运行参数,寻求在特定输油任务的前提下,输油费用最小值时的工况组态,并可选择输出各工况组态的运行参数和相应费用。

2. 编程语言及开发环境本软件的功能侧重于数值计算,在寻优过程中需要进行大量的数据处理,为了能够快速得到寻优结果,需要软件具有较高的执行效率,因此本软件编程语言选择C++语言。

C++语言程序生成代码质量高,一般只比汇编程序生成的目标代码效率低10~20%,且具有指针操作功能,能够象汇编语言一样对位、字节和地址进行操作,使程序的算法更加灵活。

本软件采用Visual C++ 6.0作为软件开发环境,这是一种可视化编程工具,界面友好,逻辑清晰,调试方便,界面编制能力很强,开发的软件可以在Windows系列操作系统上良好运行。

3、软件界面本软件运行后,主界面如下图所示三、在VC++中通过调用Matlab实现回归分析1. 在VC++中调用Matlab方法简介Matlab是一种功能非常强大的数学分析软件,它广泛应用于线性代数、自动控制理论、数理统计、动态系统仿真等领域,具有扩展性好、易学易用、方便快捷等优点,但Matlab语言是一种解释性语言,它实时效率差、不可以脱离其环境独立运行,而在VC++中调用Matlab,既能保留Matlab的优良算法,又能保持VC++的高效率性, 能大大缩短本功能模块的开发周期,在VC++中调用Matlab 主要有以下两种方法:(1) 利用Matlab引擎 Matlab引擎采用客户机和服务器的计算方式,在运行中,VC++开发的程序为前端客户机,它向Matlab引擎传递命令和数据信息,并从Matlab引擎中接收数据信息,这种方法调用Matlab 采用较少的代码即可实现,但不能脱离Matlab 运行环境,且运行速度缓慢。

MATLAB在数学建模方面的应用

MATLAB在数学建模方面的应用

MATLAB在数学建模方面的应用计算机仿真技术与CAD——基于MATLAB的控制系统(第二版)课程结业论文课题:matlab在数学建模方面的应用专业班级: 08自动化学生:学号:设计时间: 2010/12/20论文目录一、MATLAB简介二、Matlab在现在科技及生产上的应用三、利用matlab实现数学建模的一般步骤四、Matlab在数学建模方面的应用示例五、论文结束语一、 MATLAB的简介:MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

二、软件应用Matlab以其丰富的数据类型和结构、友善的面向对象、快速的图形可视、广博的应用开发工具在控制界得到了广泛地应用,目前已成为控制系统计算机辅助设计领域中最流行和最受欢迎的软件环境。

但是,用Matlab进行控制系统分析,需要学会Matlab的M编程语言和熟悉它的子程序。

因此,如何利用Matlab强大的图形对象属性设置技术及图形用户界面制作技术为自动控制教学服务成为主要课题。

为此,设计了具有良好的人机交互界面并能完成线性控制系统的计算机辅助分析的教学软件。

数学模型是控制系统分析研究的基础,也是综合设计系统的依据。

Matlab在数学建模中的应用

Matlab在数学建模中的应用
• 同样,可以以Y轴为对数重新绘制上述曲线,程序为:
x=[0:0.01:2*pi] y=abs(1000*sin(4*x))+1 semilogy(x,y); 单对数Y轴绘图命令
1.2特殊坐标图形
• 二、 极坐标图
函数polar(theta,rho)用来绘制极坐标图,theta为 极坐标角度,rho为极坐标半径
4.4 三维图形
• 三、surf函数
• surf用于绘制三维曲面图,各线条之间的补面用颜色 填充。surf函数和mesh函数的调用格式一致。
• 函数格式: surf (x,y,z)
• 其中x,y控制X和Y轴坐标,矩阵z是由x,y求得的曲 面上Z轴坐标。
•【例11】 下列程序绘制三维曲面图形 •x=[0:0.15:2*pi];
• y=sin(x);
• z=cos(x); • plot(x,y,'b');
• hold on;
• plot(x,z,'g'); 弦曲线
%绘制正弦曲线 %设置图形保持状态 %保持正弦曲线同时绘制余
• axis ([0 2*pi -1 1]);
• legend('cos','sin');
• hold off
• 【例5】 为正弦、余弦曲线增加图例
1.1 二维图形
二、 subplot函数 • (一)subplot(m,n,p) • 该命令将当前图形窗口分成m×n个绘图
区,即每行n个,共m行,区号按行优先 编号,且选定第p个区为当前活动区。
【例6】 在一个图形窗口中同时绘制正弦、 余弦、正切、余切曲线
1.1 二维图形
• 一、阶梯图形
• 函数stairs(x,y)可以绘制阶梯图形,如下列程序段:

#MATLAB在数学建模中的应用

#MATLAB在数学建模中的应用
以五年为一个年龄段,则某一时刻三个年龄段的动 物数量可以用一个向量X(k)=[x1(k) x2(K) x3(k)]T为第 k个时间段动物数分布向量。
当k=0,1,2,3时, X(k)表示现在、五年后、十年后、 十五年后的动物数分布向量。根据第二年龄段和 第三年龄段的繁殖能力,在第k个时间段,第二 年龄组动物在其年龄段平均繁殖4个后代,第三 年龄组动物在其年龄段平均繁殖3个后代。由此 得第一个年龄组在第k+1个时间段的数量如下: x1(k+1)=4x2(k)+3x3(k)
使用形式: x=linprog(f,A,b) x=linprog(f,A,b,Aeq,beq,lb,ub) x=linprog(f,A,b,Aeq,beq,lb,ub,x0)
x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options) [x,fval]=linprog(…) [x,fval,exitflag]=linprog(…) [x,fval,exitflag,output]=linprog(…) [x,fval,exitflag,output,lambda]=linprog(…)
这说明多年以后,动物数量是大得非常惊人。 如果每年向市场供应动物c=[s s s]T,分析动物数分布 向量变化的规律可知
X(1)=AX(0)-c X(2)=AX(1)-c X(3)=AX(2)-c X(4)=AX(3)-c
X(4)=A4X(0)-(A3+A2+A+I)c
考虑20年后动物不灭绝,应有X(4)>0 即
根据有关生物学研究结果,对于足够大的时间值 k,有
X(k1) 1X(k)
其中 是莱斯利矩阵L的唯一的正特值
请检验这一结果是否正确,如果正确给出适当的k 值
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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.91450.9601 1 1.0575 1.1508 1.2579 1.3234 1.4005 1.5042 1.63421.7842 1.95142.0688]'先观察x与z之间,y与z之间的散点图plot(x,z,'*')plot(y,z,'*')由散点图可以看出,投资额和国民生产总值与物价指数都近似呈线性关系,因此可以建立多元线性回归模型012z x y βββε=+++直接利用统计工具箱直接计算[b,bint,r,rint,stats]=regress(z,X,alpha)输入z :n 维数据向量X:[ones(20,1) x y],这里的1是个向量,元素全为常数1,即为ones(n,1)Alpha:置信水平,一般为0.05输出b :β的估计值bint:b 的置信区间r :残差向量z-Xbrint: r 的置信区间Stats:检验统计量2R ,F , p代入上述公式[b,bint,r,rint,stats]=regress(z,X,0.05)有b =322.7563056350880.618516611734168-859.579151516612即322.75630.61850.859.479=+-z x y由stats =0.9972 920.476113008107 0知z的99.085%可由模型确定,F远超过F检验的临界值,p远小于α=0.05 .bint =224.4022221134 421.1103891567770.477375412990184 0.759657810478151-1121.49331646023 -597.664986572995b的置信区间不包含零点,x,y对z影响都是显著的。

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.91450.9601 1 1.0575 1.1508 1.2579 1.3234 1.4005 1.5042 1.63421.7842 1.95142.0688]';>> X=[ones(20,1) x y];>> [b,bint,r,rint,stats]=regress(z,X,0.05)b =322.75630.6185-859.5792bint =1.0e+003 *0.2244 0.4211 0.0005 0.0008 -1.1215 -0.5977 r =15.13525.73142.4699-4.8419-14.5678-20.1721-11.3072-6.47262.4121-1.6760-4.35188.07096.402410.099218.683918.41469.5185-14.88351.9954-20.6605rint =-8.7701 39.0405 -19.9490 31.4118 -23.6775 28.6173 -30.8377 21.1539 -39.6068 10.4712 -44.0093 3.6652 -37.0101 14.3956 -32.8144 19.8691 -24.2139 29.0382 -28.3542 25.0022 -30.0489 21.3453 -18.4680 34.6097 -16.3235 29.1283 -15.2378 35.4362-6.1337 43.5015-4.5227 41.3519-13.6047 32.6417-38.9498 9.1828-22.0553 26.0461-38.2783 -3.0427stats =0.9909 920.4761 0 161.5988>>1.1.2 求数字特征例2 已知50个数据x=[451.42 43.895 27.185 312.69 12.863 383.97 683.1 292.842 35.338 612.4 608.54 15.76 16.355 190.07 586.92 57.581 367.57 631.45 717.63 692.67 84.079 454.36 441.83 353.25 153.61 675.64 699.21 727.51 478.38 554.84 121.05 450.75 715.88 892.84 273.1 254.77 865.6 232.35 804.87 908.4 231.89 239.31 49.754 78.384 640.82 190.89 843.87 173.9 170.79 994.3],计算其数字特征。

输入数据,利用下列提供的函数可以求得各数字特征。

min(x): 向量x的元素的最小值max(x): 向量x的元素的最大值mean(x): 向量x的元素的算术平均值geomean(x):向量x的元素的几何平均值(n 个正数的连乘积的n 次算术根叫做这n 个数的几何平均数)median(x): 向量x 的元素的中位数var(x):向量x 的元素的方差std(x): 向量x 的元素的标准差diff(x): 向量x 的相邻元素的差sort(x): 对向量x 的元素进行排序(Sorting )length(x): 向量x 的元素个数sum(x): 向量x 的元素总和prod(x): 向量x 的元素总乘积1.2 模型的求解分析与检验1.2.1 拟合数据做预测例3 以下是美国1790年至2000年的人口统计数据(单位:百万),建立人口发展模型并预测2010年美国的人口数目。

根据分析,第t 年的人口x 满足0r t x x e = (指数增长模型)将上式两边取对数,得y rt a =+,ln y x =,0ln a x =由t=0:21,x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 92 106.5 123.2 131.7 150.7 179.3 204 226.5 251.4 281.4] y=log(x);f=polyfit(t,y,1),得到r=0.2022,0x = 1.7992a e e ==6.045x(22)=516.770百万1.2.2 绘制误差条图将模型得出的结果与真实结果作比较,绘制出对比图和误差条图,反应模型与实际的吻合程度。

如上例,模型结果与实际人口数的对比图以及误差条图可由命令t=0:21,x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 92 106.5 123.2 131.7 150.7 179.3 204 226.5 251.4 281.4]; plot(t,x,'*',t,6.0448*exp(0.2022*t),'o',t,6.0448*exp(0.2022 *t));errorbar([1790:10:2000],ones(1,22),x-6.0448*exp(0.2022*t)) 1.2.3 对模型进行模拟对于一些没有给出数据的实际问题,建立模型后往往需要找一组随机数据进行模拟,从而检验模型的优劣。

例4 已知一栋大厦有9部电梯,上下班高峰期和非高峰期上下电梯的人数有显著的差别,为节约用电,试建立数学模型进行电梯的调试。

题中没有给出等电梯的人数,在建立完数学模型后,就可以利用matlab模拟一组各时间段等电梯的人数带入模型求解和检验。

由概率知识知道,到达电梯的人数呈正态分布且在上班之前的某一刻和下班之后的某一刻达到峰值,可以使用X=normrnd(mu,sigma,1,n)来生成均值为mu,方差为sigma的一组(n个)随机数来模拟。

2 实例分析实例1 (身高问题)学校随机抽取100名学生,测量他们的身高,得一组数据。

相关文档
最新文档