当前位置:文档之家› 第二讲 矩阵与多项式运算

第二讲 矩阵与多项式运算


>>a* >>a*b=[13 23; 29 51] >>a/b=[>>a/b=[-0.50 0.50;3.50 –1.50] >>a\b=[>>a\b=[-1 -1;2 3] >>a^ >>a^3=[37 54; 81 118] >>a.*b=[3 >>a.*b=[3 10;15 36] >>a./b=[0.33 >>a./b=[0.33 0.40;0.60 0.44] >>a. >>a.\b=[3.00 2.50;1.67 2.25] >>a.^3= >>a.^3= [1 8; 27 64]
%生成对角矩阵:对角元素向量
>> A=[1 2 3;2 3 4;3 4 5];V=diag(A) V= 1 3 5
rand(m,n)
%随机矩阵:产生一个m×n的均匀分布随机矩阵
>> rand(2,4) ans = 0.9501 0.6068 0.8913 0.4565 0.2311 0.4860 0.7621 0.0185
% 2x4随机矩阵
>> a=1:1:10; >> b=0.1:0.1:1; >> c=[b a];
%组成一个新的数组
c= Columns 1 through 8 0.1000 0.2000 0.3000 0.4000 0.5000 Columns 9 through 16 0.9000 1.0000 1.0000 2.0000 3.0000 Columns 17 through 20 7.0000 8.0000 9.0000 10.0000
在矩阵变量后加“' ”来表示转置运算
>> B=A' B= 1 4 2 5 3 6 转置:对于实矩阵用(')符号或(. ) 转置:对于实矩阵用( )符号或(. ') 求转置结果是一样的;然而对于含复数 的矩阵,则(')将同时对复数进行共轭 的矩阵,则( )将同时对复数进行共轭 处理,而 (. ')则只是将其排列形式进行 )则只是将其排列形式进行 转置。 >>b=[1+2i 2-7i]' b= 1.0000 - 2.0000i 2.0000 + 7.0000i >>b=[1+2i 2-7i].' b= 1.0000 + 2.0000i 2.0000 - 7.04 12 3 6 4 7 5 8 6 9 7 10 8 11]
>>x(4)=100 %给x的第4个元素重新赋值为100 x= Columns 1 through 13 1 4 12 100 6 4 7 5 8 6 9 Columns 14 through 15 8 11
7
10
x=[1 4 12 3 6 4 7 5 8 6 9 7 10 8 11] >>x(3) % x的第三个元素
ans = 12
>>x([1 2 5]) % x的第1,2 ,5个元素
ans = 1 4 6
>>x(1:5)
ans = 1 4
%x的前5个元素 12 3 6
>>x(10:end) %x的第10个元素后的元素
-0.5000 -0.3000 -0.1000 0.1000 0.3000 0.5000
>> [X,Y] = meshgrid(-2:.2:2, -2:.2:2);
>>Z = X .* exp(-X.^2 - Y.^2);
>>mesh(Z) %画出3D图
二. 矩阵的子矩阵寻访与赋值
1.子数组寻址
A= 1 4
2 5
3 6
4 7
5 8
6 9
7 10
8 11
A(:,[2 3])=ones(2) A= 1 4 1 1 1 1 4 7 5 8
%双下标赋值方式:把 A 的第 2 、 3 列元素全赋为 1 6 9 7 10 8 11
三、矩阵的运算
1.矩阵的转置
>> A=[1 2 3;4 5 6] A= 1 2 3 4 5 6
B = A(2,1:3) % 取出部份矩阵B B= 2
A= 4 5 1 2 4 A(:, 2) = [ ] % 删除第二列(:代表所有行) A= 1 2 4 2 5 2 4 5 1 3 4 1 5 6 3 4 5 4 6 7 5
A([1 3], :) = [] % 删除第一和第三行(:代表所有列) A= 2 4 5 5 4 6 5 7
2. 快速矩阵生成法 (1)数组的冒泡生成法: x=a:inc:b >> y=1:1:8
y= 1 >> y=0:0.2:1 y= 0 0.2000 0.4000 0.6000 0.8000 1.0000 2 3 4 5 6 7 8
>> x=[1:8;4:11]
x= 1 4 2 5 3 6 4 7 5 8 6 9 7 10 8 11
A= 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7
矩阵赋值
A= 1 2 A= 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7
A(2,3) = 5 3 4
% 改变位於第二列,第三行的元素值 2 5 4 5 3 4 5 6 4 5 6 7 A = [A; 4 3 2 1 1 3 4 5] % 再增加一列 3 4 3 2 5 2 4 5 1 3 4 1 5 6 3 4 5 4 6 7 5
8
%加入第16个元素
5
8
6
9
7
10
8
数组赋值
x=[1 4 12 3 6 4 7 5 8 6 9 7 10 8 11] >>x([1 4])=[1 1] %把当前 x 数组的第一、四个元素都赋值为 1 x= Columns 1 through 13 1 4 12 1 6 4 Columns 14 through 15 8 11 >> D(:) ans = 1 2 3 4 2 3 4 5 3 4 5 6
[X,Y]=meshprid(-1:0.4:1,-.5:0.2:0.5); %用于3D绘图
>> X X= -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000
-0.6000 -0.6000 -0.6000 -0.6000 -0.6000 -0.6000
-0.2000 -0.2000 -0.2000 -0.2000 -0.2000 -0.2000
0.2000 0.2000 0.2000 0.2000 0.2000 0.2000
0.6000 0.6000 0.6000 0.6000 0.6000 0.6000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
>> Y Y= -0.5000 -0.5000 -0.5000 -0.5000 -0.5000 -0.3000 -0.3000 -0.3000 -0.3000 -0.3000 -0.1000 -0.1000 -0.1000 -0.1000 -0.1000 0.1000 0.1000 0.1000 0.1000 0.1000 0.3000 0.3000 0.3000 0.3000 0.3000 0.5000 0.5000 0.5000 0.5000 0.5000
7
5
8
6
9
7
10
>> D=[1:4;2:5;3:6;4:7] D= 1 2 %直接赋值 3 4 6 7 8 9 10 11 2 3 4 5 3 4 5 6 4 5 6 7
矩阵赋值 >>A=[1:8;4:11]
A= 1 4 2 5 3 6 4 7 5 8
>> A(:)=[1:4;2:5;3:6;4:7] %全元素赋值,保持A的“行宽,列长”。A和D 两个数组的总元素相等,但“行宽,列长”不一定相同。
四. 矩阵函数
1. elfun基本函数库 基本函数库
>> A=1:1:5;B=0:10:50; >> sin(A) %对矩阵A中各元素求正玄函数值 ans = 0.8415 0.9093 0.1411 -0.7568 -0.9589
>>a=[1 2 3;4 5 6] ' a= 1 2 3 4 5 6
>>a=[1 2 3;4 5 6].' a= 1 2 3 4 5 6
2. 矩阵的算术运算
四则运算与幂运算
如:a=[1 如:a=[1 2;3 4];b=[ 3 5; 5 9] 4]; >>c=a+b >>c= 4 7 8 13 >>d=a>>d=a-b >>d= -2 -3 -2 -5
>>x(3)=[ ]
%删掉掉3个元素
x= Columns 1 through 13 1 4 100 6 4 Column 14 11 >>x(16)=1 x= Columns 1 through 13 1 4 100 6 4 7 Columns 14 through 16 11 0 1
7
5
8
6
9
7
10
0.6000 4.0000
0.7000 5.0000
0.8000 6.0000
>> a+b*i
ans =
%复数数组的生成
Columns 1 through 5 1.0000 + 0.1000i 2.0000 + 0.2000i 3.0000 + 0.3000i 4.0000 + 0.4000i 5.0000 + 0.5000i Columns 6 through 10 6.0000 + 0.6000i 7.0000 + 0.7000i 8.0000 + 0.8000i 9.0000 + 0.9000i 10.0000 + 1.0000i
相关主题