MATLAB经典数学建模教程

发布 2023-05-17 23:11:28 阅读 5073

matlab是一种功能非常强大的工程语言,诞生于20世纪70年代,2023年正式推向市场。2023年8月,matlab6.5开始发布。是进行科学研究和产品开发必不可少的工具。

数值和符号计算。

矩阵(数组)的四则运算(matrix+laboratory)、数值差分、导数、积分、求解微分方程、微分方程的优化等。

数字图像、数字信号处理。

工程和科学绘图。

控制系统设计。

财务工程。

建模、**功能。

1.命令窗口(command window):

matlab各种操作命令都是由命令窗口开始,用户可以在命令窗口中输入matlab命令,实现其相应的功能。此命令窗口主要包括文本的编辑区域和菜单栏(如:四则运算;“;禁止显示变量的值;↑↓遍历以前的命令)。

在命令窗口空白区域单击鼠标右键,打开快捷菜单,各项命令功能如下:

evaluate selection :打开所选文本对应的表达式的值。

open selection :打开文本所对应的matlab文件。

cut :剪切编辑命令。

paste :粘贴编辑命令。

2. m-文件编辑/调试(editor/debugger)窗口。

matlab editor/debugger窗口是一个集编辑与调试两种功能于一体的工具环境。

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

创建m-文件的方法:

matlab命令窗的file/new/m-file。

在matlab命令窗口运行edit。

m-文件的扩展名: *m

执行m-文件:f5

m文件的调试。

选择debug菜单,其各项命令功能如下:

step :逐步执行程序。

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

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

run:执行m-文件。

go until cursor :执行到光标所在处。

exit debug mode :跳出调试状态。

函数文件的创建要求:文件名与函数名必须相同,如sin(x)必有函数文件存在。

要求实参和形参位置一一对应。形参在工作空间中不会存在。

可以编写递归函数,可以嵌套其他函数。

可以用return命令返回,也可以执行到终点返回。

3.工作空间(workspace)窗口:

显示目前保存在内存中的matlab的数学结构、字节数、变量名以及类型窗口。

保存变量:file菜单\s**e workspace as 命令行:s**e 文件名。

装入变量:file菜单\import data命令行:load 文件名。

4.现在目录窗口(current directory)

5.命令历史窗口(command history ):提供先前使用过的函数,可以复制或者再次执行这些命令。

matlab在命令窗口提供了可以获得帮助的命令,用户可以很方便的获得帮助信息。例如:在窗口中输入“help fft”就可以获得函数“fft”的信息。

常用的帮助信息有help ,demo ,doc ,who ,whos ,what ,which ,lookfor ,helpbrowser ,helpdesk ,exit ,web 等。

变量命名规则:

变量名是不包含空格的单个词。

变量名区分大小写。

变量名必须以字母开头的字母、数字、下划线的组合,最多19个字符。

matlab提供的标准函数名均以小写字母开头。

特殊变量名:

ans 缺省变量名。

pi 圆周率。

i,j 虚数单位。

eps 无穷小。

inf ,inf 无穷大

realmax 最大正实数。

realmin 最小正实数。

清除变量的值。

clear

clear 变量名1 变量名2

显示驻留内存的变量名。

who whos

1、直接输入。

直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([ 内;多维矩阵用多重方括弧。

可建立复数矩阵。

如: null_m生成一个空矩阵。

可建立复数矩阵。

r=[1,2,3;4,5,6]

i=[7,8,9;10,11,12]

z=r+i*j

2. 由m文件方式建立,今后使用键入m文件名即可建立相应矩阵。

2、利用函数输入。

“:”表达式,产生等差行向量 start:step:end 或start:end(step=1)如:t=1:20

产生等距输入: linspace(a,b,n) 将〔a,b〕区间分成n-1个等距小区间。

产生随机排列: randperm(n) 产生1~n之间整数的随机排列。

3、特殊矩阵输入。

zeros(n生成n×n全零阵。

zeros(a,b) 元素全为0的a×b维矩阵以下各函数同理具有该类型。

zeros(size(a)) 生成与矩阵a相同大小的全零阵,

ones(a,b) 元素全为1的a×b维矩阵。

eye(a,b) 对角线上的元素为1的a×b维矩阵。

rand(a,b) 产生a×b维均匀分布的随机矩阵,其元素在(0,1)内。

rand无变量输入时只产生一个随机数。

randn(a,b)产生a×b维正态分布的随机矩阵。

4.矩阵的转置和逆矩阵。

x的转置:x’ (图像顺时针旋转90°,并水平镜像)

如:a=imread('d:\'

b=a';subplot(1,2,1),subimage(a),subplot(1,2,2),subimage(b)

x的逆矩阵 inv(x)

访问第n个元素: x(n)(n>=1)

访问多个元素: x ([n1,n2,n3……]或 x(1:10)

确定元素的个数: numel(x)

确定矩阵的大小: [m,n,l]=size(x)

数与矩阵的运算:m等价于m.

m+a : m与a中各元素相加。

m-a : m与a中各元素相减。

m×a : m与a中各元素相乘。

m. /a : m除以a中各元素 (没有m/a)

m \ a : a中各元素除以m

矩阵与矩阵的运算。

a+b: a、b对应元素相加。

a-b: a、b对应元素相减。

a×b: a、b矩阵按线性代数中矩阵乘法运算进行相乘(注意维数匹配)

a.*b: a、b对应元素相乘(注意维数相同)

a / b: a除以b矩阵 (a×b-1)(注意维数匹配)

a./b: a除以b中各元素。

a \ b: b除以a矩阵 (a-1×b)(注意维数匹配)

a.\b: b除以a中各元素。

a^m: 相当于矩阵a×矩阵a×矩阵a…….m为小数即是矩阵的开方运算)(注意维数匹配)

a.^m:矩阵a中各元素的m次方。

a.^b:矩阵a中各元素的进行b中对应元素次方(注意维数相同)

、<=六种关系运算符。关系成立结果为1,否则为0。

设矩阵a和b都是m×n矩阵或其中之一为标量,在matlab中定义了如下的逻辑运算:&、xor(真为1,假为0)

1)矩阵的与运算。

格式 a&b或and(a, b)

说明 a与b对应元素进行与运算,若两个数均非0,则结果元素的值为1,否则为0。

2)或运算。

格式 a|b或or(a, b)

说明 a与b对应元素进行或运算,若两个数均为0,则结果元素的值为0,否则为1。

3)非运算。

格式 ~a或not (a)

说明若a的元素为0,则结果元素为1,否则为0。

4)异或运算。

格式 xor (a,b)

说明 a与b对应元素进行异或运算,若相应的两个数中一个为0,一个非0,则结果为0,否则为1。

1.两个集合的交集 intersect

2.检测集合中的元素 ismember

3.两集合的差 setdiff

4.两个集合交集的非(异或)函数 setxor

5.两集合的并集 union

6.取集合的单值元素 unique

语句后面加“;”号,不显示运算结果。

开头表示是注释语句。

变量=表达式。

表达式 (相当于将值付给ans变量)

演示(三)例】一个简单的for循环示例。

for i=1:10i依次取1,2,…10,.

x(i)=i对每个i值,重复执行由该指令构成的循环体,end;

x要求显示运行后数组x的值。 x =

例】fibonacci数组的元素满足fibonacci 规则: ,且。现要求计算出该数组中第一个大于10000的元素。

a(1)=1;a(2)=1;i=2;

while a(i)<=10000

a(i+1)=a(i-1)+a(i); 当现有的元素仍小于10000时,求解下一个元素。

i=i+1;

end;i,a(i), i =

ans =

例1】一个简单的分支结构。

cost=10;number=12;

if number>8

sums=number*0.95*cost;

end,sums

sums =

例2】用for循环指令来寻求fibonacc数组中第一个大于10000的元素。

matlab教程

本章有三个目的 一是讲述matlab正常运行所必须具备的基础条件 二是简明地介绍matlab及其操作桌面desktop的基本使用方法 三是全面介绍matlab的帮助系统。本章的前两节讲述 matlab的正确安装方法和matlab 环境的启动。因为指令窗是matlab最重要的操作界面,所以本章用第 4...

数学建模matlab作业

数统应数 20121323003 王妍。数统应数 20121323022 胡可旺。1 生成5阶矩阵,使其元素满足均值为1,方差为4的正态分布 y 1 sqrt 4 randn 5 结果 2,生成一个20行5列矩阵a,其元素分别以概率 2取自 这三个整数,然后将 删除a的全零行 之后的结果赋给矩阵b ...

数学建模Matlab练习

matlab练习四。1.绘制两个一元函数的曲线图 例如y sin x y cos x 加上标注说明,包括坐标 抬头 曲线说明等。x 0 pi 30 2 pi y sin x plot x,y,ob markersize 10 hold on y1 cos x plot x,y1,markersize...