matlab-基本使用方法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例: 矩阵:a=[1 2 ; 3 4] b=[5 6 ; 7 8] c =2, d=a+b, e=a-b, b*2, a^2, a’
例: a=[pi pi/2 0 ]; b=[0 ,1] b1=sin(a) exp(b), exp(1) , log(exp(1)), log(2.7182 ) pow2(3)
正割
asec
反正割
余割
acsc
反余割
名称 exp log log10 log2 pow2 sqrt
指数和对数函数 含义 指数函数 自然对数 常用对数 以2为底的对数 2的幂 平方根
名称 abs conj imag real
复数函数
含义 绝对值函数(求字符的ASCII码) 复数共轭 复数虚部 复数实部
常用的数学常量
pi : pi或4*atan(1) i或 j: 虚数单位,例如:3+i*2或3+2j eps:浮点数的相对误差,eps=2.2204e-016=2^(-52) Inf(inf): 无穷大,即:1/0,2/0 NaN(nan):代表不定值,即:inf/inf 或0/0 realmax:最大的正浮点数,即:1.7977e+308 realmin: 最小的正浮点数,即: 2.2251e-308 ans:默认变量名,应答最近一次运算结果。
2变 量 变量是Matlab的基本元素之一,与其他常规程 序设计语言不同的是Matlab语言不要求对所使用的 变量进行事先说明,也不需要指定变量的类型。
变量的命名规则
1. 变量名必须以字母开头。 2. 变量名中包含字母、数字或下划线(不能含有
标点符号)。 3. 变量名区分大小写。 4. 关键字(if ,while等)不能作为变量名。 5. 变量名长度,可以用namelengthmax获得.
例:
zeros(3,2) ones(1,5) rand(3,2) magic(4) eye(4,2) m=3:-1:1 diag(m) diag(m,1)
1 7 0 0
怎样生成给定的矩阵A1= 0 2 5 0
0 0 3 6 0 0 0 4
1 7 0 0
A2= 10 2 5 0
0 9 3 6
比较在两数组相同位置上的元素间进行,因此比较 结果将与被比数组同维。
例5: a=[1 3 ;7 8] b=2; c1=(a>=b) c2=a(a>=b) d=[6 5;2 3] e=a<d
维数不同时的反例 f=[1 7 2 ; 4 5 6] m=a<f
逻辑运算
Matlab的逻辑操作符主要有:
指令
例:
floor(2/3) round(2/3) floor(1./[1 2 3]) ceil(1/2) fix(1/3) floor(-1/3) mod(-2,-3) mod(2,-3) rem(2,-3)
2.1.2 Matlab的数学运算符
运算操作符
符号(矩阵)
+ * / \ ^ ’
含义
加法 减法 乘法 右除法 左除法 乘方 转置
3 由函数生成特殊矩阵
zeros(m,n): 产生m*n的全0矩阵; ones(m,n): 产生m*n的全1矩阵; rand(m,n): 产生均匀分布随机矩阵,元素
取值范围为0-1; randn(m,n): 产生正态分布的随机矩阵; magic(n): 产生n阶魔方矩阵; eye(m,n): 产生m*n的单位矩阵; diag(m): 产生以m向量为对角元素的对角阵
第2章 基本使用方法
对于任何一门语言来说,要用它编写程序, 首先需要掌握其基本的数据类型。
Matlab的数据类型包括:数值型、字符串型、 元胞型、结构型。
Matlab的数据是通过变量存储在内存中的。
1. 常量: 在Matlab中在默认的情况下, 常量的值为常
数。如果在程序中没有专门给这些变量定义,那 么系统将给出它们的默认值,用户可以直接使用; 如果用户在程序中对它们有了新的定义,则这些 变量将保留新值。
关系运算和逻辑运算
在程序流控制和逻辑推理中,需要对一类是非 问题作出“是真,是假”的回答。所以设计了关系 和 逻辑操作和一些相关函数。
Matlab的规定: (1) 关系和逻辑表达式中,任何非0数都被看作
是“逻辑真”,而0被认为是“逻辑假”。 (2) 关系和逻辑表达式的计算结果,是由0和1组
成的“逻辑数组”。 (3) 逻辑数组是一种特殊的数值数组。与“数值
常见的操作指令
键名
clf
clc
作用
清除图形窗
清除指令窗中显示内容
clear 清除工作空间中保存的变量
edit 打开M文件编辑器
type 显示指定M文件的内容
version(ver) 给出当前Matlab的版本号(详细信息)
whos(who) 列出工作空间中的变量的详细信息
save(load) 保存变量(启用变量)
符号(数组)
+ .* ./ .\ .^ .’
含义
加法 减法 乘法 右除法 左除法 乘方 转置
矩阵和数组运算对比表如下:
矩阵运算
数组运算
A+B (A-B) 矩阵加法(减法) A+B (A-B) 数组加法(减法)
A*B 内维相同矩阵乘法 A.*B
数组乘法
s*A
标量s与矩阵每个 元素相乘
S.*A(s*A)
0
0 8 4
4 编写M文件产生矩阵
对于经常需要调用的矩阵,尤其是比较大而复 杂的矩阵,用户也可以通过专门的M文件创建矩阵。
5 通过导入外部数据文件生成矩阵。
通过选择菜单“import data”加载数据X.xls或 X.txt文件。
2.1 简单的数学运算
Matlab的运算主要包括:算术运算、 关系运算、逻辑运算 。
类”有关的操作和函数对它也同样适用 ;
2.4.2.1 关系运算
Matlab的关系操作符主要有:
指令
含义
指令
<
小于
>=
<=
小于等于
==
>
大于
~=
含义 大于等于
等于 不等于
说明 1 标量与数组进行比较,比较在标量与数组每个
元素之间进行,因此比较结果将与被比数组同维。 2 数组与数组进行比较,两数组必须维数相同,
矩阵输入的方法
1. 直接输入矩阵。 2. 通过语句生成矩阵。 3. 由矩阵生成函数产生特殊矩阵。 4. 用户自己编写M文件产生矩阵。 5. 通过导入外部数据文件生成矩阵。
1 直接输入矩阵
(1) 矩阵中元素应用方括号括住。 (2) 每行内的元素间用逗号或空格隔开; (3) 行与行之间用分号或回车键隔开。 (4) 元素可以是数值或表达式。
名称 ceil fix floor mod rem round sign
取整和求余函数
含义
向 方向取整
向0方向取整
向 方向取整
求余 mod(x, y) : x - n.*y , n = floor(x/y) 求余 rem(x,y): x - n.*y , n = fix(x/y) 四舍五入(无论正负) 符号函数
n默认值为100。
例:
linspace(2,8,7) linspace(2,8)
(2) logspace(a,b,n)生成对数等分向量
说明: a, b, n 3个参数分别表示开始值、
结束值和元素个数。生成从 到10a 之1间0b按
对数等分的n个元素的行向量. 默认值n为50
例:
logspace(0,2,3) logspace(1,2)
X=A\B 是方程 A*X=B的解, 即:A\B=A1*B X=B/A 是方程 X*A=B的解, 即:B/A=B* A1 其中: A1是矩阵的逆,也可用inv(A)求。
当A的行大于列时A\B仍然合法,得到的是最小二 乘解。即: X=inv(A’*A)*(A’*B)
例: 数组: a=[1 2 ; 3 4] b=[5 6 ; 7 8], c =2 d=a+b, a+2, b.*2, a.^2, a.’ a.*b, sqrt(a) exp(a)
2.2 常用的操作命令和快捷键
指令窗中常用操作键
键名 ↑(↓) ← (→) Page up Pagedown Home End Esc backspace Delete
作用 向前(后)调回已输入过的指令行 当前行中左(右)移光标 向前翻阅当前窗中的内容 向后翻阅当前窗中的内容 使光标移到当前行的首端 使光标移到当前行的尾端 清除当前行的全部内容 删去光标左边的字符 删去光标右边的字符
含义
指令
含义
& (and) 与、和
| (or)
或
~ (not)
否、非
xor(a, b) (异或逻辑函数)
a,b对应元素同为0 或非0时,为0, 否则为1
运算符左边为真, && 才继续执行符号 (先决与)右边运算。
|| (先决或)
运算符左边为真, 不继续执行符号右 边的运算,否则继 续执行右边运算。
说明 1 标量与数组进行逻辑运算,运算在此标量与数组
标量s与数组每个 元素相乘
A/B(A\B)
A右(左)除B
A./B(A.\B)
A的元素右(左) 除B的对应元素
A^s
乘方
A.^s
A的元素乘方
矩阵运算
数组运算
A’ 转置(复数共轭转置) A.’
转置
Sqrt(A)
对A的各元素 求平方根
s+B (B-s)
标量s分别与B 元素之和(差)
当A是非奇异的n阶方阵
2.1.4 标点符号的使用
标点符号 分号 ; 逗号 , 冒号 : 圆括号( ) 方括号[ ]
定义
数组行分隔符;取 消运行显示
数组列分隔符;函 数参数分隔符
在数组中应用较多, 如生成等差数列
指定运算优先级; 函数参数调用;
定义矩阵
标点符号 省略号 … 引号 ‘’ 等号 = 百分号 %
定义 续行符 定义字符串 赋值语句 注释语句的标识
指令 all(a)
any(a)
find logical
Matlab的逻辑函数
含义
测试矩阵所有元素是否非零。 (当向量a的元素全非0时,结果是1; 否则 为0,矩阵针对每一列) 测试任意非零值。 (只要a中有非0元素,结果就是1; 否则结 果是0) 查找非零元素的值和下标
将数值转变成逻辑值
例7: a=[1 2 0 4] b=all(a) a=[1 2; 3 4] c=all(a) (向量和矩阵) d=any(a)
当 b=0 c=a& b ( c=and(a,b) ) d=a | b ( or(a,b) ) e=~a ( not(a,b) )
关系和逻辑运算混合例子
例如: a=1:9 b=~(a>5) c=a>3 & a<7 (c=(a>3) & ( a<7) ) d=a<2 | a>6 ( d=(a<2) | (a>6 ) )
例: a1=2:5 a2=2:0.5:4 a3=5:-1:2 a4=2:-1:3, a_1=[1:2:5; 1:3:7] a_2=[3:-1:1;4:-1:2]
(2) linspace(a,b,n)生成线性等分向量
说明: a, b, n 3个参数分别表示开始值、 结束值和元素个数。生成从a到b之间线性分 布的n个元素的行向量.
例:
mc=[1 2;3 4; 5 6] md=[1+sqrt(4) 2; 3 4+6; 5 6] me=[1 4
23 6 5]
2 通过语句生成矩阵
(1) 使用from:step:to方式生成向量。
说明: from, step, to 分别表示开始值、步长和结束
值。step省略时为step=1。 当step>0而from>to时为空矩阵。 当step<0而from<to时为空矩阵。
变量的赋值
变量=表达式:“=”表示赋值号,等号右端 表达式的计算结果赋给等号左端的变量;
如果“=”左端无定义的变量名时,计算结果 赋给系统默认的变量ans。
注意:用户如果在对某个变量赋值时,如果 该变量已经存在,系统则会自动使用新值来替代 该变量的旧值。
矩阵的输入
Matlab是是矩阵实验室,因此Matlab的最 基本、最重要的功能就是进行实数或复数矩阵 的运算。
2.1.1 最简单的计算器使用法
运算顺序 运算级别先乘方、再乘除、后加减,同级运算
自左向右, ( )可改变运算顺序.
2.1.2
名称 sin cos tan cot sec csc
Matlab中的常用数学函数
三角函数
含义
名称
含义
正弦
asin
反正弦
余弦
acos
反余弦
正切
atan
反正切
余切
acot
反余切
每个元素之间进行,因此运算结果与参与运算的数组 同维。
2 数组与数组进行逻辑运算,两数组必须维数相同。 运算在两数组相同位置上的元素间进行,因此运算结 果一定和参与运算的数组同维。
例6: a=[1 2; 3 0] b=2 c=a& b ( c=and(a,b) ) d=a | b ( or(a,b) ) e=~a ( not(a,b) )