200 likes | 335 Views
第三课 Matlab 语言的基本运算. 李 晗 新邮箱: li_han@wznc.zj.cn 每次上三节课. 内容提要. Matlab 数组运算与矩阵运算; 数组构作综合技法; 高维数组的创建; 关系操作和逻辑操作; 字符串数组。. matlab 数组运算与矩阵运算. matlab 支持的两种运算方式。 数组运算:从编程的角度考虑,对数据管理方便、操作简单、形式自然和计算有效。 矩阵运算:从数学的角度考虑,严谨推理的结果、明确而严格的数学规则。. 实验内容 : 数组运算与矩阵运算比较. 例:两种转置比较. A = zeros(2,3);
E N D
第三课 Matlab语言的基本运算 李 晗 新邮箱:li_han@wznc.zj.cn 每次上三节课
内容提要 • Matlab数组运算与矩阵运算; • 数组构作综合技法; • 高维数组的创建; • 关系操作和逻辑操作; • 字符串数组。
matlab数组运算与矩阵运算 • matlab支持的两种运算方式。 • 数组运算:从编程的角度考虑,对数据管理方便、操作简单、形式自然和计算有效。 • 矩阵运算:从数学的角度考虑,严谨推理的结果、明确而严格的数学规则。
例:两种转置比较 • A = zeros(2,3); • A(:) = 1:6 • A = A*(1+i); • Aa = A.’ • Am = A’
实验内容:数组构作综合技法 • 数组的赋值扩展法 • 多次寻访扩展法 • 合成扩展法
数组的赋值扩展法 • A = reshape(1:9,3,3) • A(5,5) = 111 • A(:,6) = 222
多次寻访扩展法 • AA = A(:,[1:6,1:6]) • AA = repmat(A,1,2)
合成扩展法 • AB = [A;B] • AB2 = [A,B(:,1:5)’] • triu(A),triu(A,1),triu(A,-1) • tril(A),tril(A,1),tril(A,-1) • A2 = triu(A,1)+tril(A,-1) • AB2 = [A(1:2,end:-1:1);B(1,:)]
reshape指令演示 • A = reshape(1:16,2,8) • reshape(A,4,4)
单下标寻访 • S = [1 3 6] • A(s) = 0 • ind2sub • sub2ind • Ab1 = A-b([1 1 1],:) • Ab2 = A-repmat(b,3,1) • Ab3 = [A(:,1)-b(1), A(:,2)-b(2), A(:,3)-b(3)]
实验内容:创建高维数组 • 全下标方式 • 同样大小的低维数组合成 • 由维数函数直接创建:ones,zeros,rand,randn • 由构作函数创建:cat,repmat,reshape
全下标方式 • A(2,2,2) = 1 • B(2,5,:) = 1:3 同样大小的低维数组合成 • A = ones(2,3); A(:,:,2)=ones(2,3)*2; A(:,:,3) = ones(2,3)*3
由函数创建 • 由维数函数直接创建cat(3,ones(2,3),ones(2,3)*2,ones(2,3)*3) • 由repmat构作: repmat(ones(2,3),[1,1,3]) • 由reshape构作: reshape(1:12,2,2,3)
关系操作和逻辑操作 • 关系操作:判断真假 • 关系操作符:>, >=, ==, <, <= • 逻辑操作:关系操作结果的相互关系 • 任何非0数(包括负数):逻辑真 • 0:逻辑假 • 数组逻辑操作:&, |, ~, xor • 二进数位逻辑操作:bitand, bitor, bitcmp, bitxor
实验内容:关系操作和逻辑操作 • A = -3:3 • L1 = ~(A>0) • L2 = ~A>0 • L3 = ~A • L4 = A>-2&A<1
字符串数组 • 不同的数值类:数值和字符串。 • 字符串数组符合所有的数组操作。 • 定义字符串数组:a = ‘abcdef’ • 串转换函数* • 串操作函数* 前后均为英文单引号
实验内容:字符串数组 • a = ‘This is an example.’ • size(a) • 字符串倒排: • a14 = a(1:4) • ra = a(end:-1:1) • 字符串与ASCII码 • aAsc = double(a) • char(aAsc)
实验内容:字符串数组 • 字符串的大小写 • w = find(a>=‘a’ & a<=‘z’) • aAsc(w) = aAsc(w)-32 • char(aAsc) • 中文字符串: • A = ‘这是个算例。’ • 注意单引号是英文的单引号。 • 串中包含单引号:b = ‘Example ‘‘2.1’’’