- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对应元素相减 对应元素相乘 一定与A./B相同 A-B A*B B\A
指令 A^p矩阵运算 Nhomakorabea方阵A的非整数乘方
A为方阵时,标量的 矩阵乘方 同数组运算 同数组运算 内维相同矩阵的乘积 A右除B A左除B(一般与右 除不同)
6
A的元素被B的元素除 A/B
第三章 数值数组及其运算
举例3-1
exm3_1.m
问题7:“全下标”和“单下标”的概念?
>>A=[1,3;2,4]
全下标 例A(1,2):表示在二维数组A的“第1行第2列”的元素 单下标:将二维数组所有列按先左后右的次序、首尾相 接排成“一维长列”,然后,自上而下对元素进行标号。 >>A(3) >>B=[1,3,5;2,4,6] >>B(3)
问题3:常用数组运算和矩阵运算的区别(列表)?
指令 数组运算 指令 矩阵运算
A.'
A(:)=s s+B s-B,B-s
转置
标量s赋给A的每个元素 标量s与B的每个元素之和 标量s与B的每个元素之差
A'
共轭转置
s.*A A.^n n为整数
标量s与A的每个元素之积 s*A A的每个元素自乘n次 A^n
1
第三章 数值数组及其运算
问题2:数组和矩阵到底有什么区别?
数组运算:指无论在数组上施加什么运算(加减乘除或函数),
总认定那种运算对被运算数组中的每个元素(Element)平
等地实施同样的操作。 矩阵运算:有其特殊的含义(线性代数)。
例如:
>>A = [1,2;3,4] >>A .*A >>A*A %数组相乘 %矩阵相乘,对于标量,两者没有区别。
逐个元素输入法
>>A = [1,2,3,4]
冒号生成法 >>x=a:inc:b >>A=1:1:4 定数线性采样法 >>x=linspace(a,b,n) >>A=linspace(1,4,4) %等价于x=a:(b-a)/(n-1):b
8
第三章 数值数组及其运算
问题5:如何对一维数组的元素寻访和赋值?
>>zeros(1,2) >>ones(2)
17
第三章 数值数组及其运算
问题9:执行数组运算的常用函数有哪些?
补充:测量数组维数和大小函数 指令 含义 指令 size 含义 给出数组各维的大小
ndims 测量数组维数
length 给出所有维中的最大长度,常用于行向量或列向量 >>A=[1 2 3;4 5 6] >>dim_A=ndims(A) >>B=ones(1,8) >>size_A=size(A) >>L_A=length(A) >>L_B=length(B)
20
第三章 数值数组及其运算
问题10:数组的关系操作和逻辑操作?
逻辑操作
指令 & 含义 与 举例:A=[0 1 2 0 3],B=[2 3 0 0 5] A&B=>[0 1 0 0 1]
| ~ xor
或 非 异或
A|B=>[1 1 1 0 1] ~A=>[1 0 0 1 0] xor(A,B)=>[1 0 1 0 0]
18
第三章 数值数组及其运算
问题10:数组的关系操作和逻辑操作?
MATLAB的约定:
在所有关系表达式和逻辑表达式中,作为输入的任何非0 数都被看作是“逻辑真”,只有0才被认为是“逻辑假“; 所有关系表达式和逻辑表达式的计算结果,即输出,是一 个由0和1组成的“逻辑数组(Logical Array)”。1表示 “真”,0表示“假”; 逻辑数组可用于数组寻访; >>A=[1,0,5;0,4,6] >>C=(A>3) %C为逻辑数组 >>B=~A >>D=A(C) %数组寻访,生成列向量
2
第三章 数值数组及其运算
问题2:数组和矩阵到底有什么区别?
例如:
>>A = [1,2,3,4]
>>A .*A >>A*A %数组相乘 %矩阵相乘
>>B = [1,2;3,4;5,6;7,8] >>A .*B >>A*B %数组相乘 %矩阵相乘
3
第三章 数值数组及其运算
问题2:数组和矩阵到底有什么区别?
>>help mod >>help rem >>sign(A)
16
第三章 数值数组及其运算
问题9:执行数组运算的常用函数有哪些?
补充:标准数组生成函数(很有用) 指令 eye ones zeros 含义 产生单位数组 产生全1数组 产生全0数组 >>rand %(0,1) >>randn(2,3) 指令 rand randn 含义 产生均匀分布随机数组 产生正态分布随机数组
第三章 数值数组及其运算
问题1:什么是数组?
数组:指由一组实数或复数排成的长方阵列(Array)。它 可以是一维的“行”或“列”,可以是二维的“矩形”,也 可以是三维的“若干同维矩形的堆叠”,甚至更高的维数。 例如: >>A = [1,2,3,4,5,6,7,8,9]
>>A = [1,2,3; 4,5,6; 7,8,9]
19
第三章 数值数组及其运算
问题10:数组的关系操作和逻辑操作?
关系操作
指令 < <= 含义 小于 小于等于 指令 >= == 含义 大于等于 等于
>
大于
~=
不等于
>>A=[1,0,5;0,4,6] >>C=(A>=B) %C为逻辑数组 >>B=ones(2,3) >>D=(A==B) %D为逻辑数组
以2为底对数 log10
pow2
>>pow2(5) >>sqrt(2)
2的幂
sqrt
>>log2(4)
平方根
14
第三章 数值数组及其运算
问题9:执行数组运算的常用函数有哪些?
复数函数 名称 abs 含义 名称 模,或绝对值 real imag 复数共轭 相角(弧度) 含义 复数实部
conj angle
同s.*A A为方阵时, 自乘n次
5
s./B,B.\s 两者相同,s被B的元素除 s*inv(B) B的逆乘s
第三章 数值数组及其运算
问题3:常用数组运算和矩阵运算的区别(列表)?
指令 A.^p p非整数 p.^A A+B A-B A.*B A./B B.\A 数组运算
A的每个元素求非整 数幂 以p为底,分别以A的 p^A 元素为指数求幂值 A+B 对应元素相加
x=0:0.1:1 %定义自变量的采样点取值数组(一维)
y=x.*exp(-x) %利用数组运算计算各自变量采样点上的函数值 plot(x,y),xlabel('x'),ylabel('y'),title('y=x*exp(-x)') %绘图
7
第三章 数值数组及其运算
问题4:如何产生一维数组?
直接输入法
>>M_r=[1,2;3,4] >>M_i=[5,6;7,8] >>C=[1+5i,2+6i;3+7i,4+8i] >>CN=M_r+i*M_i 对于较小数组,直接输入最简便,必须有三个要素: • 以“[ ]”为其首尾; • 用“;”或回车分隔行; • 元素间用“,”或空格分隔。
10
第三章 数值数组及其运算
12
第三章 数值数组及其运算
问题9:执行数组运算的常用函数有哪些?
三角函数和双曲函数 名称 含义 名称 acos asin atan 含义
cos
sin tan
余弦
正弦 正切
反余弦
反正弦 反正切
13
第三章 数值数组及其运算
问题9:执行数组运算的常用函数有哪些?
指数函数 名称 exp log2 含义 指数 log 名称 含义 自然对数 常用对数
【注】标量可以与任何维数的数组进行逻辑运算;没有 标量时,参与运算的数组必须同维。例如:A&1
21
11
第三章 数值数组及其运算
问题8:如何对二维数组的元素寻访和赋值?
>>A=[1 2 3;4 5 6;7 8 9] >>A(2,3) >>A(2,:) >>A(:,3) >>A(:) >>s1=[3 5 8] >>A(s1) >>s2=[3;5;8] >>A(s2) >>A(2,3)=100 >>Sa=ones(3,2) >>A(:,[2 3])=Sa >>A([2 3],:)=Sa %出错 >>D=zeros(1,9) >>A(:)=D(:) >>A=D %对A重新定义了 >>A(s1)=[1 1 1] >>A(s1)=[10;10;10]
>>x=1:1:5 >>x(3) >>x([1 2 5]) >>x(1:3) >>x(3:end) >>x(3:-1:1) >>x(find(x>1.5)) >>x([1 2 3 4 4 3 2 1]) >>x(3)=0 >>x([1 4])=[10 10]