第2章 Matlab基本操作
合集下载
matlab-基本使用方法
例: 矩阵: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获得.
第二章 MATLAB基础
27
3 )向量是一个数学量,一般高级语言中也未引入, 它可视为矩阵的特例。从MATLAB的工作区可以查 看到:一个 n 维的行向量是一个 1 × n 阶的矩阵,而 一个n维的列向量则当成n×1阶的矩阵。 如A=[1 2 3 4]就是一个4维的行向量。也可看成是 一个一维数组,还要看成是一个1×4阶的矩阵。
3
数据类型转换函 数 uint8 uint16 uint32 uint64 int8 int16 int32 int64
说 明 无符号8位整数 无符号16位整数 无符号32位整数 无符号64位整数 有符号8位整数 有符号16位整数 有符号32位整数 有符号64位整数
字节数 1 2 4 8 1 2 4 8
22
【例 2.8】变量赋值 >> a=3.14 a= 3.1400 >> class(a) %函数class用来是判断变量数据类 型的 ans = double %变量a是双精度的浮点型数据
23
>> a='hello!' hello! >> class(a) ans = char
%变量a重新赋值
13
>> whos Name Size a 1x1 x 1x1 y 1x1 z 1x1
Bytes Class Attributes 16 double complex 4 int32 4 int32 8 int32 complex
14
2.2MATLAB的常量及变量
2.2.1常量 常量是程序语句中取不变值的那些量。如表达式 y=0.314*x,其中就包含一个0.314这样的数值常数,它 便是一个数值常量。而在另一表达式s='Hello'中,单引 号内的英文字符串“Hello”则是一个字符串常量。
3 )向量是一个数学量,一般高级语言中也未引入, 它可视为矩阵的特例。从MATLAB的工作区可以查 看到:一个 n 维的行向量是一个 1 × n 阶的矩阵,而 一个n维的列向量则当成n×1阶的矩阵。 如A=[1 2 3 4]就是一个4维的行向量。也可看成是 一个一维数组,还要看成是一个1×4阶的矩阵。
3
数据类型转换函 数 uint8 uint16 uint32 uint64 int8 int16 int32 int64
说 明 无符号8位整数 无符号16位整数 无符号32位整数 无符号64位整数 有符号8位整数 有符号16位整数 有符号32位整数 有符号64位整数
字节数 1 2 4 8 1 2 4 8
22
【例 2.8】变量赋值 >> a=3.14 a= 3.1400 >> class(a) %函数class用来是判断变量数据类 型的 ans = double %变量a是双精度的浮点型数据
23
>> a='hello!' hello! >> class(a) ans = char
%变量a重新赋值
13
>> whos Name Size a 1x1 x 1x1 y 1x1 z 1x1
Bytes Class Attributes 16 double complex 4 int32 4 int32 8 int32 complex
14
2.2MATLAB的常量及变量
2.2.1常量 常量是程序语句中取不变值的那些量。如表达式 y=0.314*x,其中就包含一个0.314这样的数值常数,它 便是一个数值常量。而在另一表达式s='Hello'中,单引 号内的英文字符串“Hello”则是一个字符串常量。
第2章 MATLAB的基础知识
a=[1 2 1;2 2 1;2 1 2]; b=[1;2;3]; a/b %矩阵右除
运行程序,得到结果:
??? Error using ==> mrdivide Matrix dimensions must agree.
重新输入语句
a\b
%矩阵左除 ans = 1.0000 -0.3333 0.6667
运行程序,得到结果:
c= 0 0 1 1 1 0
说明 对于复数运算,“= =”与“~ =”运算,既比较实部, 又比较虚部。而其他运算仅比较实部。关系运算同样也可用于 常量与矩阵的比较,在这种情况下,该常量与矩阵的每一个元 素进行比较,其结果是一个与矩阵同维数的0、1矩阵。
逻辑操作符
逻辑操作符 说 明 相对应函数
-0.1667 0 0
(3)矩阵特征值运算
矩阵条件数cond( ) 矩阵的秩rank() 矩阵特征值eig ( )
矩阵范数norm( ) 矩阵的迹trace ( ) 矩阵奇异值svd ( )
例2-7 分别计算矩阵a的有关特征参数。输入以下 MATLAB语句
a=[1 2 3;4 5 6;7 8 0] [cond(a),norm(a),rank(a)]
2.MATLAB工作环境
图形窗口“Figure”
M文件窗口
3.MATLAB的M文件
所谓M文件,就是用户把要实现的命令写在一个 以.m为扩展名的文件中
M文件有两种格式(统称为M文件) 函数式M文件 程序式M文件 程序式M文件用于把很多需要在命令窗口输入的命 令放在一起,就是命令的简单叠加 函数式M文件用于把重复的程序段封装成函数供用 户调用。
&
|
逻辑与
逻辑或
and(a,b)
第2章Matlab基本语法
• 2020/8/5 long e(16位加指数) rat(有理数近似)
• x = [4/3 1.2345e–6]
– format short
1.3333 0.0000
format short e 1.3333e+000 1.2345e–006
format short g 1.3333 1.2345e–006
format rat 4/3 1/810045
format hex 3ff5555555555555
3eb4b6231abfd271
2020/8/5
2.1.2 基本运算
MATLAB基本运算符
2020/8/5
运算 加 减 乘 除 幂次方
符号 + - * /或\ ^
范例 1+2 1-2 1*2 1/2或1\2 1^2
2020/8/5
2.2.1、矩阵
•矩阵的构造 要用MATLAB做矩阵运算,必须要将矩阵 直接输入到MATLAB中去,其中最方便的 是将矩阵直接输入。须遵循以下规则:
⑴用中括号[]把所有矩阵元素括起来。 ⑵同一行的不同元素之间数据元素用空格或逗号 间隔。 ⑶用分号(;)指定一行结束。 ⑷也可分成几行输入,用回车代替分号。 ⑸数据元素可是表达式,系统将自动计算。
lcm(x,y) 整数x和y的最小公倍数
gcd(x,y) 整数x和y的最大公约数
real 复数实部
conj 2020/8/5
复数共轭
exp sqrt lcm(x,y) gcd(x,y)
指数 平方根 整数x和y的最小公倍数 整数x和y的最大公约数
2020/8/5
2.1.5、使用函数注意事项
– 函数一定是出现在等式的右边。 – 每个函数对其自变量的个数和格式都有一定的
• x = [4/3 1.2345e–6]
– format short
1.3333 0.0000
format short e 1.3333e+000 1.2345e–006
format short g 1.3333 1.2345e–006
format rat 4/3 1/810045
format hex 3ff5555555555555
3eb4b6231abfd271
2020/8/5
2.1.2 基本运算
MATLAB基本运算符
2020/8/5
运算 加 减 乘 除 幂次方
符号 + - * /或\ ^
范例 1+2 1-2 1*2 1/2或1\2 1^2
2020/8/5
2.2.1、矩阵
•矩阵的构造 要用MATLAB做矩阵运算,必须要将矩阵 直接输入到MATLAB中去,其中最方便的 是将矩阵直接输入。须遵循以下规则:
⑴用中括号[]把所有矩阵元素括起来。 ⑵同一行的不同元素之间数据元素用空格或逗号 间隔。 ⑶用分号(;)指定一行结束。 ⑷也可分成几行输入,用回车代替分号。 ⑸数据元素可是表达式,系统将自动计算。
lcm(x,y) 整数x和y的最小公倍数
gcd(x,y) 整数x和y的最大公约数
real 复数实部
conj 2020/8/5
复数共轭
exp sqrt lcm(x,y) gcd(x,y)
指数 平方根 整数x和y的最小公倍数 整数x和y的最大公约数
2020/8/5
2.1.5、使用函数注意事项
– 函数一定是出现在等式的右边。 – 每个函数对其自变量的个数和格式都有一定的
Matlab第2章
2 2 2 2
程序控制结构
3.break语句和continue语句 break语句用于终止循环的执行。当在循环体内执行到该语 句时,程序将跳出循环,继续执行循环语句的下一语句。 continue语句控制跳过循环体中的某些语句。当在循环体内 执行到该语句时,程序将跳过循环体中所有剩下的语句,继 续下一次循环。 【例2.11】输入两个整数,求它们的最小公倍数。 程序如下: x=input('请输入第一个数:'); y=input('请输入第二个数:'); z=max(x,y); while or(rem(z,x)~=0,rem(z,y)~=0) z=z+1; end disp([num2str(x),'和',num2str(y),'的最小公倍数是: ',num2str(z)])
3.try语句 try语句是一种试探性执行语句,为开发人员提供了一种捕获错误的机制,其语 句格式为 try 语句块1 catch 语句块2 end try语句先试探性执行语句块1,如果语句块1在执行过程中出现错误,则将错误 信息赋给保留的lasterr变量,并转去执行语句块2。 【例2.6】矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘 积,若出错,则自动转去求两矩阵的点乘。 A=input('请输入A矩阵:'); B=input('请输入B矩阵:'); lasterr(''); %清除原有的错误信息 try C=A*B; catch C=A.*B; end C disp(lasterr) %显示出错原因
2.2 程序控制结构
3.程序的暂停 当程序运行时,为了查看程序的中间结果或者观看输出的图 形,有时需要暂停程序的执行。这时可以使用pause函数, 其调用格式为 pause(延迟秒数) 如果省略延迟时间,则将暂停程序,直到用户按任一键后程 序继续执行。 若要强行中止程序的运行可使用Ctrl+C组合键。
程序控制结构
3.break语句和continue语句 break语句用于终止循环的执行。当在循环体内执行到该语 句时,程序将跳出循环,继续执行循环语句的下一语句。 continue语句控制跳过循环体中的某些语句。当在循环体内 执行到该语句时,程序将跳过循环体中所有剩下的语句,继 续下一次循环。 【例2.11】输入两个整数,求它们的最小公倍数。 程序如下: x=input('请输入第一个数:'); y=input('请输入第二个数:'); z=max(x,y); while or(rem(z,x)~=0,rem(z,y)~=0) z=z+1; end disp([num2str(x),'和',num2str(y),'的最小公倍数是: ',num2str(z)])
3.try语句 try语句是一种试探性执行语句,为开发人员提供了一种捕获错误的机制,其语 句格式为 try 语句块1 catch 语句块2 end try语句先试探性执行语句块1,如果语句块1在执行过程中出现错误,则将错误 信息赋给保留的lasterr变量,并转去执行语句块2。 【例2.6】矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘 积,若出错,则自动转去求两矩阵的点乘。 A=input('请输入A矩阵:'); B=input('请输入B矩阵:'); lasterr(''); %清除原有的错误信息 try C=A*B; catch C=A.*B; end C disp(lasterr) %显示出错原因
2.2 程序控制结构
3.程序的暂停 当程序运行时,为了查看程序的中间结果或者观看输出的图 形,有时需要暂停程序的执行。这时可以使用pause函数, 其调用格式为 pause(延迟秒数) 如果省略延迟时间,则将暂停程序,直到用户按任一键后程 序继续执行。 若要强行中止程序的运行可使用Ctrl+C组合键。
MATLAB基础教程第2章
第二章 数组、矩阵及其运算
2.1 数组的创建和寻访
例2-2 一维数组的生成与访问
命令:X=rand(1,5) 命令:X(3) 命令:X([1 2 5]) 命令:X(1:3) 命令:X(3:end) 命令:X(3:-1:1) 命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.2 矩阵的运算
例2-6 矩阵的乘法(接着上面的例子) A*B 3*A
注意:矩阵相乘时要求A的列数等于B的行数
第二章 数组、矩阵及其运算
2.2 矩阵的运算
A/B(矩阵右除)表示的是方程X*B=A的解 A\B(矩阵左除)表示的是方程A*X=B的解
例2-7 矩阵的除法( 见教材P.23)
第二章 数组、矩阵及其运算
2.3 数组的运算
1、数组的基本运算
例2-8 ( 见教材P.25)
第二章 数组、矩阵及其运算
2.3 数组的运算
数组运算和矩阵运算指令对照表
数组运算 指令 A.’ A=s A+s,A-s s.*A s./A,A.\s A.^n A+B,A-B A.*B A./B B.\A 含义 非共轭转置,相当于conj(A’) 把标量s赋给A中每个元素 标量s分别于A的元素之和(差) 标量s分别于A的元素之积 S分别被A的元素除 A的每个元素自乘n次 对应元素相加(减) 对应元素相加(乘) A的元素被B的对应元素相除 (与上相同) A^n A+B,A-B A*B A /B B\A 方阵A自乘n次 矩阵和(差) 同内维矩阵相乘 A右除B A左除B S*A 标量s分别于A的元素之积 A’ 指令 共轭转置 矩阵运算 含义
第二章 数组、矩阵及其运算
第2章 MATLAB数据及其运算.
8 1 d 3 5
(2)利用空矩阵删除矩阵的元素 a=[ ] a的维数为0。 例:a( 2 , : )= [ ]; 8 1 6 得: 3 5 7 a a= 4 9 2 8 1 6 4 9 2
2.3.5
复数(Com part)和虚部(imaginary part)组 成。 虚数单位用i或j来表示。 6+5i = 6+5j
format bank format rat
2.3 MATLAB矩阵的表示
2.3.1 矩阵 MATLAB中最基本的数据结构是矩阵(matrix)。 1*1的矩阵----标量(scalar): [5] 只有一行或一列的矩阵-----向量(vector): [1 3 5 7]
2 4 6 8
2.4 Matlab数据的运算(Operators ) 运算符(Operators )
+ Addition
*
Subtraction
Multiplication
/
\
Division
Left division
^
Power
2.4.1 算术运算 (1)矩阵加减运算: 两个同维矩阵,才能进行加减运算,对应无素相加减。 一个标量与矩阵相加减时,结果为这个标量与矩阵的 每一个元素相加减。 x=[2,-1,0;3 2 -4]; y=ones(2,3); x-y=? [1,-2,-1;2,1,-5] x+1=? [3,0,1;4,3,-3]
在线性代数中,本没有矩阵除法,它是由逆 矩阵引申来的。 MATLAB中,矩阵求逆(Matrix inverse)的函 数为: Y = inv(X) 方程A*X=B的解为:X=inv(A)*B=A\B, A\B称为A左除B,左除时要求两矩阵行数相等。 方程X*A=B的解为:X=B*inv(A)=B/A, A/B称为A右除B,右除时要求两矩阵列数相等。
第二章Matlab 基本功能
>> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16] A=
1234 5678 9 10 11 12 13 14 15 16
>> B=[1,sqrt(25),9,13 2,6,10,7*2 3+sin(pi),7,11,15 4,abs(-8),12,16]
B= 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
3.利用M文件建立矩阵
对于比较大且比较复杂的矩阵,可以为它专门建立一个M
文件。下面通过一个简单例子来说明如何利用M文件创建
矩阵。
A=[1,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,20 21,22,23,24,25]
(1)启动有关编辑程序或MATLAB文本 编辑器,并输入待建矩阵:
3.访问多个元素
操作符“:”可以用来表示矩阵的多个元素。 若A是二维矩阵,其主要用法如下: Ø A(:,:) 返回矩阵A的所有元素。 Ø A(i,:) 返回矩阵A第i行的所有元素。
Ø A(i,k1:k2) 返回矩阵A第i行的自k1到k2 列的所有元素。
Ø A(:,j) 返回矩阵A第j列的所有元素。 Ø A(k1:k2,j) 返回矩阵A第j列的自k1到k2
>> a= linspace(-6,6,4) a=
-6 -2 2 6
>> b=logspace(0,2,4) b=
1.0000 4.6416 21.5443 100.0000
2.2.2 矩阵下标引用
本小节将介绍通过矩阵 下标 来存取元素值 的方法,包括访问单个元素、线性引用元 素和访问多个元素等。
第2章 MATLAB基本操作
6. 逻辑操作符 功能: 功能:逻辑操作运算。 格式: 格式:A&B A|B ~A 注意逻辑操作有相应的M文件 文件: 注意逻辑操作有相应的 文件:A&B等效 等效 ),A|B等效于 等效于or(A,B), 于and(A,B), ( , ), 等效于 , , ~A等效为 等效为not(A)。 等效为 。
2.关系操作符 关系操作符 关系运算符包括: 关系运算符包括:< 、< = 、〉、> = 、= = 、 ~= 3.测试用的逻辑函数 测试用的逻辑函数 1)all函数测定矩阵中是否全为非零元素 2)any函数测试出矩阵中是否有非零值 3) find函数可找出矩阵中的非零元素及其下 标 4) exist函数在装入数据之前对数据文件作 检测
利用取整和求余函数,可得到整数或精确到小数点后的第 几位。例如: x1=10-round(20*rand(2,5)) %产生[-10 10]之间的随机数(取整) x1 = -4 4 -1 -4 7 -7 -2 0
2 −7
x2=10-round(2000*rand(2,5))/100 %产生[−10 10]之间的随机 数(精确到0.01) x2 = -8.0000 -2.9000 -3.2000 -6.4300 -6.3600 3.1600 4.2100 -0.6800 3.1800 -4.5400
5.函数 函数 内部函数、工具箱函数、自定义函数。 1)函数的嵌套 x=sqrt(log(z)) 函数的嵌套 2)多输入函数 theta=atan2(y,x) 多输入函数 3)多输出函数 [v,d] = eig(a) 多输出函数 [y,I] = max(x) 6.表达式 表达式 a=(1+sqrt(10))/2 b=abs(3+5i) c=sin(exp(-2.3))
第2章_MATLAB的基本操作
浮点数
浮点数包括单精度(4个字节)和双精度(8个字 节),默认为双精度。
single :将其它类型的数据转换成单精度浮点数。 double :将其它类型的数据转换成双精度浮点数。
浮点数与其它类型数据运算表
operand single double int/uint char logical X single single single single single double single double int/uint double double
MATLAB数据类型
例:
MATLAB数据类型
细胞变量的定义
可以通过以下两种方式定义一个细胞变量:
用赋值语句直接定义; 由 cell 函数预先分配存储空间,然后对细
胞的每个元素逐个赋值。
MATLAB数据类型
MATLAB数据类型
细胞变量可以嵌套定义
MATLAB数据类型
细胞变量的元素的引用
MATLAB数据类型
str2num:将字符数组转换为
数值数组
abs,double,char按照 ASCII码 转换; num2str,int2str,mat2str,str2num 直接转换。
MATLAB数据类型
字符串的连接
水平连接:strcat 或 中括号中用逗号连接
在中括号中直接水平连 接,结果中包括原字符 串结尾处的空格。 用 strcat 连接,结果 中忽略原字符串结尾处 的空格。
把数字直接转换为字符 串,每个数字为一个独 立的字符串。
把数字取整后转换为字 符串,注意和 num2str 的区别。
把矩阵转换为一个字符 串,方括号、分号和空 格都是其元素。
MATLAB数据类型
浮点数包括单精度(4个字节)和双精度(8个字 节),默认为双精度。
single :将其它类型的数据转换成单精度浮点数。 double :将其它类型的数据转换成双精度浮点数。
浮点数与其它类型数据运算表
operand single double int/uint char logical X single single single single single double single double int/uint double double
MATLAB数据类型
例:
MATLAB数据类型
细胞变量的定义
可以通过以下两种方式定义一个细胞变量:
用赋值语句直接定义; 由 cell 函数预先分配存储空间,然后对细
胞的每个元素逐个赋值。
MATLAB数据类型
MATLAB数据类型
细胞变量可以嵌套定义
MATLAB数据类型
细胞变量的元素的引用
MATLAB数据类型
str2num:将字符数组转换为
数值数组
abs,double,char按照 ASCII码 转换; num2str,int2str,mat2str,str2num 直接转换。
MATLAB数据类型
字符串的连接
水平连接:strcat 或 中括号中用逗号连接
在中括号中直接水平连 接,结果中包括原字符 串结尾处的空格。 用 strcat 连接,结果 中忽略原字符串结尾处 的空格。
把数字直接转换为字符 串,每个数字为一个独 立的字符串。
把数字取整后转换为字 符串,注意和 num2str 的区别。
把矩阵转换为一个字符 串,方括号、分号和空 格都是其元素。
MATLAB数据类型
第二章 MATLAB基础知识
2.2 数组及其运算
例 ascii_a=double(a) %将字符转换为相应的双精度值 ascii_a = Columns 1 through 13 84 104 105 115 32 105 115 32 97 110 32 101 120 Columns 14 through 19 97 109 112 108 101 46 例 char(ascii_a) %将双精度值转换为字符 ans = This is an example. 例 w=find(a>=‘a’&a<=‘z’); %查找所有小写字母的位置 ascii_a(w)=ascii_a(w)-32; %将小写字母ascii值转换为大写 char(ascii_a) %将双精度值转换为字符 ans = THIS IS AN EXAMPLE.
2.2 数组及其运算
2.2.2 数组的运算
运算 加 运算符 + 表达式 a+b
减 乘 除 幂 点乘 点除 点幂
*
/或\ ^ .* ./或.\ .^
a-b a*b
a/b或a\b a^b a .* b a ./ b或a.\b a.^b
2.2 数组及其运算
例 a=3 14 7 1 4 9 3 6 10 b=2 8 3 2 10 0 11 2 7 a+b ans= 5 22 10 3 14 9 14 8 17
2.2 数组及其运算
高维数组的创建
直接通过“全下标”元素赋值方式创建高维数组; 由若干个同样大小的低维数组组合成高维数组; 由函数ones、zeros、rand、randn直接创建标准
高维数组;
借助cat、repmat、reshape等函数构造高维数组。
Am
第2章MATLAB的基本语法课件
handmard
Handmard矩 rosser 阵
hankel hilb invhilb
Hankel矩阵 toeplize Hilbert矩阵 vander
Hilbert逆矩 wilkinson 阵
魔方矩阵
Pascal矩阵
经典的对称 特征值测试 矩阵 Toeplize矩阵
Vanderm阵
此外,常用的函数还有reshape(A,m,n),它在 矩阵总元素保持不变的前提下,将矩阵A重新 排成m×n的二维矩阵。
4. 建立大矩阵 大矩阵可由方括号中的小矩阵建立起来。 例如
A=[1 2 3;4 5 6;7 8 9]; C=[A,eye(size(A)); ones(size(A)),A]
C=
3. 内存变量文件 ❖利用MAT文件(.mat)可以把当前MATLAB
工作空间中的一些有用变量长久地保留下 来。
❖MAT文件的生成和装入由save和load命令 来完成。常用格式为:
save 文件名 [变量名表] [-append][-ascii]
load 文件名 [变量名表] [-ascii]
2.3 MATLAB矩阵
• 数据输出时用户可以用format命令设置或改 变 数 据 输 出 格 式 。 format 命 令 的 格 式 为 : format 格式符
• 注意,format命令只影响数据输出格式,而 不影响数据的计算和存储。
2.2.4 预定义变量
在MATLAB工作空间中,还驻留几个由 系统本身定义的变量。它们有特定的含 义,在使用时,应尽量避免对这些变量 重新赋值。
❖ 变量的元素用圆括号“( )”中的数字 (下标)表示。一维矩阵(数组)中的
元素用一个下标表示;二维矩阵用两个 下标表示,以逗号分开
Matlab基础及其应用 第2章 MATLAB数据对象
y=
0.5690 + 1.3980i
2.2 变量及其操作
2.2.1 变量与赋值
3.预定义变量
MATLAB基础与应用教程
2.2 变量及其操作
MATLAB基础与应用教程
2.2.2 变量的管理
1.内存变量的显示与修改
who函数按字母顺序列出当前工作区中的所有变量,whos函 数工作区中按字母顺序列出当前工作区中的所有变量及大小、 类型。
2.2 变量及其操作
MATLAB基础与应用教程
2.2.1 变量与赋值
1.变量命名 在MATLAB中,变量名是以字母开头,后跟字母、数字或下划 线的字符序列,最多63个字符。 变量名区分字母的大小写。 不能使用MATLAB的关键字作为变量名。
2.2 变量及其操作
MATLAB基础与应用教程
2.2.1 变量与赋值
构建二维字符数组可以使用创建数值数组相同的方法matlab基础与应用教程25字符数据及操作251字符向量与字符数组matlab还有许多与字符处理有关的函数matlab基础与应用教程25字符数据及操作例22建立一个字符串向量然后对该向量做如下处理
MATLAB基础与应用教程
第2章 MATLAB数据对象
【本章学习目标】 掌握MATLAB数据对象的特点。 掌握变量的创建与管理。 掌握矩阵的生成、转换与运算。 掌握MATLAB基本的运算规则。
0 -2 -4 -6 -8
2.3 MATLAB数组
MATLAB基础与应用教程
2.3.1 构造数组
2.构造行向量 用linspace函数构建线性等间距的行向量,logspace函数构 建对数等间距的行向量: linspace(a, b, n) logspace(a, b, n) 其中,参数a和b是生成向量的第1个和最后1个元素,选项n 指定向量元素个数。当n省略时,默认生成100个元素。
第二章 matlab基础知识
第四种方法:利用函数logspace logspace是用来创建对数空间的向量
logspace 的基本语法
X=logspace(X1,X2,n) 该函数创建的向量第一个元素值为10X1,而最后一个元素的数值为10X2,
n为向量的元素个数,元素彼此之间的间隔按照对数空间的间隔设置 若在表达式中忽略参数n,则系统默认地将向量设置为50个元素
2.4 Matlab数据
2016/12/29 数据类型 矩阵的概念 一维数组变量的创建 二维数组变量的创建 数组元素的标识与寻访 字符串 多维矩阵 元胞 Application of Matlab Language 结构
8
2.4.1. MATLAB数据类型
数据的记述 Matlab的数只采用习惯的十进制表示,可 以带小数点和负号;其缺省的数据类型为双 精度浮点型(double)。 例如:3 -10 0.001 1.3e10 1.256e-6 其他数据类型 此外,MATLAB还提供了各种有符号、无 符号整型数据,具体参见教材表2.2。
语言。可见学习掌握这一工具的重要性。
2016/12/29
Application of Matlab Language
3
2.2 MATLAB的主要功能
功能强大
数值运算优势 符号运算优势(Maple) 强大的2D、3D数据可视化功能 许多具有算法自适应能力的功能函数
2016/12/29
10
2.4.2. 数组(array)的概念
数组的分类
一维数组,也称为向量(vector) 。
行向量(row vector)、列向量(column vector)。
二维数组(矩阵matrix)。 多维数组。 有效矩阵:每行元素的个数必须相同,每 列元素的个数也必须相同。
logspace 的基本语法
X=logspace(X1,X2,n) 该函数创建的向量第一个元素值为10X1,而最后一个元素的数值为10X2,
n为向量的元素个数,元素彼此之间的间隔按照对数空间的间隔设置 若在表达式中忽略参数n,则系统默认地将向量设置为50个元素
2.4 Matlab数据
2016/12/29 数据类型 矩阵的概念 一维数组变量的创建 二维数组变量的创建 数组元素的标识与寻访 字符串 多维矩阵 元胞 Application of Matlab Language 结构
8
2.4.1. MATLAB数据类型
数据的记述 Matlab的数只采用习惯的十进制表示,可 以带小数点和负号;其缺省的数据类型为双 精度浮点型(double)。 例如:3 -10 0.001 1.3e10 1.256e-6 其他数据类型 此外,MATLAB还提供了各种有符号、无 符号整型数据,具体参见教材表2.2。
语言。可见学习掌握这一工具的重要性。
2016/12/29
Application of Matlab Language
3
2.2 MATLAB的主要功能
功能强大
数值运算优势 符号运算优势(Maple) 强大的2D、3D数据可视化功能 许多具有算法自适应能力的功能函数
2016/12/29
10
2.4.2. 数组(array)的概念
数组的分类
一维数组,也称为向量(vector) 。
行向量(row vector)、列向量(column vector)。
二维数组(矩阵matrix)。 多维数组。 有效矩阵:每行元素的个数必须相同,每 列元素的个数也必须相同。
02第二章Matlab语言基础-Matlab教程
MATLA于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩 阵时,按Enter键也表示开始一新行. 输入矩阵时,严格要求所有行有相同的列 例m=[1 2 3 4 ;5 6 7 8;9 10 11 12] p=[1 1 1 1 2222 3 3 3 3] 特殊矩阵的建立: a=[ ] 产生一个空矩阵,当对一项操作无结果时,返回空矩阵,空矩阵的大小为零. b=zeros(m,n) 产生一个m行、n列的零矩阵 c=ones(m,n) 产生一个m行、n列的元素全为1的矩阵 d=eye(m,n) 产生一个m行、n列的元素的单位矩阵 e=randn(m,n) 产生一个m行、n列正态分布随机矩阵
3、数组的方向 前面例子中的数组都是一行数列,是行方向分布的 称之为行向量 数组也可以是列向 行向量. 前面例子中的数组都是一行数列,是行方向分布的. 称之为行向量 数组也可以是列向 量,它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示. 它的数组操作和运算与行向量是一样的,唯一的区别是结果以列形式显示 产生列向量有两种方法: 产生列向量有两种方法: 直接产生 例 转置产生 例 c=[1;2;3;4] ; ; ; b=[1 2 3 4]; c=b’
Matlab语言基础 Matlab语言基础
1)启动与退出
双击matlab图标,进入matlab命令窗口(command window) 双击matlab图标,进入matlab命令窗口(command window),即可 输入命令语句,开始运算,或从开始菜单的程序中单击matlab进入。 输入命令语句,开始运算,或从开始菜单的程序中单击matlab进入。 单击file菜单中的Exit,或在命令窗口输入Exit并回车即可退出。 单击file菜单中的Exit,或在命令窗口输入Exit并回车即可退出。
MATLAB实用教程第二章
1.矩阵的合并 2.矩阵行列的删除
1.矩阵的合并
矩阵的合并就是把两个或者两个以上的矩阵 连接成一个新矩阵矩阵构造符 可用于构造矩阵并 可以作为一个矩阵合并操作符 ➢ 表达式C=A B在水平方向合并矩阵A和B; ➢ 表达式C=A;B在竖直方向合并矩阵A和B
具有相同行数的两个矩阵合并为一个新矩阵
12 34 56 3×2
1.访问单个元素
2.线性引用元素
➢ 对于矩阵A线性引用元素的格式为 Ak通常这样的引用用于行向量或列 向量但也可用于二维矩阵
➢ MATLAB按列优先排列的一个长列向量格 式线性引用元素来存储矩阵元素
3.访问多个元素
操作符:可以用来表示矩阵的多个元 素若A是二维矩阵其主要用法如下: ➢ A:: 返回矩阵A的所有元素 ➢ Ai: 返回矩阵A第i行的所有元素
3.用满矩阵和稀疏矩阵存储方式分别构造下述矩 阵:
4.采用向量构造符得到向量159…41 5.按水平和竖直方向分别合并下述两个矩阵:
6. 分别删除第5题两个结果的第2行 7. 分别将第5题两个结果的第2行最后3列的数值
改为11 12 13 8. 分别查看第5题两个结果的各方向长度 9. 分别判断pi是否为字符串和浮点数 10.分别将第5题两个结果均转换为29的矩阵 11.计算第5题矩阵A的转秩 12.分别计算第5题矩阵A和B的A+B、A.* B和
行运算; ➢ 不同优先级的运算符采用先进行优先高的
运算
运算符的优先等级表
由表中可以看到括号的优先级别最高因此可 以用括号来改变默认的优先等级
2.4 字符串处理函数
2.4.1 字符串的构造 2.4.2 字符串的比较 2.4.3 字符串的查找和替换 2.4.4 字符串与数值间的转换
1.矩阵的合并
矩阵的合并就是把两个或者两个以上的矩阵 连接成一个新矩阵矩阵构造符 可用于构造矩阵并 可以作为一个矩阵合并操作符 ➢ 表达式C=A B在水平方向合并矩阵A和B; ➢ 表达式C=A;B在竖直方向合并矩阵A和B
具有相同行数的两个矩阵合并为一个新矩阵
12 34 56 3×2
1.访问单个元素
2.线性引用元素
➢ 对于矩阵A线性引用元素的格式为 Ak通常这样的引用用于行向量或列 向量但也可用于二维矩阵
➢ MATLAB按列优先排列的一个长列向量格 式线性引用元素来存储矩阵元素
3.访问多个元素
操作符:可以用来表示矩阵的多个元 素若A是二维矩阵其主要用法如下: ➢ A:: 返回矩阵A的所有元素 ➢ Ai: 返回矩阵A第i行的所有元素
3.用满矩阵和稀疏矩阵存储方式分别构造下述矩 阵:
4.采用向量构造符得到向量159…41 5.按水平和竖直方向分别合并下述两个矩阵:
6. 分别删除第5题两个结果的第2行 7. 分别将第5题两个结果的第2行最后3列的数值
改为11 12 13 8. 分别查看第5题两个结果的各方向长度 9. 分别判断pi是否为字符串和浮点数 10.分别将第5题两个结果均转换为29的矩阵 11.计算第5题矩阵A的转秩 12.分别计算第5题矩阵A和B的A+B、A.* B和
行运算; ➢ 不同优先级的运算符采用先进行优先高的
运算
运算符的优先等级表
由表中可以看到括号的优先级别最高因此可 以用括号来改变默认的优先等级
2.4 字符串处理函数
2.4.1 字符串的构造 2.4.2 字符串的比较 2.4.3 字符串的查找和替换 2.4.4 字符串与数值间的转换
matlab第二章
3)ceil,与floor相反,它的意思是天花板,也就是取比它大的最小整 数,即朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;ceil(-1.8)=-1,
ceil(1.8)=2
4)round四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=2;round(1.3)=1;round(1.52)=2。
MATLAB 中的变量不需要事先定义,在 遇到新的变量名时,MATLAB会自动建立该变 量并分配存储空间。当遇到已存在的变量时, MATLAB会更新其内容,如有必要会重新分配
存储空间。
下一页
变量名由字母、数字和下划线构成, 并且必须以字母开头,最长为31个字符。 MATLAB能区分大小写字母,变量A和a是
例如: if a>1
disp('a>1')
elseif a==1
disp('a=1')
else disp('a<1') end 上一页 返回
3、逻辑函数
MATLAB提供了许多测试用的逻辑函数,
主要有all、any、find、exist、is*等。
返回
all函数
利用all函数可以测定矩阵每列所有
元素是否非零。若该列所有元素非零,则
利用重复函数repmat可以将小矩阵以
重复的形式产生大矩阵。
例如: f=repmat(a,2,3)
3、矩阵缩小 将大矩阵变成小矩阵的方法有两种: 抽取法和删除法。 (1)抽取法是指从大的矩阵中抽取中 的一部分,从而构成新的矩阵。例如: a=[1:4; 5:8; 9:12; 13:16] b=a(2:3, 3:4) c=a([1 4],[1 3]) d=a([2 4],[1 3])
ceil(1.8)=2
4)round四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=2;round(1.3)=1;round(1.52)=2。
MATLAB 中的变量不需要事先定义,在 遇到新的变量名时,MATLAB会自动建立该变 量并分配存储空间。当遇到已存在的变量时, MATLAB会更新其内容,如有必要会重新分配
存储空间。
下一页
变量名由字母、数字和下划线构成, 并且必须以字母开头,最长为31个字符。 MATLAB能区分大小写字母,变量A和a是
例如: if a>1
disp('a>1')
elseif a==1
disp('a=1')
else disp('a<1') end 上一页 返回
3、逻辑函数
MATLAB提供了许多测试用的逻辑函数,
主要有all、any、find、exist、is*等。
返回
all函数
利用all函数可以测定矩阵每列所有
元素是否非零。若该列所有元素非零,则
利用重复函数repmat可以将小矩阵以
重复的形式产生大矩阵。
例如: f=repmat(a,2,3)
3、矩阵缩小 将大矩阵变成小矩阵的方法有两种: 抽取法和删除法。 (1)抽取法是指从大的矩阵中抽取中 的一部分,从而构成新的矩阵。例如: a=[1:4; 5:8; 9:12; 13:16] b=a(2:3, 3:4) c=a([1 4],[1 3]) d=a([2 4],[1 3])
第二章 Matlab的基本运算-yxw
• z=r*exp(i*theta) • z=complex(a,b)
2.2 矩阵和数组的算术运算
• 空数组(empty array):没有元素的数组; • 标量(scalar):是指1×1的矩阵,即为只含一
个数的矩阵; • 向量(vector):是指1×n或n×1的矩阵,即只
有一行或者一列的矩阵; • 矩阵(matrix):是一个矩形的m×n数组,即二
4字节 8字节
-3.40282×1038 ~ +3.40282×1038
-1.79769×10308 ~ +1.79769×10308
类型转换 函数 single()
double()
2.1.3 复数
• MATLAB用特殊变量“i”或“j”表示虚数的 单位。
• 复数的产生可以有几种方式:
• z=a+b*i或z=a+b*j • z=a+bi或z=a+bj(当b为常数时)
a(11)
• 中元素通过n个下标来引用:
图 2.4 矩阵的元素
• a(d1,d2,d3….)
例如:一个m×n的a矩阵的第i行第j列的元素表 示为a(i,j)。
• (2)单下标方式
• 数组元素用单下标引用,就是先把数组的所有 列按先左后右的次序连接成“一维长列”,然 后对元素位置进行编号。
• 以m×n的矩阵a为例,元素a(i,j)对应的单下标 = (j-1)×m+i。
• A. 10
B. 11
C.
9
D. 12
答案: B
• 3. 矩阵
• 矩阵是m行n列(m×n)的二维数组, 需要使用“[ ]”、“,”、“;”、空格等符号 创建。
• 最简单的方法是采用矩阵构造符“[]”。 构造1n矩阵(行向量)时,可以将各 元素依次放入矩阵构造符[]内,并且以 空格或者“,”分隔;
2.2 矩阵和数组的算术运算
• 空数组(empty array):没有元素的数组; • 标量(scalar):是指1×1的矩阵,即为只含一
个数的矩阵; • 向量(vector):是指1×n或n×1的矩阵,即只
有一行或者一列的矩阵; • 矩阵(matrix):是一个矩形的m×n数组,即二
4字节 8字节
-3.40282×1038 ~ +3.40282×1038
-1.79769×10308 ~ +1.79769×10308
类型转换 函数 single()
double()
2.1.3 复数
• MATLAB用特殊变量“i”或“j”表示虚数的 单位。
• 复数的产生可以有几种方式:
• z=a+b*i或z=a+b*j • z=a+bi或z=a+bj(当b为常数时)
a(11)
• 中元素通过n个下标来引用:
图 2.4 矩阵的元素
• a(d1,d2,d3….)
例如:一个m×n的a矩阵的第i行第j列的元素表 示为a(i,j)。
• (2)单下标方式
• 数组元素用单下标引用,就是先把数组的所有 列按先左后右的次序连接成“一维长列”,然 后对元素位置进行编号。
• 以m×n的矩阵a为例,元素a(i,j)对应的单下标 = (j-1)×m+i。
• A. 10
B. 11
C.
9
D. 12
答案: B
• 3. 矩阵
• 矩阵是m行n列(m×n)的二维数组, 需要使用“[ ]”、“,”、“;”、空格等符号 创建。
• 最简单的方法是采用矩阵构造符“[]”。 构造1n矩阵(行向量)时,可以将各 元素依次放入矩阵构造符[]内,并且以 空格或者“,”分隔;
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
续表:
格 式 说 明
format compact
压缩格式(或紧凑格式),不显示空白行,比较紧凑。 例 >> format compact >> pi ans = 3.141592653589793
format loose
自由格式(或宽松格式),显示空白行,比较宽松。例 >> format loose >> pi ans = 3.141592653589793
>> clear pi % 清除变量pi
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
三、MATLAB中的关键字
作为一种编程语言,MATLAB中为编程保留了一些关键 字:break、case、catch、classdef、continue、else、elseif、 end、for、function、global、if、otherwise、parfor、 persistent、return、spmd、switch、try、while,这些关键 字在程序编辑窗口中会以蓝色显示,它们是不能作为变量名 的,否则会出现错误。
MATLAB基本操作
五、数据输出格式
MATLAB中数值型数据的输出格式可以通过 format 命 令指定
格 式 说 明 format short format long format short e format long e format short g format long g format short eng format long eng format + format bank format hex format rat 固定短格式,4 位小数。例 3.1416. 固定长格式,14 至 15 位小数(双精度);7 位小数(单精度)。例 3.141592653589793. 浮点短格式,4 位小数。例 3.1416e+000. 浮点长格式,14 至 15 位小数(双精度);7 位小数(单精度)。例 3.141592653589793e+000. 最好的固定或浮点短格式,4 位小数。例 3.1416. 最好的固定或浮点长格式,14 至 15 位小数(双精度);7 位小数(单精度)。例 3.14159265358979. 科学计数法短格式,4 位小数,3 位指数。例 3.1416e+000. 科学计数法长格式,16 位有效数字,3 位指数。例 3.14159265358979e+000. 以“+”号显示 固定的美元和美分格式。例 3.14. 十六进制格式。例 400921fb54442d18. 分式格式,分子分母取尽可能小的整数。例 355/113.
[1
0 2 −3 5 ] 。
>> x = [1,0,2,-3 5] % 定义行向量 x= 1 0 2 -3 5
注:行向量各元素之间用逗号或空格分隔;列向量各元素 之间用分号分隔。
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
[ −1 10 3 −2 7] 。 【例2.3-2】定义列向量 y =
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
3. 访问矩阵元素 双下标访问 x = A(i, j) % 访问矩阵A的第i行第j列的元素 单下标访问 x = A(k) % 访问矩阵A的第k个元素
注:单下标访问时相当于访问A所转成的向量的元素。
2013/10/22
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
四、数据类型
MATLAB中有15种基本的数据类型,有逻辑型、字符型、 整型、浮点型、结构数组、元胞数组以及函数句柄等。其中 整型又分为有符号整型和无符号整型,8位整型、16位整型、 32位整型和64位整型,浮点型又分为单精度浮点型和双精度 浮点型。具体可以通过MATLAB中自带的isa函数查看。
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
数组类型
基本 组分
组分内容 双精度实数标量(MATLAB系 统默认) 双精度复数标量 字符 可以存放任意类型、任意大小的 数据 只有结构的“域”可以存放数据, 数据可以是任意类型、任意大小。
MATLAB基本操作
二、MATLAB中的常量
1. MATLAB中的特殊函数或常量列表 在变量名缺省的情况下,计算结果被赋给变量ans,ans 是一个内部函数。MATLAB中提供了一些特殊函数,它们的 返回值是一些有用的常量。
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
MATLAB基本操作
MATLAB基本操作
谢中华
E-mail: xiezhh@ MATLAB统计分析与应用:40个案例分析 MATLAB从零到进阶 /forum-181-1.html
©
谢中华, MATLAB应用培训.
MATLAB基本操作
【例2.3-8】利用行标、列标和冒号运算符提取矩阵元素。 >> A = [1 2 3; 4 5 6; 7 8 9]; >> y1 = A(1, 2) y1 = 2 >> y2 = A(2:3, 1:2) y2 = 4 7 5 8
>> y3 = A(3:6) y3 =
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
第二节 常用函数
2013/10/22
©
谢中华, MATLAB应用培训.
常用函数列表:
MATLAB基本操作
2013/10/22
©
谢中华, MATLAB应用培训.
【例2.2-1】常用函数的用法举例 >> x = [1 -1.65 2.2 -3.1]; >> y1 = abs(x) y1 = 1.0000 1.6500 2.2000 3.1000 >> y2 = sin(x) y2 = 0.8415 -0.9969 0.8085 -0.0416 >> y3 = round(x) y3 = 1 -2 2 -3 >> y4 = floor(x) y4 = 1 -2 2 -4
2013/10/22
MATLAB基本操作
©
谢中华, MATLAB应用培训.
MATLAB基本操作
第三节 数组运算
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
一、定义向量
1. 逐个输入向量元素 x = [x1, x2, x3,…] % 定义行向量
x = [x1; x2; x3;…] % 定义列向量 【例2.3-1】定义行向量 = x
基本组分 占用字节 数 8 16 2
数值数组 (Numeric Array)
元素
字符串数组 元素 (Character String Array) 元胞数组 (Cell Array) 结构数组 (Structure Array) 元胞
不定
结构
不定
2013/10/22
©
谢中华, MATLAB应用培训.
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
2. 清除变量和恢复内部函数 >> pi >> pi = 1 >> pi ans = 3.1416 思考:如果用户对clear进行赋值,则clear函数失效, 此时怎么清除变量呢? % 查看圆周率的值 % 对变量pi重新赋值
T
% 方式一 >> y = [-1; 10; 3; -2; 7] % 定义列向量 % 方式一 >> y = [-1 10 3 -2 7]' % 通过行向量转置定义列向量
注:Matlab中 x' 表示 x 的转置。
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
2. 规模化定义向量 【例2.3-3】通过冒号运算符构造等间隔向量。 x = 初值:步长:终值 >> x = 1:2:10 x= 1 3 5 7 >> y = 1:10 y= 1 2 3
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
主要内容
变量的定义与数据类型 常用函数 数组运算 MATLAB常用标点符号 MATLAB常用快捷键和快捷命令
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
第一节 变量的定义与数据类型
2013/10/22
7 2 5 8
©
谢中华, MATLAB应用培训.A(:, 1:2) % 提取A的前两列元素 y4 = 1 4 7 2 5 8
2013/10/22
©
谢中华, MATLAB应用培训.
MATLAB基本操作
向量转为矩阵 A = reshape(x, [m, n]) % 将向量x转为m行n列的矩阵
【例2.3-7】定义长度为18的向量,将其转为3行6列的矩阵。 >> x = 1:18 ; >> A = reshape(x, [3, 6])
2013/10/22
©
谢中华, MATLAB应用培训.