当前位置:文档之家› 【数学建模学习】MatLab2画图

【数学建模学习】MatLab2画图

【数学建模学习】MatLab2画图
【数学建模学习】MatLab2画图

MatLab & 数学建模

授课:唐静波(九江学院理学院)

第二讲MatLab图形绘制功能

一、二维平面图形

基本绘图函数

hold on 命令用于在已画好的图形上添加新的图形

plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。下例可画出一条正弦曲线:

x=0:0.001:10; % 0到10的1000个点的x座标

y=sin(x); % 对应的y座标

plot(x,y); % 绘图

Y=sin(10*x);

plot(x,y,'r:',x,Y,'b') % 同时画两个函数

?若要改变颜色,在座标对後面加上相关字串即可:

x=0:0.01:10;

plot(x,sin(x),'r')

若要同时改变颜色及图线型态(Line style),也是在坐标对後面加上相关字串即可:

plot(x,sin(x),'r*')

用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围axis([0,6,-1.5,1])

MATLAB也可对图形加上各种注解与处理:xlabel('x轴'); % x轴注解

ylabel('y轴'); % y轴注解

title('余弦函数'); % 图形标题

legend('y = cos(x)'); % 图形注解

gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置 grid on; % 显示格线

fplot 的指令可以用来自动的画一个已定义的函数分布图,而无须产生绘图所须

要的一组数据做为变数。其语法为fplot('fun',[xmin xmax ymin ymax]),其中 fun 为一已定义的函数名称,例如 sin , cos 等等;而 xmin , xmax , ymin , ymax 则是设定绘图横轴及纵轴的下限及上限。

以下的例子是将一函数 f(x)=sin(x)/x 在-20> fplot('sin(x)./x',[-20 20 -0.4 1.2])

【例】画椭圆12

322

22=+y x

a = [0:pi/50:2*pi]';

%角度 π20- X = cos(a)*3; %参数方程 Y = sin(a)*2;

plot(X,Y);

xlabel('x'), ylabel('y'); title('椭圆')

图形窗口的分割一般用命令subplot: subplot(2,2,1);

subplot(2,3,4);

MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。

当资料点数量不多时,长条图是很适合的表示方式:close all; % 关闭所有的图形视窗

x=1:10;

y=rand(size(x));

bar(x,y);

如果已知资料的误差量,就可用errorbar来表示。下例以单位标准差来做资料的误差量:

x = linspace(0,2*pi,30);

y = sin(x);

e = std(y)*ones(size(x));

errorbar(x,y,e)

对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进行较密集的取样,如下例:

fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是绘图范围

若要产生极座标图形,可用polar:

theta=linspace(0, 2*pi);

r=cos(4*theta);

polar(theta, r);

对於大量的资料,我们可用hist来显示资料的分情况和统计特性。下面几个命令可用来验证randn产生的高斯乱数分:

x=randn(5000, 1); % 产生5000个μ=0,σ=1 的高斯乱数

hist(x,20); % 20代表长条的个数

rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离,并用极座标绘制表示:

x=randn(1000, 1);

rose(x);

stairs可画出阶梯图:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stairs(x,y);

stems可产生针状图,常被用来绘制数位讯号:x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stem(x,y);

stairs将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

fill(x,y,'b'); % 'b'为蓝色

feather将每一个资料点视复数,并以箭号画出:

theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

feather(z);

compass和feather很接近,只是每个箭号的起点都在圆点:theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

compass(z);

二、三维立体图形

三维绘图函数

contour 二维等值线图,即从上向下看contour3等值线图

contour3 等值线图

fill3 填充的多边形

mesh 网格图

meshc 具有基本等值线图的网格图

meshz 有零平面的网格图

pcolor 二维伪彩色绘图,即从上向下看surf图

plot3 直线图

quiver 二维带方向箭头的速度图

surf 曲面图

surfc 具有基本等值线图的曲面图

surfl 带亮度的曲面图

waterfall 无交叉线的网格图

三维绘图工具

axis 修正坐标轴属性

clf 清除图形窗口

clabel 放置等值线标签

close 关闭图形窗口

figure 创建或选择图形窗口

getframe 捕捉动画桢

grid 放置网格

griddata 对画图用的数据进行内插

hidden 隐蔽网格图线条

hold 保留当前图形

meshgrid 产生三维绘图数据

movie 放动画

moviein 创建桢矩阵,存储动画

shading 在曲面图和伪彩色图中用分块、平滑和插值加阴影

subplot 在图形窗口内画子图

text 在指定的位置放文本

title 放置标题

view 改变图形的视角

xlabel 放置x轴标记

ylabel 放置y轴标记

zlabel 放置z轴标记

函数view

view(az,el) 设置视图的方位角az和仰角el

view([az,el])

view([x,y,z]) 在笛卡儿坐标系中沿向量[x,y,z]正视原点设置视图,例如view([0 0

1])=view(0,90)

view(2) 设置缺省的二维视图,az=0,el=90

view(3) 设置缺省的三维视图,az=-37.5,el=30

[az,el]=view 返回当前的方位角az和仰角el

view(T) 用一个4×4的转置矩阵T来设置视图

T=view 返回当前的4×4转置矩阵

plot3命令将绘制二维图形的函数plot的特性扩展到三维空间图形。函数格式除了包括第三维的信息(比如Z方向)之外,与二维函数plot相同。plot3一般语法调用格式是plot3(x,y,z,S),这里x,y和z是向量或矩阵,S是可选的字符串,用来指定颜色、标记符号和/或线形(s可以省略)。

三维螺旋线例子:

t=0:pi/50:10*pi;

plot3(sin(t),cos(t),t)

grid %添加网格

plot3可画出空间中的曲线:

t=linspace(0,20*pi, 501);

plot3(t.*sin(t), t.*cos(t), t); %注意用点乘 .*

亦可同时画出两条空间中的曲线:

t=linspace(0, 10*pi, 501);

plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);

正弦曲线图

x=linspace(0,3*pi); % 0到3pi 间100个数据点

z1=sin(x);

z2=sin(2*x);

z3=sin(3*x);

y1=zeros(100); % 含有100个数据的0数组

y3=zeros(100);

y2=y3/2;

plot3(x,y1,z1,x,y2,z2,x,y3,z3);

利用在x-y平面的矩形网格点上的z轴坐标值,MATLAB定义了一个网格曲面。MATLAB通过将邻接的点用直线连接起来形成网状曲面,其结果好象在数据点有结点的鱼网。mesh可画出立体网状图.

画出由函数形成的立体网状图:

x=linspace(-2, 2, 25); % 在x轴上取25点

y=linspace(-2, 2, 25); % 在y轴上取25点

[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵

zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵

mesh(xx, yy, zz); % 画出立体网状图

曲面图,除了各线条之间的空档(称作补片)用颜色填充以外,和网格图看起来是一样的。这种图一般使用函数surf来绘制。

surf和mesh的用法类似:

x=linspace(-2, 2, 25); % 在x轴上取25点

y=linspace(-2, 2, 25); % 在y轴上取25点

[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵

zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵

surf(xx, yy, zz); % 画出立体曲面图

MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:

数学建模实验-基本运算与画图

实验报告(一)课程名称数学实验与数学建模 实验项目用matlab进行基本运算与画图实验环境PC机、MATLAB 题号 2 班级/姓名/学号 指导教师 实验日期 成绩

一、实验名称:用matlab 作基本运算与画图 二、实验目的: 1、 掌握matlab 中一般文件与函数文件的建立与命名方法; 2、 掌握matlab 中矩阵的输入方法,学会矩阵方程的求解方法; 3、 通过一元、二元函数的取点方法,进一步强化数组之间的点乘运算;熟悉matlab 中常用基本函数的输入命令; 4、 学会matlab 基本运算的基础上,掌握MATLAB 画二维图形和点的基本命令; 5、 理解matlab 画图的基本原理,掌握MATLAB 画三维图形和点的基本命令; 6、 掌握横纵坐标数量级悬殊特别大的图形的画法; 7、 掌握一个窗口多个图形的画法,分割子窗口的画法。 三、实验内容: 1、设A ????=-??????310121342,B ?? ??=-?????? 102111211, (1)求满足关系A X B -=322的X ; (2)求矩阵A 的转置、特征值、特征向量及行列式。

>> A=[3 1 0;-1 2 1;3 4 2] A = 3 1 0 -1 2 1 3 4 2

>> B=[1 0 2;-1 1 1;2 1 1] B = 1 0 2 -1 1 1 2 1 1 >> X=(3*A-2*B)/2 X = 3.5000 1.5000 -2.0000 -0.5000 2.0000 0.5000 2.5000 5.0000 2.0000 >> C=A' C = 3 -1 3 1 2 4 0 1 2 >> [V,D]=eig(A) V = 0.1857 -0.6914 0.2591 -0.4606 0.4763 0.3032 0.8680 -0.5432 0.9170 D = 0.5188 0 0 0 2.3111 0 0 0 4.1701 >> det(A) ans =

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可以绘制各种图形,包括二维和三维图形。 ③简单易学的语言体系。 ④为数众多的应用工具箱。

推荐:数学建模参赛真实经验(强烈推荐)1

数学建模参赛真实经验(强烈推荐) 本文档节选自: Matlab在数学建模中的应用,卓金武等编著,北航出版社,2011年4月出版 以下内容根据作者的讲座整理出来,多年数学建模实践经历证明这些经验对数学建模参赛队员非常有帮助,希望大家结合自己的实践慢慢体会总结,并祝愿大家在数学建模和Matlab世界能够找到自己的快乐和价值所在。 一、如何准备数学建模竞赛 一般,可以把参加数学建模竞赛的过程分成三个阶段:第一阶段,是个人的入门和积累阶段,这个阶段关键看个人的主观能动性;第二阶段,就是通常各学校都进行的集训阶段,通过模拟实战来提高参赛队员的水平;第三阶段是实际比赛阶段。这里讲的如何准备数学建模竞赛是针对第一阶段来讲的。 回顾作者自己的参赛过程,认为这个阶段是真正的学习阶段,就像是修炼内功一样,如果在这个阶段打下深厚的基础,对后面的两个阶段非常有利,也是个人是否能在建模竞赛中占优势的关键阶段。下面就分几个方面谈一下如何准备数学建模竞赛。 首先是要有一定的数学基础,尤其是良好的数学思维能力。并不是数学分数高就说明有很高的数学思维能力,但扎实的数学知识是数学思维的根基。对大学生来说,有高等数学、概率和线性代数就够了,当然其它数学知识知道的越多越好了,如图论、排队论、泛函等。我大一下学期开始接触数学建模,大学的数学课程只学习过高等数学。说这一点,主要想说明只要数学基础还可以,平时的数学考试都能在80分以上就可以参加数学建模竞赛了,数学方面的知识可以在以后的学习中逐渐去提高,不必刻意去补充单纯的数学理论。 真正准备数学建模竞赛应该从看数学建模书籍开始,要知道什么是数学建模,有哪些常见的数学模型和建模方法,知道一些常见的数学建模案例,这些方面都要通过看建模方面的书籍而获得。现在数学建模的书籍也比较多,图书馆和互联网上都有丰富的数学建模资料。作者认为姜启源、谢金星、叶齐孝、朱道元等老师的建模书籍都非常的棒,可以先看二三本。刚开始看数学建模书籍时,一定会有很多地方看不懂,但要知道基本思路,时间长了就知道什么问题用什么建模方法求解了。这里面需要提的一点是,运筹学与数学建模息息相关,最好再看一二本运筹学著作,仍然可以采取诸葛亮的看书策略,只观其大略就可以了,等知道需要具体用哪块知识后,再集中精力将其消化,然后应用之。 大家都知道,参加数学建模竞赛一定要有些编程功底,当然现在有Matlab这种强大的工程软件,对编程的的要求就降低了,至少入门容易多了,因为很容易用1条Matlab命令解决以前要用20行C语言才能实现的功能。因为Matlab的强大功能,Matlab在数学建模中已经有了非常广泛的应用,在很多学校,数学建模队员必须学习Matlab。当然Matlab的入门也非常容易,只要有本Matlab参考书,照猫画虎可以很快实现一些基本的数学建模功能,如数据处理、绘图、计算等。我的一个队友,当年用一天时间把一本二百多页的Matlab 教程操作完了,然后在经常运用中,慢慢地就变成了一名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作图

基本形式 >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。 >> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线。 多重线在同一个画面上可以画许多条曲线,只需多给出几个数组,例如>> x=0:pi/15:2*pi; >> y1=sin(x);>> y2=cos(x);>> plot(x,y1,x,y2) 则可以画出多重线。 另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如: >> x=linspace(0,2*pi,30); y=sin(x); plot(x,y) >> hold on >> z=cos(x); plot(x,z) >> hold off 线型和颜色MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下:线型线方式:- 实线:点线-. 虚点线- - 波折线。线型 点方式: . 圆点+加号* 星号x x形o 小圆颜色:y黄;r红;g绿;b蓝;w白;k黑;m 紫;c青. 以下面的例子说明用法:>> x=0:pi/15:2*pi; >> y1=sin(x); y2=cos(x); >> plot(x,y1,’b:+’,x,y2,’g-.*’) 网格和标记在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。>> x=linspace(0,2*pi,30); y=sin(x); z=cos(x); >> plot(x,y,x,z) >> grid >> xlabel(‘Independent Variable X’) >> ylabel(‘Dependent Variables Y and Z’) >> title(‘Sine and Cosine Curves’) 也可以在图形的任何位置加上一个字符串,如用:>> text(2.5,0.7,’sinx’) 表示在坐标x=2.5, y=0.7处加上字符串sinx。 更方便的是用鼠标来确定字符串的位置,方法是输入命令:>> gtext(‘sinx’) 在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。 坐标系的控制在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值axis equal 或axis(‘equal’) x轴和y轴的单位长度相同axis square 或axis(‘square’) 图框呈方形axis off 或axis(‘off’) 清除坐标刻度还有axis auto axis image axis xy axis ij axis normal axis on axis(axis) 用法可参考在线帮助系统。 多幅图形可以在同一个画面上建立几个坐标系, 用subplot(m,n,p)命令;把一个画面分成m×n个图形区域, p代表当前的区域号,在每个区域中分别画一个图,如>> x=linspace(0,2*pi,30); y=sin(x); z=cos(x); >> u=2*sin(x).*cos(x); v=sin(x)./cos(x); >> subplot(2,2,1),plot(x,y),axis([0 2*pi –1 1]),title(‘sin(x)’) >> subplot(2,2,2),plot(x,z),axis([0 2*pi –1 1]),title(‘cos(x)’) >> subplot(2,2,3),plot(x,u),axis([0 2*pi –1 1]),title(‘2sin(x)cos(x)’) >> subplot(2,2,4),plot(x,v),axis([0 2*pi –20 20]),title(‘sin(x)/cos(x)’) 图形的输出在数学建模中,往往需要将产生的图形输出到Word文档中。通常可采用下述方法:首先,在MATLAB图形窗口中选择【File】菜单中的【Export】选项,将打开图形输出对话框,在该对话框中可以把图形以emf、bmp、jpg、pgm等格式保存。然后,再打开相应的文档,并在该文档中选择【插入】菜单中的【图片】选项插入相应的图片即可。

小学数学建模“画图”解题立竿见影!

小学数学建模“画图”解题立竿见影! 学过数学的人都知道,思维方式的运用在学习数学这一科目上的重要性,小学阶段的数学主要培养的是孩子的逻辑思维能力,是从形象思维逐步过度到抽象思维的过程,如果在小学阶段没有将基础打牢,那么等孩子上初中后面对更复杂的学习内容,就会变得更吃力。 可以这样说,审题是对题目进行初步的感知,特别是应用题,而理解题意这个环节,决定你考了问题的角度,确定你考虑问题的方法,因此,这是做题中的重要环节。 学数学“画图”解题立竿见影! 根据审题的内容画图,把该题的条件、问题在图上表明,借助线段图或实物图把抽象的数学问题具体化,还原本来的面目,从而找到解决问题的方法,从图中一下子就可以找到答案,而且通过画图也能很快找到自己的错误。 很多小学生做应用题,就知道看题目,草稿纸也不用,紧盯着啊看啊......能看出花来?光看题,又不是看小说。 借助画图帮助孩子理解题意是至关重要的一步 借助画图解题,它是孩子打开解决问题大门的一把“金钥匙”,很多问题都可以很快速的求解,比如几何问题、路程问题,如果光靠想是很难想出答案的画图就一目了然,下面我们举几个栗子来看看。 1.平面图 对于题目中条件比较抽象、不易直接根据所学知识写出答案的问题,可以借助画平面图帮助思考解题。如,有两个自然数A和B,如果把A增加12,B不变,积就增加72;如果A不变,B增加12,积就增加12O,求原来两数的积。 根据题目的条件比较抽象的特点,不妨借用长方形图,把条件转化为因数与积的关系。先画一个长方形,长表示A,宽表示B,这个长方形的面积就是原来两数的

积。如图(l)所示。根据条件把A增加12,则长延长12,B不变即宽不变,如图(2);同样A不变即长不变,B增加12,则宽延长12,如图(3)。从图中不难找出:原长方形的长(A)是120÷12=10原长方形的宽(B)是72÷12=6则两数的积为1O×6=6O 借助长方形图,弄清了题中的条件,找到了解题的关键。再如,一个梯形下底是上底的1.5倍,上底延长4厘米后,这个梯形就变成一个面积为6O平方厘米的平 行四边形。求原来梯形面积是多少平方厘米?根据题意画平面图:从图中可以看出:上、下底的差是4厘米,而这4厘米对应的正好是1.5-l=O.5倍。所以上底是4÷(1.5-1)=8(厘米),下底是8×1.5=12(厘米),高是6O÷12=5(厘米),则原梯形的面积是(8+12)×5÷2=5O(平方厘米)。 2.立体图 一些求积题,结合题目的内容画出立体图,这样做,使题目的内容直观、形象,有利于思考解题。 如,把一个正方体切成两个长方体,表面积就增加了8平方米。原来正方体的表面积是多少平方米? 如果只凭想象,做起来比较困难。按照题意画图,可以帮助我们思考,找出解

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;

数学建模论文图表设计与制作

数学建模论文写作培训要点 ⑴公式编辑器;⑵图表练习;⑶EXCEL 、WORD 、PPT 互换 ⑴论文写作要点;⑵论文格式;⑶获奖论文点评. 一、教学提纲: 1、: x <1⑴1x 如何进入公式编辑器“ α” 打开Word 文档或Powerpoint 文档,把鼠标指示符 放到菜单一栏右边空白处,此时点击鼠标右键,出现下拉式菜单,之后找到“自定义”并点击(或点击菜单“工具”栏找到下拉式菜单中的“自定义”), 出现自定义对话框。从自定义对话框中菜单“命令”,下面出现左右两栏,从左边一栏找到“插入”,然后从右边一栏找到公式编辑器符号“α”,用鼠标按住并拖到Word 文档或Powerpoint 文档上方菜单中任意位置。此后,每次使用时只要用鼠标点击符号“α”即可进入公式编辑器,点击公式编辑器外部即可退出。 ⑵公式编辑器模板内容提要(略) )(x f ''第一行:a 关系符号;间距和省略号;修饰符号;运算符号;箭头符号;逻 辑符号;?集合论符号;y x z ???2其他符号;希腊字母(小写);希腊字母(大写)。 第二行:2 1 22x ,)2,1[围栏模板;32x 分式和n 3极限5)(lim 2 =→x f x 模板;下 dt t f t x ? =1 2)(令标和上标模板2 x 2 1 x ;求和模板∑∞ =0 n n x ;积分模板 σd y x f y x ??≤+1 22 ),(;底线 a 和顶线模板;?? →?我 123标签箭头模板;∏=9 1 )(n n f 乘积和集合论模板;矩阵模板?? ? ??===56414.61 z y x 。 一元二次方程相关内容:2 0ax bx c ++= ?1,2x = 微积分相关内容:2251lim 23x x x x →∞+-+,2()()()()() ()()u x u x v x u x v x v x v x '''??-=???? , ()()f x dx F x C =+?,()()()()b b a a f x dx F x F b f a ==-? ,1 n n a S ∞ ==∑,

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

Modeling and Simulation 建模与仿真, 2015, 4(3), 61-71 Published Online August 2015 in Hans. https://www.doczj.com/doc/649290563.html,/journal/mos https://www.doczj.com/doc/649290563.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.doczj.com/doc/649290563.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.doczj.com/doc/649290563.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.doczj.com/doc/649290563.html, 收稿日期:2015年7月22日;录用日期:2015年8月11日;发布日期:2015年8月18日

数学建模之回归分析法

什么是回归分析 回归分析(regression analysis)是确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法。运用十分广泛,回归分析按照涉及的自变量的多少,可分为一元回归分析和多元回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。如果在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。 回归分析之一多元线性回归模型案例解析 多元线性回归,主要是研究一个因变量与多个自变量之间的相关关系,跟一元回归原理差不多,区别在于影响因素(自变量)更多些而已,例如:一元线性回归方程为: 毫无疑问,多元线性回归方程应该为: 上图中的x1, x2, xp分别代表“自变量”Xp截止,代表有P个自变量,如果有“N组样本,那么这个多元线性回归,将会组成一个矩阵,如下图所示: 那么,多元线性回归方程矩阵形式为: 其中:代表随机误差,其中随机误差分为:可解释的误差和不可解释的误差,随机误差必须满足以下四个条件,多元线性方程才有意义(一元线性方程也一样) 1:服成正太分布,即指:随机误差必须是服成正太分别的随机变量。 2:无偏性假设,即指:期望值为0 3:同共方差性假设,即指,所有的随机误差变量方差都相等 4:独立性假设,即指:所有的随机误差变量都相互独立,可以用协方差解释。 今天跟大家一起讨论一下,SPSS---多元线性回归的具体操作过程,下面以教程教程数据为

例,分析汽车特征与汽车销售量之间的关系。通过分析汽车特征跟汽车销售量的关系,建立拟合多元线性回归模型。数据如下图所示:(数据可以先用excel建立再通过spss打开) 点击“分析”——回归——线性——进入如下图所示的界面:

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;

数学建模论文图表设计与制作

2009数学建模论文写作培训要点 ⑴公式编辑器;⑵图表练习;⑶EXCEL 、WORD 、PPT 互换 ⑴论文写作要点;⑵论文格式;⑶获奖论文点评. 一、教学提纲: 1、: x <1⑴1x 如何进入公式编辑器“ α” 打开Word 文档或Powerpoint 文档,把鼠标指示符 放到菜单一栏右边空白处,此时点击鼠标右键,出现下拉式菜单,之后找到“自定义”并点击(或点击菜单“工具”栏找到下拉式菜单中的“自定义”), 出现自定义对话框。从自定义对话框中菜单“命令”,下面出现左右两栏,从左边一栏找到“插入”,然后从右边一栏找到公式编辑器符号“α”,用鼠标按住并拖到Word 文档或Powerpoint 文档上方菜单中任意位置。此后,每次使用时只要用鼠标点击符号“α”即可进入公式编辑器,点击公式编辑器外部即可退出。 ⑵公式编辑器模板内容提要(略) )(x f ''第一行:a 关系符号;间距和省略号;修饰符号;运算符号;箭头符号;逻 辑符号;?集合论符号;y x z ???2其他符号;希腊字母(小写);希腊字母(大写)。 第二行:2 1 22x ,)2,1[围栏模板;32x 分式和n 3极限5)(lim 2 =→x f x 模板;下 dt t f t x ? =1 2)(令标和上标模板2 x 2 1 x ;求和模板∑∞ =0 n n x ;积分模板 σd y x f y x ??≤+1 22 ),(;底线 a 和顶线模板;?? →?我 123标签箭头模板;∏=9 1 )(n n f 乘积和集?? ? ??===56414.61 z y x 。 一元二次方程相关内容:2 0ax bx c ++= ?1,2x = 微积分相关内容:2251lim 23x x x x →∞+-+,2()()()()() ()()u x u x v x u x v x v x v x '''??-=???? , ()()f x dx F x C =+?,()()()()b b a a f x dx F x F b f a ==-? ,1 n n a S ∞ ==∑,

MATLAB作图数学建模

xxxxxxxx 学院 实验报告 学期:14至15第2学期 时间: 2007年 5月4 日 课程名称: 数学建模 专业:数学 实验编号: xxxxx 指导教师: xxxxx 实验项目: Matlab 作图 姓名:xxxxxx 学号:xxxxxxx 班级: xxxx 级xxx 班 实验成绩:___________ 一、实验目的及要求 1.掌握二维图形的绘制。 2.掌握图形的标注 3.了解三维曲线和曲面图形的绘制。 二、实验内容 1、在同一平面中的两个窗口分别画出心形线和马鞍面。 要求:1、在图形上加格栅、图例和标注 2、定制坐标 3、以不同角度观察马鞍面 2、以不同的视角观察球面 2 222r z y x =++ 和圆柱面rx y x =+22 所围区域。 三、实验步骤(该部分不够填写.请填写附页) (1) 安装matlab ,如果已安装好,可以跳过此步; (2) 进入matlab 的编辑窗口,进行基本的环境设置; (3)编写程序,运行并调试。 (4)得出实验结果。 (5) 编写实验报告。 四、程序设计 1、在同一平面中的两个窗口分别画出心形线和马鞍面。 要求:1、在图形上加格栅、图例和标注 2、定制坐标 3、以不同角度观察马鞍面 解答: 编写程序: clear

ax1=subplot(1,2,1); t=0:.01*pi:2*pi; f1=polar(t,1+cos(t)); title('心形线'); legend(f1,'r=1+cost') ax2=subplot(1,2,2); x1=linspace(-40,20,40); y1=linspace(-40,20,40); [xx1,yy1]=meshgrid(x1,y1); zz1=xx1.*yy1; f2=surf(xx1,yy1,zz1); title('马鞍面'); legend(f2,'z=x^2-y^2','Location','NorthWest') xlabel('x轴') ylabel('y轴') zlabel('z轴') axis([-40 20 -40 20 -1000 1500]) setAllowAxesRotate(rotate3d,ax1,false); grid on

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) 在不考虑空气阻力的情况下,抛射体的运动轨迹是抛物线:

与数学建模有关的软件

与数学建模有关的软件 数学建模介绍 1. 什么是数学建模? 数学建模就是用数学语言描述实际现象的过程。这里的实际现象既包涵具体的自然现象比如自由落体现象,也包涵抽象的现象 比如顾客对某种商品所取的价值倾向。这里的描述不但包括外在形态,内在机制的描述,也包括预测,试验和解释实际现象等内容 我们也可以这样直观地理解这个概念:数学建模是一个让纯粹数学家(指只懂数学不懂数学在实际中的应用的数学家)变成物 理学家,生物学家,经济学家甚至心理学家等等的过程。 2. 什么是数学模型? 数学模型是指用数学语言描述了的实际事物或现象。它一般是实际事物的一种数学简化。它常常是以某种意义上接近实际事物 的抽象形式存在的,但它和真实的事物有着本质的区别。要描述一个实际现象可以有很多种方式,比如录音,录像,比喻,传言等 等。为了使描述更具科学性,逻辑性,客观性和可重复性,人们采用一种普遍认为比较严格的语言来描述各种现象,这种语言就是 数学。使用数学语言描述的事物就称为数学模型。有时候我们需要做一些实验,但这些实验往往用抽象出来了的数学模型作为实际 物体的代替而进行相应的实验,实验本身也是实际操作的一种理论替代。 3. 为什么要建立数学模型? 在科学领域中,数学因为其众所周知的准确而成为研究者们最广泛用于交流的语言--因为他们普遍相信,自然是严格地演化 着的,尽管控制演化的规律可以很复杂甚至是混沌的。因此,人们常对实际事物建立种种数学模型以期通过对该模型的考察来描述 解释,预计或分析出与实际事物相关的规律。 top

数学建模软件介绍 一般来说学习数学建模,常用的软件有四种,分别是:matlab、lingo、Mathematica 和SAS下面简单介绍一下这四种。 1.MATLAB的概况 MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处 理,可视化建模仿真和实时控制等功能。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等 语言完相同的事情简捷得多. 当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具 包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强 的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类. 开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改 或加入自己编写程序构造新的专用工具包. 2.Mathematica的概况 Wolfram Research 是高科技计算机运算( Technical computing )的先趋,由复杂理论的发明者 Stephen Wolfram 成立于 1987年,在1988年推出高科技计算机运算软件Mathematica,是一个足以媲美诺贝尔奖的天才产品。Mathematica 是一套整合数字以 及符号运算的数学工具软件,提供了全球超过百万的研究人员,工程师,物理学家,分析师以及其它技术专业人员容易使用的顶级 科学运算环境。目前已在学术界、电机、机械、化学、土木、信息工程、财务金融、医学、物理、统计、教育出版、OEM 等领域广 泛使用。

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);

相关主题
文本预览
相关文档 最新文档