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...