1 / 20

第三课 Matlab 语言的基本运算

第三课 Matlab 语言的基本运算. 李 晗 新邮箱: li_han@wznc.zj.cn 每次上三节课. 内容提要. Matlab 数组运算与矩阵运算; 数组构作综合技法; 高维数组的创建; 关系操作和逻辑操作; 字符串数组。. matlab 数组运算与矩阵运算. matlab 支持的两种运算方式。 数组运算:从编程的角度考虑,对数据管理方便、操作简单、形式自然和计算有效。 矩阵运算:从数学的角度考虑,严谨推理的结果、明确而严格的数学规则。. 实验内容 : 数组运算与矩阵运算比较. 例:两种转置比较. A = zeros(2,3);

wanda
Download Presentation

第三课 Matlab 语言的基本运算

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三课 Matlab语言的基本运算 李 晗 新邮箱:li_han@wznc.zj.cn 每次上三节课

  2. 内容提要 • Matlab数组运算与矩阵运算; • 数组构作综合技法; • 高维数组的创建; • 关系操作和逻辑操作; • 字符串数组。

  3. matlab数组运算与矩阵运算 • matlab支持的两种运算方式。 • 数组运算:从编程的角度考虑,对数据管理方便、操作简单、形式自然和计算有效。 • 矩阵运算:从数学的角度考虑,严谨推理的结果、明确而严格的数学规则。

  4. 实验内容 :数组运算与矩阵运算比较

  5. 例:两种转置比较 • A = zeros(2,3); • A(:) = 1:6 • A = A*(1+i); • Aa = A.’ • Am = A’

  6. 实验内容:数组构作综合技法 • 数组的赋值扩展法 • 多次寻访扩展法 • 合成扩展法

  7. 数组的赋值扩展法 • A = reshape(1:9,3,3) • A(5,5) = 111 • A(:,6) = 222

  8. 多次寻访扩展法 • AA = A(:,[1:6,1:6]) • AA = repmat(A,1,2)

  9. 合成扩展法 • 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,:)]

  10. reshape指令演示 • A = reshape(1:16,2,8) • reshape(A,4,4)

  11. 单下标寻访 • 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)]

  12. 实验内容:创建高维数组 • 全下标方式 • 同样大小的低维数组合成 • 由维数函数直接创建:ones,zeros,rand,randn • 由构作函数创建:cat,repmat,reshape

  13. 全下标方式 • 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

  14. 由函数创建 • 由维数函数直接创建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)

  15. 关系操作和逻辑操作 • 关系操作:判断真假 • 关系操作符:>, >=, ==, <, <= • 逻辑操作:关系操作结果的相互关系 • 任何非0数(包括负数):逻辑真 • 0:逻辑假 • 数组逻辑操作:&, |, ~, xor • 二进数位逻辑操作:bitand, bitor, bitcmp, bitxor

  16. 实验内容:关系操作和逻辑操作 • A = -3:3 • L1 = ~(A>0) • L2 = ~A>0 • L3 = ~A • L4 = A>-2&A<1

  17. 字符串数组 • 不同的数值类:数值和字符串。 • 字符串数组符合所有的数组操作。 • 定义字符串数组:a = ‘abcdef’ • 串转换函数* • 串操作函数* 前后均为英文单引号

  18. 实验内容:字符串数组 • a = ‘This is an example.’ • size(a) • 字符串倒排: • a14 = a(1:4) • ra = a(end:-1:1) • 字符串与ASCII码 • aAsc = double(a) • char(aAsc)

  19. 实验内容:字符串数组 • 字符串的大小写 • w = find(a>=‘a’ & a<=‘z’) • aAsc(w) = aAsc(w)-32 • char(aAsc) • 中文字符串: • A = ‘这是个算例。’ • 注意单引号是英文的单引号。 • 串中包含单引号:b = ‘Example ‘‘2.1’’’

More Related