MATLAB——数学建模基础教程

合集下载

数学建模 MATLAB入门

数学建模 MATLAB入门

• 开放性使MATLAB广受用户欢迎.除内部函数外,所有 MATLAB主箱文件和各种工具箱都是可读可修改的文件,
用户通过对源程序的修改或加入自己编写程序构造新的专
用工具箱.
MATLAB的语言特点
1)语言简洁紧凑,使用方便灵活,库函数极其丰富。 2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供 了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符 将使程序变得极为简短。 3)MATLAB既具有结构化的控制语句(如for循环,while循 环,break语句和if语句),又有面向对象编程的特性。 4)程序限制不严格,程序设计自由度大。例如,在MATLAB 里,用户无需对矩阵预定义就可使用。 5)程序的可移植性很好,基本上不做修改就可以在各种型号 的计算机和操作系统上运行。 6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都 很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB 还具有较强的编辑图形界面的能力。 7)MATLAB的缺点是,它和其他高级程序相比,程序的执行 速度较慢。由于MATLAB的程序不用编译等预处理,也不生成 可执行文件,程序为解释执行,所Matlab介绍
MATLAB概况

MATLAB是矩阵实验室〔Matrix Laboratory〕之意.
除具备卓越的数值计算能力外,它还提供了专业水平的符
号计算,文字处理,可视化建模仿真和实时控制等功能.

MATLAB的基本数据单位是矩阵,它的指令表达式与
数学,工程中常用的形式十分相似,故用MATLAB来解算法
MATLAB <shuzu3>
〔2〕数组-数组运算 当两个数组有相同维数时,加、减、乘、除、
幂运算可按元素对元素方式进行的,不同大小或维 数的数组是不能进行运算的.

MATLAB数学建模教程

MATLAB数学建模教程

MATLAB选修课讲义第一讲:矩阵运算第二讲:函数作图第三讲:符号演算第四讲:简单编程第五讲:数值计算第六讲:综合实例1第一讲:矩阵运算1.基本操作启动退出终止(Alt+. 或Ctrl +C)翻页召回命令分隔符,禁显符;续行符…注释符%设置显示格式format 常用:short,short g,long 清除变量clear关闭图形close清除图形clf演示Demo帮助help2.基本常数2pi I j inf eps NaN exp(1)3.算术运算+ - * /, \, ^ sqrt .*./.^4.内部函数(一般都有数组运算功能)sin(x) tan(x) asin(x) atan(x)abs(x) round(x) floor(x) ceil(x)log(x) log10(x) length(v) size(A) sign(x) [y, p]=sort(x)5.矩阵运算(要熟练掌握)(1)矩阵生成:手工输入:[1 2 3; 4 5 6]输入数组: linspace(a, b, n)命令输入:zeros(m,n) ones(m,n) eye(n)3magic(n) rand(m, n)diag(A) diag ( [a11 a22 . . . a nn] ) (2)矩阵操作赋值A(i, j) =2 A(2, :)=[1 2 3]删除A( [2,3], :)=[ ] 添加A(6,8)=5定位find(A>0) 定位赋值A(A<0)= -1由旧得新B=A([2,3,1], :) B=A([1,3],[2,1])定位矩阵B=(A>1) B=(A==1)下三角阵tril(A) 上三角阵triu(A)左右翻转fliplr(A) 上下翻转flipud(A)重排矩阵reshape(A, m, n)(3)矩阵运算:转置A’和A+B 差A-B 积A*B4左除A\b(=A-1 b)右除b/A(=b A-1 )幂A^k点乘A.*B 点除A./B 点幂A.^2行列式det(A) 数量积dot(a,b) 向量积cross(a,b)行最简形rref(A) 逆矩阵inv(A) 迹trace(A)矩阵秩rank(A) 特征值eig(A) 基础解系null(A,’r’) 方程组特解x=A\b注意:2+A,sin(A)练习一:矩阵操作1、用尽可能简单的方法生成下列矩阵:56102000100012101/21/31/1112040022002311/31/41/12,,,0330600054082210010191/111/121/200750⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦⎣⎦⎢⎥-⎣⎦2、设有分块矩阵⎪⎪⎭⎫⎝⎛=⨯⨯⨯2232233S OR E A ,⎪⎪⎭⎫⎝⎛⋅=⨯⨯⨯23222233E O J R E B ,其中23,E E 是单位矩阵,32⨯O 是零矩阵,23⨯R 是随机矩阵,⎪⎪⎭⎫ ⎝⎛=⨯011022S ,J是2阶全1矩阵,验证B A=2。

数学建模基础教程

数学建模基础教程

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

是国际公认的优秀数学应用软件之一。

20世纪80年代初期,Cleve Moler与John Little等利用C语言开发了新一代的MATLAB语言,此时的MA TLAB语言已同时具备了数值计算功能和简单的图形处理功能。

1984年,Cleve Moler与John Little等正式成立了Mathworks公司,把MATLAB语言推向市场,并开始了对MATLAB工具箱等的开发设计。

1993年,Mathworks公司推出了基于个人计算机的MA TLAB 4.0版本,到了1997年又推出了MA TLAB 5。

X版本(Release 11),并在2000年又推出了最新的MATLAB 6版本(Release 12)。

现在,MA TLAB已经发展成为适合多学科的大型软件,在世界各高校,MA TLAB 已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动态系统仿真等高级课程的基本教学工具。

特别是最近几年,MATLAB在我国大学生数学建模竞赛中的应用,为参赛者在有限的时间内准确、有效的解决问题提供了有力的保证.§2 MATLAB的安装与启动2.1 MATLAB的安装要用MATLAB 6,首先必须在计算机上安装MA TLAB 6应用软件,随着软件功能的不断完善,MA TLAB对计算机系统配置的要求越来越高。

下面给出安装和运行MATLAB 6 所需要的计算机系统配置。

◆MA TLAB 6对硬件的要求CPU要求:Pentium II、Pentium III、AMD Athlon或者更高;光驱:8倍速以上;内存:至少64MB,但推荐128MB以上;硬盘:视安装方式不同要求不统一,但至少留1GB用于安装(安装后未必有1GB);显卡:8位;◆MA TLAB 6对软件的要求Windows95 、Window98、Windows NT或Windows2000;Word97或word2000等,用于使用MATLAB Notebook;Adobe Acrobat Reader 用于阅读MATLAB的PDF的帮助信息.MATLAB 6的安装和其它应用软件类似,可按照安装向导进行安装,这里不再赘述。

数学建模Matlab基础

数学建模Matlab基础

注释标记
()
指定运算过程的先后顺序 ‘ 字符串标示符
[]
矩阵定义的标志等
! 调用DOS
{}
构成单元数组等
=
赋值运算符
完整版pt
7
(4)MATLAB的搜索路径与扩展 ①搜索路径对话框。菜单中的File/Set Path(见图Figure1-3) ②path命令。例如:path(path,’G:\my matlab examples’) ③ genpath命令。 ④ editpath或pathtool命令。见图Figure1-3 ⑤ addpath命令扩展目录。例如:addpath e:\my files –end(-begin);
局变量常用大写的英文字母表示。
MATLAB预定义的变量如下表所示:
完整版pt
9
ans eps pi inf NaN i或j nargin nargout realmax realmin flops
预设的计算结果的变量名 MATLAB定义的正的极小值=2.2204e-16 内建的π值
∞值,无限大 无法定义一个数目 虚数单位i=j=√-1 函数输入参数个数 函数输出参数个数 最大的正实数 21023 最小的正实数2-1022 浮点运算次数
数学建模—MATLAB基础知识
10 5 0 -5
-10 30
20 10
25
25
20 15 10 5 00
10
5
0
-5
-10 30
20 10
25
20 15 10 5 00
20 2
1 15
0
10
-1
-2
2
5
12Βιβλιοθήκη 0 -11 0 -1

数学建模 MATLAB入门

数学建模 MATLAB入门

A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08];
b=[850;700;100;900];
Aeq=[]; beq=[];
vlb=[0;0;0;0;0;0]; vub=[];
a
MATLAB (shuzu2)
a
11
矩阵中元素的操作
(1)矩阵A的第r行:A(r,:)
(2)矩阵A的第r列:A(:,r)
(3)依次提取矩阵A的每一列,将A拉伸为一个列向量:A(:)
(4)取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2, j1:j2)
(5)以逆序提取矩阵A的第i1~i2行,构成新矩阵:A(i2:-1:i1,:) (6)以逆序提取矩阵A的第j1~j2列,构成新矩阵:A(:, j2:-1:j1 ) (7)删除A的第i1~i2行,构成新矩阵:A(i1:i2,:)=[ ]
• 当前流行的MATLAB 7/Simulink 包括拥有数百个内部 函为M制A数功等T的能功LA主性能B包工.的学和具符科三箱号工十和计具几学算箱种科,是可工工专视具具业化箱性箱建.比(功模To较能仿ol强工真bo的具,x文).工包工字具用具处箱来箱理扩,又控及充可制实以工时分具控 包,信号处理工具包,通信工具包等都属于此类.
• 开放性使MATLAB广受用户欢迎.除内部函数外,所有 MATLAB主箱文件和各种工具箱都是可读可修改的文件, 用户通过对源程序的修改或加入自己编写程序构造新的专 用工具箱.
a
3
MATLAB的语言特点
1)语言简洁紧凑,使用方便灵活,库函数极其丰富。 2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供 了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符 将使程序变得极为简短。 3)MATLAB既具有结构化的控制语句(如for循环,while循 环,break语句和if语句),又有面向对象编程的特性。 4)程序限制不严格,程序设计自由度大。例如,在MATLAB 里,用户无需对矩阵预定义就可使用。 5)程序的可移植性很好,基本上不做修改就可以在各种型号 的计算机和操作系统上运行。 6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都 很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB 还具有较强的编辑图形界面的能力。 7)MATLAB的缺点是,它和其他高级程序相比,程序的执行 速度较慢。由于MATLAB的程序不用编译等预处理,也不生成 可执行文件,程序为解释执行,所以速度较慢。

数学建模基础 matlab基础

数学建模基础 matlab基础

2.3 矩阵下标引用
1.访问单个元素
2.线性引用元素
3.访问多个元素
本小节将介绍通过矩阵下标来存取元素
值的方法,包括访问单个元素、线性引用 元素和访问多个元素等。
1.访问单个元素
2.线性引用元素
对于矩阵A,线性引用元素的格式为
A(k)。通常这样的引用用于行向量或列
向量,但也可用于二维矩阵。 MATLAB按列优先排列的一个长列向量格 式(线性引用元素)来存储矩阵元素。
2.2 基本矩阵操作
1 矩阵的构造
2 矩阵大小的改变 3 矩阵下标引用 4 矩阵信息的获取 5 矩阵结构的改变
在MATLAB中,所有的数据均以二维、三维或
高维矩阵的形式存储,每个矩阵的单元可以是数
值类型、逻辑类型、字符类型或者其他任何数据 类型。 对于标量,可以用11矩阵来表示; 对于一组n个数据,可以用1n矩阵来表 示; 对于多维数组,可以用多维矩阵来表示。
条件,1表示满足条件。
a= 2+2==4 a=(2+2==4) a=(3<4) a=(4<3) a=(3<=4) a=(4<=3) a=(4>3)
a=(3>4)
等于a = 1 a=1 小于a = 1 a=0 小于等于a = 1 a=0 大于a =1 a =0 大于等于a=1 a=0 不等于a=1 魔方矩阵,每行、每列、对角线的元素之和=(n3+n)/2 A整除3,求余数 余数为0,是真,即整除 找出p矩阵中不为零元素的序号,矩阵元素是按列排序号的。
2.3.4 运算优先级
运算符的优先级决定表达式求值顺序; 具有相同优先级的运算符从左到右依次进 行运算; 不同优先级的运算符采用先进行优先高的 运算。

数学建模-Matlab初步介绍

数学建模-Matlab初步介绍

工程计算
在机械、电子、航空航天等领域有广泛应用。
控制系统设计
用于控制系统建模、分析和设计等领域。
Matlab的应用领域
科学计算
广泛应用于物理、化学、生物等领域的科学 计算。
数据分析
用于数据处理、统计分析等领域。
工程计算
在机械、电子、航空航天等领域有广泛应用。
控制系统设计
用于控制系统建模、分析和设计等领域。
运用数学方法和计算机技术求 解建立的数学模型。
问题分析
分析实际问题的背景、目的和 条件,明确建模的目标和要求。
建立模型
根据问题的特点和数学语言, 选择合适的数学模型表示问题。
验证与评估
将模型的解与实际数据进行比 较,验证模型的准确性和适用 性。
数学建模的步骤和流程
简化问题
将实际问题简化,忽略次要因 素,突出主要矛盾,便于建模。
Matlab在数学建模中的优势和不足
价格昂贵
Matlab是一款商业软件,价格较高,可能不适合一些小型项目或个人用户。
开放性差
Matlab的源代码不公开,使得用户无法对其内部实现进行修改或扩展。
Matlab在数学建模中的优势和不足
价格昂贵
Matlab是一款商业软件,价格较高,可能不适合一些小型项目或个人用户。
Matlab的发展历程
1980年代初
由Cleve Moler教授在MathWorks公司开发,最 初主要用于数值计算。
1990年代
随着Matlab的商业化推广,逐渐成为工程计算领 域的标准软件。
2000年代至今
不断推出新功能和工具箱,广泛应用于科学计算、 数据分析、信号处理等领域。
Matlab的主要功能和特点

MATLAB经典数学建模教程

MATLAB经典数学建模教程

第 1 节Matlab 基本知识一、Matlab 的主要功能Matlab是一种功能非常强大的工程语言,诞生于20世纪70年代,1984年正式推向市场。

2002年8月,Matlab6.5开始发布。

是进行科学研究和产品开发必不可少的工具。

●数值和符号计算矩阵(数组)的四则运算(Matrix+Laboratory)、数值差分、导数、积分、求解微分方程、微分方程的优化等●数字图像、数字信号处理●工程和科学绘图●控制系统设计●财务工程●建模、仿真功能二、Matlab 的界面1.命令窗口(Command Window):Matlab各种操作命令都是由命令窗口开始,用户可以在命令窗口中输入Matlab命令,实现其相应的功能。

此命令窗口主要包括文本的编辑区域和菜单栏(如:四则运算;“;”禁止显示变量的值;↑↓遍历以前的命令)。

在命令窗口空白区域单击鼠标右键,打开快捷菜单,各项命令功能如下:Evaluate Selection :打开所选文本对应的表达式的值。

Open Selection :打开文本所对应的MatLab文件。

Cut :剪切编辑命令。

Paste :粘贴编辑命令。

2. M-文件编辑/调试(Editor/Debugger)窗口Matlab Editor/Debugger窗口是一个集编辑与调试两种功能于一体的工具环境。

M-文件(函数文件)●什么是M-文件:它是一种和Dos环境中的批处理文件相似的脚本文件,对于简单问题,直接输入命令即可,但对于复杂的问题和需要反复使用的则需做成M-文件(Script File)。

●创建M-文件的方法:Matlab命令窗的File/New/M-file。

在Matlab命令窗口运行edit。

●M-文件的扩展名: *.m●执行M-文件:F5●M文件的调试选择Debug菜单,其各项命令功能如下:Step :逐步执行程序。

Step in :进入子程序中逐步执行调试程序。

Step out :跳出子程序中逐步执行调试程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

>> s(2) ans = >> s(10) ans = u
字符串的每个字符(包括空格)都是字符数组的一个元素。 在matlab中,字符串与字符数组或矩阵基本上是等价的。
2019年12月24日10时44分
10
字符如串果之在间字的符转串换内函使数用:单引号时,可以用连续两个单引号表示。 d例ou如bl:e 字符串转换为数值代码 num2str 数字转换为字符串
变量的命名规则: 变量名区分大小写; 变量名长度不超过31位,第31位之后的字符被忽略; 变量名以字母开头,变量名中可以包含字母、数字、下划线,
但不能使用标点。
变量一般为局部变量,即仅在其调用的M文件内部有效;若要 定义全局变量,须在变量前加关键字global。
2019年12月24日10时44分
strcat 链结串 strcmp 比较串
strvcat 垂直链结串
strncmp 比较串的前n个字符
findstr 在其他串中找此串
upper 转换串为大写
lower 转换串为小写
blanks 生成空串
deblank 移去串中空格… …
例 执如 行: 字把 符前 串面 的的 功字能符用串evsa转l来化实成现大。写。s=“it’ good”
ans =
3.14159265358979
>>format long e;pi
ans =
3.141592653589793e+000
>>format long g;pi
ans =
2019年12月24日10时44分
3.14159265358979
8
Matlab语言还提供了复数的表达和运算功能。复数的基本 单位表示为i或j。例如:
MATLAB
——数学建模基础教程
主讲者:高陈燕
MATLAB ——数学建模基础教程
MATLAB的概述 MATLAB程序设计基础 MATLAB在数值计算中的应用 MATLAB的符号计算 MATLAB的图形处理
MATLAB程序设计基础
MATLAB语言的基本要素 MATLAB语言的核心——矩阵 单元型数据和结构型数据 M文件 流程控制语句
回到主目录
4
常量
matlab中预定义的一些特殊的量。
i,j 虚数单位 -1 pi 圆周率
Realmin 小的正浮点数,2-1022
Realmax 最大的浮点数, 21023
eps 浮点运算的相对精度10-52 Inf
无穷大
NaN Not-a-Number ,表示不定值
例如: >>pi ans =
>>pi=1
pi =
1
>>clear pi >>pi
ans =
3.1416
2019年12月24日10时44分
7
数值
数值缺省为实数保留小数点后4位浮点数表示。其输入格式与C 语言一致:如:9 -73 0.1999 1.475e6
输出格式由format命令控制,只是影响屏幕显示效果,不影响内 部存储和计算。下面以pi为例。>>format long;pi
如果是表达式,必须在虚部的数值与i、j之间使用乘号。
>> z=2*exp(pi/3i) z=
1.0000 + 1.7321i
>> sin(pi/3)+cos(pi/3)j ??? sin(pi/3)+cos(pi/3)j
Error: Unexpected MATLAB expression.
>> sin(pi/3)+cos(pi/3)*j
MATLAB语言的基本要素
变量 Matlab语言主要是由几个基本要素构建而成
的变,量不其需中要包事括先变声量明,、也常不量需、要数指定值变、量字类符型串,、它会运自算动根据 所如符赋果予变及变 量标量 已点的 存等值 在。或 ,对 则变用量新的值操代作替来旧确值定,变以量新的的类类型 型; 代赋 替值 旧过 的程 类中 型, 。
3.1416
%ans是默认的结果变量
2019年12月24日10时44分
5
>>1/0
Warning: Divide by zero.
ans = Inf
>>0/0
Warning: Divide by zero.
ans = NaN
2019年12月24日10时44分
6
定义变量时应避免与常量名相同,如果改变了某个常量的值, 可以用“clear+常量名”命令来恢复该常量的初始设定值。
14
>> a=[1,2,3;4,5,6;7,8,9] a=
11
>> a=[1:5] a=
12345
>> b=num2str(a) b=
1 2345 >> a*2 ans =
2 4 6 8 10 >> b*2
ans =
98 64 64 100 64 64 102 64 64 104 64 64 106
2019年12月24日10时44分
12
matlab对字符串的操作与C语言中的几乎完全相同:
int2str 整数转换为字符串
mat2str 矩阵转换为字符串
str2num 转>>换s=字'it''符s g串oo为d‘ 数字
>> double(s)‘ %s=‘i love you’ s=
ans = it's good
105 32 108 111 118 101 32 121 111 117
2019年12月24日10时44分
其中点运算是指操作元素 点对点的运算,也就是说矩阵 内元素对元素之间的运算,点 运算要求参与运算的变量在结 构上必须是相似的。 例如:
2019年12月24日10时44分
操作符 + * .* ^ .^ \ .\ / ./
定义 算术加 算术减 算术乘
点乘 算术乘方 点乘方 算术左除 点左除 算术右除 点右除
>>>>tu=p‘1p/(ear*(sb)-1)’;a=2;b=3;c=eval(t) % 可以在一行中表示。 c= an0s.=2000
IT'S GOOD
2019年12月24日10时44分
13
运算符
在matlab语言中运算符包 括算术运算符、关系运算符和 逻辑运算符。其中算术运算符 见右表:
ans =
0.8660 + 0.5000i
2019年12月24日10时44分
9
字符串
字符串用单引号输入或赋值; 字符串的每个字符都是都是字符数组的一个元素; 字符串和字符数组基本上等价。
>> s='i love you' s= i love you
>> size(s) ans =
1 10
相关文档
最新文档