实验矩阵建立和基本运算

实验1 矩阵的建立和基本运算 一、实验目的

熟悉矩阵(matrix laboratory)初等变换的方法以及矩阵运算的各种命令. 二、实验内容与要求

1. 启动与退出

2. 数、数组、矩阵的输入 (1)数的输入

>>a=5 >>b=2-5i

注意:在行尾加“;”,该行结果不显示;标点符号一定要在英文状态下输入!

(2)数组的输入

>>b=[1,3,5,7,9,11] >>c=1:2:11

>>d=linspace(1,11 ,6)

问题: 若b为在0~2π(π用pi表示)之间均匀分布的22个数据,

c=(1.3,2.5,7.6,2,-3),d=(23,20,17,14,11,8,5,2),各用何种方法输入较简单? (3)矩阵的输入

>>A=[2,3,5;1,3,5;6,9,4] %行之间要用分号隔开 A= 2 3 5

1 3 5 6 9 4

>>m=input('请输入初始量,m='); 请输入初始量,m=

问题:输入A(2,3),结果如何?输入A(7)又如何?

注意:变量名开头必须是英文字母,变量名对字母大小写是区分的. 3. 矩阵大小的测试和定位

numel(Number of elements in an array or subscripted array expression.)

>>A=[3,5,6;2,5,8;3,5,9;3,7,9]

>>d=numel(A) %测试定矩阵A的元素数,5.x版本没有此命令 >>[n,m] = size(A) %测试A的行(n)、列(m)数 >>[i,j] = find(A>3) %找出A中大于3的元素的行列数

注意:对一个数组可用n = length(A),A若是矩阵,n给出A的行、列数的最

大值. 4. 矩阵的块操作

>>A(2,:) %取出A的第2行的所有元素 >>A([1,3],:) %取出A的第1,3行的所有元素 >>A(2:3,1:2) %取出A的2,3行与1,2列交叉的元素 >>A([1,3],:) = A([3,1],:) %将A的1行和3行互换

问题:如何将A的2,3列互换?

>>A(2,:) = 4 %将A的第2行的所有元素用4取代 >>A(find(A==3))=-3 %将A中等于3所有元素换为-3 >>A(2,:) = [] %删除A的第2行

>>reshape(A,2,3) %返回以A的元素重新构造的2×3维矩阵

>>[A(1:3,2:3),A(2:4,1:2);A,A(:,2)] %由小矩阵构造大矩阵。

5. 矩阵的翻转操作

flip(抛、弹、翻转),rotation(旋转) >>flipud(A) %A进行上下翻转 >>fliplr(A) %A进行左右翻转 >>rot90(A) %A逆时针旋转90°

6. 特殊矩阵的产生

random(随意, 任意),randn(Normally distributed random numbers.)randperm(Random permutation.(排列))

>>A = eye(n) %产生n维单位矩阵 >>A = ones(n,m) %产生n×m维1矩阵 >>A = zeros(n,m) %产生n×m维0矩阵

>>A = rand(n,m) %产生n×m维随机矩阵(元素在0~1之间)

问题:产生一个在区间[10,20]内均匀分布的4阶随机矩阵.

>> randn(m,n) %产生m×n正态分布随机矩阵 >> randperm(n) %产生1~n之间整数的随机排列

【例】

>> randperm(6) ans =

3 2 1 5 4 6

7. 数的运算

sqrt(square root),exp(exponent),log(logarithm) >>4+2

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4