当前位置:首页 >> 数学 >> 数学建模专题(软件)

数学建模专题(软件)


数学建模专题讲座
常用的软件

数学建模中需要的三类软件
一、高级程序语言 推荐使用matlab 二、数学规划求解软件 推荐使用lingo 三、统计软件 一般使用spss

一、matlab
利用常用的数学软件(matlab)可以解 决微积分、线性代数、概率论与数理统计、 运筹学等数学课程中的所有计算问题。

数学数学软件还有一些特色功能,例如 有强大的图形设计,系统仿真,专业的工 具箱。

1、matlab概述
MATLAB 是MATrix LABoratory (“矩阵实验室”)的缩写,是由美 国MathWorks 公司开发的集数值计算、 符号计算和图形可视化三大基本功能 于一体的,功能强大、操作简单的语 言。是国际公认的优秀数学应用软件 之一。

1、matlab概述
(1)MATLAB语言的发展
matlab语言是由美国的Clever Moler博 士于1980年开发的 设计者的初衷是为解决“线性代数”课 程的矩阵运算问题

1、matlab概述
工程师Jack Little将matlab用C语言重 写,提高了其运行效率。 1984年成立MathWorks公司,matlab 正式推向市场。 Matlab先后推出了3.5版、4.0版、4.2 版等等版本,其中6.5版本是一个飞跃。 目前,matlab的最新版本是2007版。

1、matlab概述
(2)Matlab的特点: 1)运算符和库函数极其丰富,语言简洁,编 程效率高,MATLAB除了提供和C语言一样 的运算符号外,还提供广泛的矩阵和向量 运算符。利用其运算符号和库函数可使其 程序相当简短,两三行语句就可实现几十 行甚至几百行C或FORTRAN的程序功能。

感受matlab的效率
引例:计算?
2 1

Matlab命令: quad('sin(x)./x',1,2)

sin x dx x

利用其他的高级语言(如C代码 的长度如下:)
? ? ? ? ? ? ? ? ? ? ?

?
? ? ? ? ?

function zhi=jifen(a,b,eps) h=b-a; T(1)=(h/2)*(f2(a)+f2(b)); T(2)=T(1)/2+(h/2)*f2(a+h/2); k=2; while abs(T(k)-T(k-1))>=eps h=h/2; sum=0; x=a+h/2; while x<b sum=sum+f2(x); x=x+h; end T(k+1)=T(k)/2+(h/2)*sum; k=k+1; end zhi=T';

再次感受!!!
例如:把 89,43,53,23,465,52,345,6787,546,34按从 小到大排序? ? >> A=[89,43,53,23,465,52,345,6787,546,34] ? >> sort(A) ? 用C,VB等怎么处理?从大到小呢?
?

利用冒泡法排序的matlab程序
function y=paixu(A) %输入向量A,用冒泡法对其进行从小到大排序; N=length(A); for i=1:N-1 for j=1:N-i if A(j)>A(j+1) t=A(j+1); A(j+1)=A(j); A(j)=t; end end end y=A;

1、matlab概述
2)既具有结构化的控制语句(如for循环、while循 环、break语句、if语句和switch语句),又有面 向对象的编程特性。 3)图形功能强大。它既包括对二维和三维数据可视 化、图像处理、动画制作等高层次的绘图命令, 也包括可以修改图形及编制完整图形界面的、低 层次的绘图命令。

1、matlab概述
4)功能强大的工具箱。 工具箱可分为两类:功能性工具箱和学科性 工具箱。功能性工具箱主要用来扩充其符号计算 功能、图示建模仿真功能、文字处理功能以及与 硬件实时交互的功能。而学科性工具箱是专业性 比较强的,如优化工具箱、统计工具箱、控制工 具箱、小波工具箱、图象处理工具箱、通信工具 箱、金融工具箱等。

1、matlab概述
5)易于扩充。 除内部函数外,所有MATLAB的核心文 件和工具箱文件都是可读可改的源文件, 用户可修改源文件和加入自己的文件,它 们可以与库函数一样被调用。

1、matlab概述
(3)Matlab在各领域的作用: 1)、工业研究与开发 2)、数学教学 3)、数值分析和科学计算方面的教学与研究 4)、电子学、控制理论和物理学等工程和科学学科 方面的教学与研究 5)、经济学、管理学等社会科学中模型的求解。 6)、MATLAB在我国大学生数学建模竞赛中的应用, 为参赛者在有限的时间内准确、有效的解决问题 提供了有力的保证。

matlab界面

2、数学建模竞赛中经常适用的 matlab功能
(1)数值计算 例如:计算行列式

23 65 2.34 3 4 5 7 7 6 35 3 .5 325

354 34 .2 25 .3 3

(1)数值计算
在matlab命令窗口中输入: A=[23 65 2.34 354;3 7 35 34.2;4 7 3.5 25.3;5 6 325 3] 按回车键: 可以得到如下结果: ans = -3.3333e+004

(2)符号计算
思考:2 ? 3 ? ?

在matlab中,可以使用下面的代码来计算出没 误差的解析解: x=sym('sqrt(2)') y=sym('sqrt(3)') x*y

(3)图形设计
二维曲线的绘制: x1=0:0.1:2*pi; plot(x1,sin(x1)) 三维曲面的绘制: y=peaks %生成一个49阶的高斯分布方阵 mesh(y)

对图像的处理:
原始图形:

读入上述图片,然后对图形进行 Hartley变换:
q1=double(imread('hw.bmp')); ? Q1=hartley2(q1); ? QQ1=hartley2(Q1); ? subplot(121); ? mesh(abs(fftshift(Q1)));axis vis3d; ? xlabel('(a)','Fontsize',18); ? subplot(122); ? mesh(QQ1); ? axis vis3d; ? set(gcf,'Color','w'); ? xlabel('(b)','Fontsize',18); 可以得到下面的图片:
?

(4)程序设计
在数学建模竞赛中,最重要的应该是利 用matlab进行程序设计。Matlab程序设计 的基本思想与c语言最为类似。 数学建模竞赛的要求:在知道算法的基 础上能够利用matlab编程实现!

什么是算法?
引例1:计算 a , a ? 0, 如 2。
迭代公式: 1 a xk ?1 ? ( xk ? ), k ? 0,1, 2...... 2 xk

算法描述

算法描述:任给x0 ? 0, 对k ? 0,1, 2,...., 执行算式 1 a xk ?1 ? ( xk ? ),直到偏差 xk ?1 ? xk ? ? (? 为给定 2 xk 精度)为止,最终获得的近似值xk ?1即为所求。

算法描述(步骤)
第一步:输入a, x0 , ? ; 1 a 第二步:计算 ( x0 ? ),并赋给x1 ; 2 x0 第三步:如果 x1 ? x0 ? ? , 跳转到第四步,否则 令x1等于x0,跳转到第二步; 第四步:输出x1即为最后结果。

算法框图

程序代码
? ? ? ? ?

?
? ? ? ? ? ?

function y=kaifang(a,eps,x0) %a是被开方数; %eps精度指标; %x0表示初始值; x(1)=x0; x(2)=(x(1)+a/x(1))/2; k=2; while abs(x(k)-x(k-1))>=eps x(k+1)=(x(k)+a/x(k))/2; k=k+1; end y=x';

思考 对于前面例题的算法还有什 么问题应该讨论? 1、迭代是否收敛? 2、收敛的速度如何?

随机模拟
随机模拟与系统仿真 ? 例:浦丰投针问题
?

2l P? ?d

赌徒输光问题
两个赌徒甲、乙将进行一系列的赌博。 在每一局中甲获胜的概率为p,而乙获胜的 概率为q,p+q=1。在每一局后,失败者都 要付一元钱给胜利者。在开始时甲拥有资 本a元,而乙有资本b元,两个赌徒直到甲 输光或乙输光而停止赌博。求甲输光所有 钱的概率。

利用概率论的相关知识可以计算出 概率为:

? b ? a?b ? * P ?? b 1? g ? a ?b ?1 ? g ? g ? p/q

p ? 1/ 2 p ? 1/ 2

利用随机模拟方法可以计算
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

function [Po,P]=dt(a,b,p,m,N) %输入赌徒甲的初始资金a,乙为b %输入p为甲获胜的概率,m为随机数状态 %N为模拟次数 S=0; rand('state',m); % 设置随机数状态 for k=1:N; at=a; bt=b; while at>0.5&bt>0.5; r=[(rand<p)-0.5]*2; % 算输赢 at=at+r; bt=bt-r; end S=S+(at<0.5); % 累加甲输的次数 end P=S/N; % 模拟的概率值 g=p/[1-p]; Po=[1-g^b]/[1-g^(a+b)]; %概率的理论值

二、lingo软件

对于数学规划问题, lingo软件具有强大功能。

感受lingo!
例如:

max z ? 2 x1 ? 3 x2 s.t. ? x1 ? 2 x2 ? 8 ? 4 x ? 16 ? 1 ? ? 4 x2 ? 12 ? x1 , x2 ? 0 ?

求解此问题的lingo代码:
max=2*x1+3*x2; x1+2*x2<=8; 4*x1<=16; 4*x2<=12;

点击

求解。首先出现求解状态框。
LINGO SOLVER STATUS

解的状态
模型等级: 情形: 目标值: asibility: 反复:
解状态扩展

变量 全部: 非线性: 整数: 约束
全部: 非线性:

非零变量
全部: 非线性:

解的类型: 最好的目标: 目标的跃进: 步数: 动态:

占用基本内存

消耗时间 中断求解 关闭

Global optimal solution found at iteration: Objective value: 14.00000

5

Variable X1 X2 Row 1 2 3 4

Value 4.000000 2.000000

Reduced Cost 0.000000 0.000000

Slack or Surplus Dual Price 14.00000 1.000000 0.000000 1.500000 0.000000 0.1250000 4.000000 0.000000

sets: tx/1..4/:n12,n13,n23; jd/1..3/:m12,m13,m14,m23,m24,m34; links(tx,jd):t,x; endsets data: M=10000; t=13 15 20 10 20 18 20 16 10 8 10 15; enddata min=y; y=@smax(x(1,1)+t(1,1),x(1,2)+t(1,2),x(1,3)+t(1,3),x(2,1)+t(2,1),x(2,2)+t(2,2),x(2,3)+t(2,3), x(3,1)+t(3,1),x(3,2)+t(3,2),x(3,3)+t(3,3),x(4,1)+t(4,1),x(4,2)+t(4,2),x(4,3)+t(4,3)); !对每一个同学而言,参加某个阶段面试的次序是不固定的,但不能同时进行; @for(tx(i):x(i,1)+t(i,1)-x(i,2)<=M*n12(i)); @for(tx(i):x(i,1)+t(i,1)-x(i,3)<=M*n13(i)); @for(tx(i):x(i,2)+t(i,2)-x(i,3)<=M*n23(i)); @for(tx(i):x(i,2)+t(i,2)-x(i,1)<=M*(1-n12(i))); @for(tx(i):x(i,3)+t(i,3)-x(i,1)<=M*(1-n13(i))); @for(tx(i):x(i,3)+t(i,3)-x(i,2)<=M*(1-n23(i))); !对于每阶段而言,同学的次序不固定,但不能同时进行; @for(jd(j):x(1,j)+t(1,j)-x(2,j)<=M*m12(j)); @for(jd(j):x(1,j)+t(1,j)-x(3,j)<=M*m13(j)); @for(jd(j):x(1,j)+t(1,j)-x(4,j)<=M*m14(j)); @for(jd(j):x(2,j)+t(2,j)-x(3,j)<=M*m23(j)); @for(jd(j):x(2,j)+t(2,j)-x(4,j)<=M*m24(j)); @for(jd(j):x(3,j)+t(3,j)-x(4,j)<=M*m34(j)); @for(jd(j):x(2,j)+t(2,j)-x(1,j)<=M*(1-m12(j))); @for(jd(j):x(3,j)+t(3,j)-x(1,j)<=M*(1-m13(j))); @for(jd(j):x(4,j)+t(4,j)-x(1,j)<=M*(1-m14(j))); @for(jd(j):x(3,j)+t(3,j)-x(2,j)<=M*(1-m23(j))); @for(jd(j):x(4,j)+t(4,j)-x(2,j)<=M*(1-m24(j))); @for(jd(j):x(4,j)+t(4,j)-x(3,j)<=M*(1-m34(j))); !0-1变量的设定; @for(tx(i):@bin(n12(i))); @for(tx(i):@bin(n13(i))); @for(tx(i):@bin(n23(i))); @for(jd(j):@bin(m12(j))); @for(jd(j):@bin(m13(j))); @for(jd(j):@bin(m14(j))); @for(jd(j):@bin(m23(j))); @for(jd(j):@bin(m24(j))); @for(jd(j):@bin(m34(j))); !为什么要这个约束???; y>=63;

三、SPSS概述

统计分析软件
?

? ?

SPSS ? Statistical Program for Social Sciences ? Statistical Product and Service solutions 最新推出SPSS for Windows 15版本 特点:直观易用 ? 数据管理器:电子表格 ? 统计分析命令:菜单选择 对话框选择 ? 数据共享:采用对象连接和嵌入技术

SPSS运行界面
?
?

?

?

?

启动SPSS SPSS的主窗口 ? 标准的微软窗口形式(Windows风格) 包括 ? 标题栏 菜单栏 工具栏 工作区 状态栏 SPSS的统计分析操作 ? 是通过菜单命令和对话框来完成的 SPSS的两个基本窗口

例:单样本T检验 检验总体均值:方差未知 ? 假设
?
H 0 : ? ? ?0

H1 : ? ? ? 0

?

统计量

X ? ?0 T? n ? t (n ? 1) s

SPSS操作
?

?

Analyze—Compare Means—One Sample T Test 例:居民储蓄调查的问卷:存取金额为4500元

Test Variables 用于选入需要分析的变量

Test Value 输入已知的总体均数 Options 默认为0

结果
?

描述统计表
存(取)款金额

One-S ample S tatistics N 282 Mean St d. Deviation 4738. 09 10945 .569 St d. Error Mean 651.7 99

样本量 均值 标准差 标准误
?

T 检验表
One-Sample Test Te st Value = 45 00

已知总体均值
95% Confide nce Interval o f the Di fference Lower Up per -1044 .94 1521 .12

存(取)款金额

t .365

df 281

Mean Si g. (2-tailed ) Di fference .715 238.0 89

t值

P值 差值置信区间 自由度 两均数的差值

?可以认为总体均值等于4500。

一位参加过数学建模竞赛的同学的 感受
? ?

?

?

其实,数模给我的感觉和楼主xhjj8410一样,因为我就是他的 对友之一。我也希望我们能再有一次机会,可这象是不可能的了, 因为我们就要毕业。 我相信,在以后工作的日子里,每一个参加过数模竞赛的人 都可以与自己的同事一次又一次的完美合作,有着我们曾经数学 建模是的默契,可以又一次感受我们曾经的友谊,直到永远....... 曾经的美好回忆,是想忘记都做不到,何况我们每个人都不愿意去 忘记! 参加完这次竞赛,给我最大的感受就是:不论是那个专业的, 都可以参加,即便你大学没有学数学,重要的是你的知识面要广, 而自己也要有那种钉子精神,既然来了就一定要坚持,既然学了 就一定要深入些,既然........... 还想说的是,我们不能停止学习,不论何时何地!愿以前参加的、 今年参加的和将来要参加的都能够做到。


更多相关文档:

数学建模实验报告1

专题推荐 数学建模实验报告2 数学建模实验报告31/2 相关文档推荐...Mathematica软件 主要仪器设备 使用的软件名称 演示性实验 验证性实验 实验类型 综合...

数学建模软件报告

数学建模软件报告_理学_高等教育_教育专区。数学建模软件报告专业名称:热能与动力...专题推荐 数学建模网站报告 数学建模论文 1/2 相关文档推荐 数学建模比赛需要...

《数学模型及数学软件》上机训9个题

专题推荐 字体替换——不学就用·... 各取所需话“抠图”——... 计算机...数学模型数学软件上机训练资料 惠富春整理 《数学模型数学软件》上机报告(第...

4-软件无线电数学模型1

数学建模提高班专题一--... 89页 免费 软件无线电1 53页 1下载券喜欢...第4章 信道化接收机模型及正交处理 4.1 软件无线电的三种结构形式在软件接收机...

数学建模第一专题

数学建模第一专题数学建模基本概念》 杨乾尧 1 前言我们在学习数学的时候,经常...⑷熟记一些常见的数学模型;同时能够结合计算 机、数学软件解决一些实际问题。 ...

数模软件要求

数学建模软件3 30页 2财富值 数学建模之软件实现 19页 5财富值 数学建模软件 13页 2财富值 数学建模软件1 13页 2财富值 数学建模专题(软件) 46页 2财富值...

数字建模协会工作计划

让数学建模走到同学们身边。 (3)详细计划: 工作内容 数学建模入门知识讲座 数学建模专题知识讲座1 数学建模专题知识讲座2 课时安排 数学软件matlab辅导 数学软件...

数学建模比赛需要什么软件及其介绍

数学建模比赛需要什么软件及其介绍_理学_高等教育_教育专区。今日推荐 88...专题推荐 字体替换——不学就用·... 各取所需话“抠图”——... 计算机...

数学建模培训计划

③掌握数学软件(matlab)和 lindo/lingo 中关于随机题型求解方法和编程技巧 2.2.3 2.3 预测问题建模专题 2.3.1 时间段:2011 年 8 月 13 日-8 月 14 日...

建模基地展板1

数学建模课程体系包括:数学软件实 验课、数学建模选修课(通识)、数学建 模专题讲座。 自 1999 年至今已参加美国 3 届, 参加 全国大学生数学建模竞赛 15 届; ...
更多相关标签:
数学建模软件 | 数学建模需要的软件 | 数学建模软件matlab | 数学建模软件有哪些 | 数学建模用什么软件 | 数学建模画图软件 | 数学建模常用软件 | 数学建模用到的软件 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com