实验二matlab矩阵的初等运算及其答案
- 格式:doc
- 大小:116.50 KB
- 文档页数:11
实验二、MATLAB运算基础一、实验目的掌握MATLAB各种表达式的书写规则及常用函数的使用。
掌握MATLAB中字符串、元胞数组和结构的常用函数的使用。
二、实验内容及步骤1、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 1718 19 20;21 22 23 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 1311]1)求它们的乘积C >>C=A*B2)将矩阵C的右下角3x2子矩阵赋给D >>I=[3 4 5];J=[2 3];D=C(I,J)也可以用>>D=C([3 4 5],[2 3])D =520 397705 557890 7172、完成下列操作1)求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,再利用find和length函数。
)>> a=100:999;find(rem(a,61)==0)ans =23 84 145 206 267 328 389 450 511572 633 694 755 816 877>> b=a(ans)b =122 183 244 305 366 427 488 549 610 671 732 793 854 915 976>> length(b)ans =152)建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。
)a=’I am maying’;a( find(a>’A’&a<’Z’))=[]3、已知A=[23 10 -78 0;41 -45 65 5;32 5 0 32;6 -54 92 14],取出其前3行构成矩阵B,其前两列构成矩阵C,其左下角3x2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E<D、E&D、E|D、~E|~D。
matlab习题二带答案Matlab习题二带答案Matlab是一种功能强大的数学软件,被广泛应用于科学计算、数据分析和工程设计等领域。
在学习Matlab的过程中,练习习题是提高技能的有效方法。
本文将介绍一些常见的Matlab习题,并提供相应的答案。
习题一:矩阵运算给定两个矩阵A和B,求它们的和、差、乘积和转置。
解答:```matlabA = [1 2; 3 4];B = [5 6; 7 8];sum = A + B; % 矩阵相加difference = A - B; % 矩阵相减product = A * B; % 矩阵相乘transposeA = A'; % A的转置transposeB = B'; % B的转置```习题二:函数绘图给定一个函数y = sin(x),在区间[0, 2π]上绘制它的图像,并给出坐标轴标签和标题。
解答:```matlabx = linspace(0, 2*pi, 100); % 在区间[0, 2π]上生成100个等间距的点y = sin(x); % 计算y值plot(x, y); % 绘制图像xlabel('x'); % x轴标签ylabel('y'); % y轴标签title('y = sin(x)'); % 图像标题```习题三:数据分析给定一个包含学生姓名和成绩的数据表,计算平均成绩、最高成绩和最低成绩,并输出成绩排名前三的学生姓名。
解答:```matlabdata = {'Alice', 85; 'Bob', 92; 'Cindy', 78; 'David', 96; 'Emily', 89}; % 学生姓名和成绩数据表grades = data(:, 2); % 提取成绩列average = mean(grades); % 计算平均成绩maximum = max(grades); % 计算最高成绩minimum = min(grades); % 计算最低成绩sorted_data = sortrows(data, -2); % 按成绩降序排序top3 = sorted_data(1:3, 1); % 提取前三名学生姓名disp(['平均成绩:', num2str(average)]);disp(['最高成绩:', num2str(maximum)]);disp(['最低成绩:', num2str(minimum)]);disp('成绩排名前三的学生:');disp(top3);```习题四:方程求解解方程组2x + y = 5和x - y = 1,求解x和y的值。
实验二 MATLAB 的矩阵运算一、实验目的:掌握基本的矩阵运算及常用的函数。
二、实验内容:⎥⎦⎤⎢⎣⎡=654321a ⎥⎦⎤⎢⎣⎡-=531142b ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=201c ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=063258741d 1、下列运算是否合法,为什么?如合法,结果是多少?(1) result1 = a'a=[1 2 3;4 5 6];b=[2 4 -1;1 3 5];c=[1;0;-2];d=[1 4 7;8 5 2;3 6 0] >> a=[1 2 3;4 5 6];b=[2 4 -1;1 3 5];c=[1;0;-2];d=[1 4 7;8 5 2;3 6 0]; >> result1=aresult1 =1 2 34 5 6(2) result2 = a * b>> result=a*b??? Error using ==> mtimesInner matrix dimensions must agree.不合法(3) result3 = a + b>> result3=a+bresult3 =3 6 25 8 11(4) result4 = b * d>> result4=b*dresult4 =31 22 2240 49 13(5) result5 = [b ; c' ] * d>> result5=[b;c']*dresult5 =31 22 2240 49 13-5 -8 7(6) result6 = a . * b>> result6=a.*bresult6 =2 8 -34 15 30(7)result7 = a . / b>> result7=a./bresult7 =0.5000 0.5000 -3.00004.0000 1.6667 1.2000(8) result8 = a . * c>> result8=a.*c??? Error using ==> timesMatrix dimensions must agree.不合法(9) result9 = a . \ b>> result9=a.\bresult9 =2.0000 2.0000 -0.33330.2500 0.6000 0.8333(10) result10 = a . ^2>> result10=a.^2result10 =1 4 916 25 36(11) result11 = a ^2>> result11=a^2??? Error using ==> mpowerMatrix must be square.不合法(12) result11 = 2 . ^ a>> result12=2.^aresult12 =2 4 816 32 642、用MATLAB 求下面的的方程组。
《MATLAB原理及应用》实验报告实验一MATLAB环境熟悉及基本操作一、实验目的熟悉MATLAB软件的工作环境和练习MATLAB命令窗口的基本操作。
二、实验内容1.命令窗口(Command Window)运行如入门【实验1-1】求23)]47(212[÷-⨯+的算术运算结果。
用键盘在MATLAB命令窗口中命令提示符“>>”后输入一下内容:(12+2*(7-4))/(3^2)在上述表达式输入完成后,按【Enter】键,该命令被执行。
在命令执行后,MATLAB命令窗口中将显示结果。
ans =2【实验1-2】简单矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=15524974111415412869811105132316A的输入步骤。
(1)用键盘在MATLAB命令窗口中命令提示符“>>”后输入一下内容:A=[16 3 2 13 -1 -4;5 10 11 8 7 9;9 6 8 12 -4 2;4 15 14 1 -5 15](2)按【Enter】键,该命令被执行。
(3)在命令执行后,MATLAB命令窗口中将显示结果.(4)采用分行输入,在命令窗口输入:A=[16 3 2 13 -1 -45 10 11 8 7 99 6 8 12 -4 24 15 14 1 -5 15]【实验1-3】用简短命令计算并绘制在0≤x≤6范围内的sin(Ax)、sinAx2、sin2(Ax)。
( A代表你的学号)在命令窗口输入:x=0:0.01:6;y=[sin(1*x);sin(1*x.^2);sin(1*x).^2];plot(x,y)(2) 按【Enter】键,该命令执行结果如图1图1 函数曲线图(3)在命令窗口输入:x=0:0.01:6;y1=sin(1*x);y2=sin(1*x.^2);y3=sin(1*x).^2; subplot(2,2,1),plot(x,y1),title('sin(1*x)') subplot(2,2,2),plot(x,y2),title('sin(1*x.^2)') subplot(2,2,3),plot(x,y3),title('sin(1*x) .^2') (4) 按【Enter】键,该命令执行结果如图2图2子图形式函数曲线图2.命令窗口(Command Window)常用的基本操作【实验1-4】命令行操作过程示例。
实验一一、实验目的熟悉MATLAB中关于矩阵初等变换的方法及矩阵运算的各种命令二、实验内容1、启动与退出2、数、数组、矩阵的输入>> a=5a =5>> b=2-5ib =2.0000 - 5.0000i>> a=5,a =5>> b=[1,2,3,4]b =1 2 3 4>> c=1:2:11c =1 3 5 7 9 11>> d=linspace(1,11,6)d =1 3 5 7 9 11>> A=[2,3,5;1,3,5;6,9,4]A =2 3 51 3 56 9 43.矩阵大小和定位:>> A=[3,5,6;2,5,8;3,5,9;3,7,9]; >> d=numel(A)d =12>> [n,m]=size(A)n =4m =3>> [i,j]=find(A>3)i =12341234j =222233334.矩阵的块操作>> A(2,:);>> A([1,3],:);>> A(2:3,1:2)ans =2 53 5>> A=[3,5,6;2,5,8;3,5,9;3,7,9]; >> A([1,3],:)=A([3,1],:)A =3 5 92 5 83 5 63 7 9>> A(2,:)=4;>> A(find(A==3))=-3;>> A(2,:)=[]A =-3 5 6-3 5 9-3 7 9>> A=[3,5,6;2,5,8;3,5,9;3,7,9]A =3 5 62 5 83 5 93 7 9>> diag(A,1)ans =58>> tril(A,1)ans =3 5 02 5 83 5 93 7 9>> triu(A,1)ans =0 5 60 0 80 0 00 0 05.矩阵的翻转操作>> A=[3,5,6;2,5,8;3,5,9;3,7,9]; >> flipud(A)ans =3 7 93 5 92 5 83 5 6>> fliplr(A)ans =6 5 38 5 29 5 39 7 3>> rot90(A)ans =6 8 9 95 5 5 73 2 3 36.特殊矩阵的产生>> a=eye(3)a =1 0 00 1 00 0 1>> b=ones(2,3)b =1 1 11 1 1>> c=zeros(3,4)c =0 0 0 00 0 0 00 0 0 0>> d=rand(2,3)d =0.9501 0.6068 0.89130.2311 0.4860 0.7621 >> magic(4)ans =16 2 3 135 11 10 89 7 6 124 14 15 17.数的运算>> 4+2ans =6>> 4*2ans =8>> 4/2ans =2 >> 4\2ans =0.5000>> 4^3ans =64>> sqrt(9)ans =3>> exp(3)ans =20.0855>> log(4)ans =1.3863>> log2(4)ans =28.矩阵的运算>> a=[1,2,3;4,5,6;7,8,9]a =1 2 34 5 67 8 9>> a'ans =1 4 72 5 83 6 9>> det(a)ans =>> rank(a)ans =2>> inv(a)Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018. ans =1.0e+016 *-0.4504 0.9007 -0.45040.9007 -1.8014 0.9007-0.4504 0.9007 -0.4504 >> eig(a)ans =16.1168-1.1168-0.0000>> [X,D]=eig(a)X =-0.2320 -0.7858 0.4082-0.5253 -0.0868 -0.8165-0.8187 0.6123 0.4082D =16.1168 0 00 -1.1168 00 0 -0.0000 >> trace(a)ans =15>> 3*aans =3 6 912 15 1821 24 27>> b=[2 3 4;4 5 6;6 7 8]b =2 3 44 5 66 7 8>> a+bans =3 5 78 10 1213 15 17>> a-bans =-1 -1 -10 0 01 1 1>> a*bans =28 34 4064 79 94100 124 148>> a/bWarning: Matrix is singular to working precision.ans =NaN NaN NaNNaN NaN NaNNaN NaN NaN>> a\bWarning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 1.541976e-018. ans =-0.6667 -5.6667 -6.66671.3333 10.3333 11.33330 -4.0000 -4.0000>> a^2ans =30 36 4266 81 96102 126 150>> a.*bans =2 6 1216 25 3642 56 729.变量的存储和调用>> a=2,b=3,c=5;a =2b =3>> save data a b c>> load data10.列出工作空间所有变量>> whosName Size Bytes Classa 1x1 8 double arrayb 1x1 8 double arrayc 1x1 8 double arrayGrand total is 3 elements using 24 bytes11.联机求助>> help sqrtSQRT Square root.SQRT(X) is the square root of the elements of X. Complexresults are produced if X is not positive.See also sqrtm, realsqrt, hypot.Overloaded functions or methods (ones with the same name in other directories) help sym/sqrt.mReference page in Help browserdoc sqrt12.多维数组建立>> a1=[1 2 3;4 5 6;7 8 9];a2=a1',a3=a1-a2a2 =1 4 72 5 83 6 9a3 =0 -2 -42 0 -24 2 0>> a4=cat(3,a1,a2,a3)a4(:,:,1) =1 2 34 5 67 8 9a4(:,:,2) =1 4 72 5 83 6 9a4(:,:,3) =0 -2 -42 0 -24 2 013.弥量积>> a=[2 3;4 6;7 9];b=[2 4;6 8]; >> c=kron(a,b)%ac =4 8 6 1212 16 18 248 16 12 2424 32 36 4814 28 18 3642 56 54 72 14.矩阵的范数>> a=[2 3;4 6;7 9];>> n=norm(a)n =13.9560>> n=norm(a,1)n =18>> n=norm(a,2)n =13.9560>> n=norm(a,inf)n =16>> n=norm(a,'fro')13.964215.LU分解>> a=[1 2 3;4 5 6;7 8 90;]a =1 2 34 5 67 8 90>> [L,U]=lu(a)L =0.1429 1.0000 00.5714 0.5000 1.00001.0000 0 0 U =7.0000 8.0000 90.00000 0.8571 -9.85710 0 -40.5000 >> [L,U,P]=lu(a)L =1.0000 0 00.1429 1.0000 00.5714 0.5000 1.0000 U =7.0000 8.0000 90.00000 0.8571 -9.85710 0 -40.5000P =0 0 11 0 00 1 016.QR分解>> a=[1 2 3;4 5 6;7 8 9;10 11 12];>> [Q,R]= QR(a)??? Undefined command/function 'QR'.>> [Q,R]=qr(a)Q =-0.0776 -0.8331 0.5405 -0.0885 -0.3105 -0.4512 -0.6547 0.5209 -0.5433 -0.0694 -0.3121 -0.7763-0.7762 0.3124 0.4263 0.3439 R =-12.8841 -14.5916 -16.29920 -1.0413 -2.08260 0 -0.00000 0 0。
数学实验报告题目第一次实验题目一、实验目的1MATLAB 的矩阵初等运算;.熟悉2 .掌握求矩阵的秩、逆、化最简阶梯形的命令;3MABLAB 求解线性方程组.会用二、问题求解和程序设计流程344?221????????MATLABA1 B、,已知命令窗口中建立.,在320B???50??3A????????112?153????矩阵并对其进行以下操作:(1) A 的行列式的值计算矩阵?)?Adet((2) 分别计算下列各式:、和、、、、B?A.T112??B?BA?2A ABABAA:解(1)编写程序如下:A=[4 -2 2;-3 0 5;1 5 3];B=[1 3 4;-2 0 -3;2 -1 1];a=det(A)运行结果:a =-158(2)编写程序如下:C=2*A-BD=A*BE=A.*BF=A/BG=A\BH=A*AK=A'运行结果:C =7 -7 0-4 0 13线性代数实验报告0 11 5D =12 10 247 -14 -7-3 0 -8E =4 -6 86 0 -152 -5 3F =0 0 2.0000-2.7143 -8.0000 -8.14292.42863.0000 2.2857G =0.4873 0.4114 1.00000.3671 -0.4304 0-0.1076 0.2468 0H =24 2 4-7 31 9-8 13 36K =4 -3 1-2 0 52 5 32 MATLABrankinv 求下列矩阵的秩:中分别利用矩阵的初等变换及函数.在、函数线性代数实验报告3501??2631?????0012????(1) Rank(A)=? 2求) 求(054A?3??B1??B?????0201??4??1112????2102??解:1 编写程如下:()format rat A=[1 -6 3 2;3 -5 4 0;-1 -11 2 4];rref(A)运行结果:ans =1 0 0 -8/50 1 0 00 0 1 6/5AA3 。
matlab矩阵运算实验报告Matlab矩阵运算实验报告一、引言矩阵运算是数学和工程领域中的重要概念之一,它在各个领域中都有广泛的应用。
Matlab作为一种强大的数学软件工具,提供了丰富的矩阵运算功能,可以帮助我们进行高效的数值计算和数据处理。
本实验报告将介绍Matlab中的矩阵运算功能,并通过实例展示其在实际问题中的应用。
二、矩阵运算的基本概念矩阵是由若干个数按照行和列排列形成的一个矩形阵列,它是线性代数中的基本工具。
在Matlab中,矩阵可以通过直接输入数值或使用内置函数生成。
矩阵运算包括加法、减法、乘法、转置等操作,这些操作可以对矩阵的每个元素进行运算,也可以对整个矩阵进行运算。
三、矩阵运算的实例分析1. 矩阵的创建与赋值在Matlab中,可以使用以下命令创建一个矩阵,并对其进行赋值操作:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];这样就创建了一个3行3列的矩阵A,并对其进行了赋值。
可以通过输入A来查看矩阵A的内容。
2. 矩阵的加法与减法矩阵的加法和减法是按照对应元素进行运算的。
例如,对于两个3行3列的矩阵A和B,可以使用以下命令进行加法运算:C = A + B;同样地,可以使用以下命令进行减法运算:D = A - B;这样就得到了矩阵C和D。
3. 矩阵的乘法矩阵的乘法是按照行乘以列的方式进行的。
例如,对于一个3行2列的矩阵A和一个2行4列的矩阵B,可以使用以下命令进行乘法运算:C = A * B;这样就得到了一个3行4列的矩阵C。
4. 矩阵的转置矩阵的转置是将矩阵的行和列进行交换的操作。
例如,对于一个3行2列的矩阵A,可以使用以下命令进行转置操作:B = A';这样就得到了一个2行3列的矩阵B。
四、矩阵运算的应用实例矩阵运算在实际问题中有着广泛的应用。
以下是一个简单的实例,通过矩阵运算来解决线性方程组的问题。
假设有一个线性方程组:2x + y = 4x + 3y = 6可以将其表示为矩阵形式:A = [2, 1; 1, 3];B = [4; 6];通过矩阵运算可以求解出未知数x和y的值:X = A \ B;这样就得到了未知数x和y的值。
实验二 Matlab矩阵的初等运算实验目的:掌握Matlab的运算方法实验内容:2.1 在Matlab命令窗口输入:H1=ones(3,2) H2=zeros(2,3) H3=eye(4)观察以上各输入结果,并在每式的后面标注其含义。
>> format compact>> H1=ones(3,2),disp('3行2列的全1矩阵') H1 =1 11 11 13行2列的全1矩阵>> H2=zeros(2,3),disp('2行3列的全零矩阵') H2 =0 0 00 0 02行3列的全零矩阵>> H3=eye(4),disp('4阶的单位矩阵') H3 =1 0 0 00 1 0 00 0 1 00 0 0 14阶的单位矩阵2.2 已知123456⎡⎤=⎢⎥⎣⎦Q,[]789=P,1⎡⎤=⎢⎥⎣⎦R,3=S,试把这四个矩阵组合为一个大矩阵,看看有几种组合方式?8>> format compact>> Q=[1 2 3;4 5 6];P=[7 8 9];R=[1;0]; S=3; >> [Q,R;P,S]ans =1 2 3 14 5 6 07 8 9 3>> [R,Q;P,S]ans =1 12 30 4 5 67 8 9 3>> [Q,R;S,P]ans =1 2 3 14 5 6 03 7 8 9>> [R,Q;S,P]ans =1 12 30 4 5 63 7 8 9 >> [S,P;R,Q]ans =3 7 8 91 12 30 4 5 6 >> [S,P;Q,R]ans =3 7 8 91 2 3 14 5 6 0 >> [P,S;R,Q]ans =7 8 9 31 12 30 4 5 6 >> [P,S;Q,R]ans =7 8 9 31 2 3 14 5 6 02.4 建立一个字符串向量,删除其中的大写字母。
实验一 矩阵基本运算(一)(1)设A 和B 是两个同维同大小的矩阵,问:1)A*B 和A.*B 的值是否相等?⎪⎪⎪⎭⎫⎝⎛=763514432A ⎪⎪⎪⎭⎫ ⎝⎛=945253134B A=[2 3 4;4 1 5;3 6 7];B=[4 3 1;3 5 2;5 4 9];A*B,A.*Bans =37 37 4444 37 5165 67 78ans =8 9 412 5 1015 24 632)A./B 和B.\A 的值是否相等?A=[2 3 4;4 1 5;3 6 7];B=[4 3 1;3 5 2;5 4 9];A./B,B./Aans =0.5000 1.0000 4.00001.3333 0.20002.5000 0.6000 1.5000 0.7778ans =2.0000 1.0000 0.25000.7500 5.0000 0.40001.6667 0.6667 1.28573)A/B和B\A的值是否相等? A=[2 3 4;4 1 5;3 6 7];B=[4 3 1;3 5 2;5 4 9];A/B,B/Aans =-0.3452 0.5119 0.3690 0.7857 -0.7857 0.6429 -0.9762 1.3095 0.5952ans =110.0000 -15.0000 -52.000092.0000 -13.0000 -43.0000-22.0000 4.0000 11.00004)A/B和B\A所代表的数学含义是什么?解: A/B是B*A的逆矩阵 B\A是B*A的逆矩阵(2)写出完成下列操作的命令。
1)将矩阵A第2—5行中第1,3,5列元素赋给矩阵B。
A=[0.9501 0.4565 0.9218 0.4103 0.1389 0.01530.2311 0.0185 0.7382 0.8936 0.2028 0.74680.6068 0.8214 0.1763 0.0579 0.1987 0.44510.4860 0.4447 0.4057 0.3529 0.6038 0.93180.8913 0.6154 0.9355 0.8132 0.2722 0.46600.7621 0.7919 0.9169 0.0099 0.1988 0.4186]B=A(2:5,[1,3,5])A = 0.9501 0.4565 0.9218 0.4103 0.1389 0.01530.2311 0.0185 0.7382 0.8936 0.2028 0.74680.6068 0.8214 0.1763 0.0579 0.1987 0.44510.4860 0.4447 0.4057 0.3529 0.6038 0.93180.8913 0.6154 0.9355 0.8132 0.2722 0.46600.7621 0.7919 0.9169 0.0099 0.1988 0.4186B = 0.2311 0.7382 0.20280.6068 0.1763 0.19870.4860 0.4057 0.60380.8913 0.9355 0.27222)删除矩阵A的第7号元素。
百度文库- 让每个人平等地提升自我实验二 Matlab矩阵的初等运算实验目的:掌握Matlab的运算方法实验内容:2.1 在Matlab命令窗口输入:H1=ones(3,2) H2=zeros(2,3) H3=eye(4)观察以上各输入结果,并在每式的后面标注其含义。
>> format compact>> H1=ones(3,2),disp('3行2列的全1矩阵') H1 =1 11 11 13行2列的全1矩阵>> H2=zeros(2,3),disp('2行3列的全零矩阵') H2 =0 0 00 0 02行3列的全零矩阵>> H3=eye(4),disp('4阶的单位矩阵') H3 =1 0 0 00 1 0 00 0 1 00 0 0 14阶的单位矩阵2.2 已知123456⎡⎤=⎢⎥⎣⎦Q,[]789=P,1⎡⎤=⎢⎥⎣⎦R,3=S,试把这四个矩阵组合为一个大矩阵,看看有几种组合方式?8>> format compact>> Q=[1 2 3;4 5 6];P=[7 8 9];R=[1;0]; S=3; >> [Q,R;P,S]ans =1 2 3 14 5 6 07 8 9 3>> [R,Q;P,S]ans =1 12 30 4 5 67 8 9 3>> [Q,R;S,P]ans =1 2 3 14 5 6 03 7 8 9>> [R,Q;S,P]ans =1 12 30 4 5 63 7 8 9 >> [S,P;R,Q]ans =3 7 8 91 12 30 4 5 6 >> [S,P;Q,R]ans =3 7 8 91 2 3 14 5 6 0 >> [P,S;R,Q]ans =7 8 9 31 12 30 4 5 6 >> [P,S;Q,R]ans =7 8 9 31 2 3 14 5 6 02.4 建立一个字符串向量,删除其中的大写字母。
提示:利用find函数和空矩阵。
>> a='ABCDefgijKLMN123'a =ABCDefgijKLMN123>> k=find(a>='A'&a<='Z')k =1 2 3 4 10 11 12 13>> a(k)=[]a =efgij1232.3 在命令窗中分别输入who和whos,观察检查结果是否与2.1-2.4所得结果相符。
>> whoYour variables are:H1 H2 H3 P Q R S a ans k>> whosName Size Bytes Class AttributesH1 3x2 48 doubleH2 2x3 48 doubleH3 4x4 128 doubleP 1x3 24 doubleQ 2x3 48 doubleR 2x1 16 doubleS 1x1 8 doublea 1x8 16 charans 3x4 96 doublek 1x8 64 double2.5 已知矩阵131254709716282113⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦S,计算以下表达式的结果,体会*,^,sqrtm,expm与.*,.^,sqrt,exp的区别。
(1) r1=S^2, r2=2.^S , r3=S.^2,(2) u1=sqrtm(S), v1=u1*u1(3) u2=sqrt (S), v2=u2.*u2(4) u3=expm(S), v3=logm(u3)(5) u4=exp(S), v4=log(u4)>> S=[1 3 12 5;4 7 0 9;7 1 6 2;8 2 11 3]1 3 12 54 7 0 97 1 6 28 2 11 3>> r1=S^2r1 =137 46 139 71104 79 147 11069 38 142 62117 55 195 89>> r2=2.^Sr2 =2 8 4096 3216 128 1 512128 2 64 4256 4 2048 8>> r3=S.^2r3 =1 9 144 2516 49 0 8149 1 36 464 4 121 9>> u1=sqrtm(S)u1 =1.2986 + 1.7799i 0.4954 - 0.2316i2.0525 - 1.3122i 0.8339 - 0.4347i0.1988 + 0.0151i 2.5282 + 0.0310i -1.5443 + 1.1209i 2.7620 - 0.8042i1.1737 - 0.8736i 0.1302 + 0.1172i2.0959 + 0.7645i 0.4126 + 0.1282i1.6679 - 0.6304i 0.2883 + 0.0538i2.9002 - 0.5041i 0.6973 + 0.8391i >> v1=u1*u1v1 =1.0000 - 0.0000i 3.0000 + 0.0000i 12.0000 - 0.0000i 5.0000 + 0.0000i4.0000 + 0.0000i 7.0000 - 0.0000i 0.0000 - 0.0000i 9.0000 + 0.0000i7.0000 + 0.0000i 1.0000 - 0.0000i 6.0000 + 0.0000i 2.0000 - 0.0000i8.0000 + 0.0000i 2.0000 - 0.0000i 11.0000 3.0000 - 0.0000i >> u2=sqrt (S)u2 =1.0000 1.7321 3.46412.23612.0000 2.6458 03.00002.6458 1.0000 2.4495 1.41422.8284 1.41423.3166 1.7321>> u3=expm(S)1.0e+008 *0.7905 0.3809 1.1893 0.59290.9066 0.4369 1.3640 0.68000.6128 0.2953 0.9219 0.45960.9038 0.4356 1.3599 0.6780>> v3=logm(u3)v3 =1.0000 3.0000 12.0000 5.00004.0000 7.0000 0.0000 9.00007.0000 1.0000 6.0000 2.00008.0000 2.0000 11.0000 3.0000>> u4=exp(S)u4 =1.0e+005 *0.0000 0.0002 1.6275 0.00150.0005 0.0110 0.0000 0.08100.0110 0.0000 0.0040 0.00010.0298 0.0001 0.5987 0.0002>> v4=log(u4)v4 =1 3 12 54 7 0 97 1 6 28 2 11 32.6 对2.5中定义的矩阵S完成以下变换,输出变换后的矩阵:(1) 将矩阵S上下翻转(2) 将矩阵S左右翻转(3) 将矩阵S重组为一个2行8列的矩阵(4) 将矩阵S整体逆时针旋转90°(5) 提取矩阵S对角线上的元素(6) 建立一个对角阵T,对角线上的元素为S对角线上的元素,其余元素为0(7) 取出矩阵S的左下三角部分(8) 取出矩阵S的右上三角部分(9) 把矩阵S的元素按列取出排成一行>> S=[1 3 12 5;4 7 0 9;7 1 6 2;8 2 11 3] S =1 3 12 54 7 0 97 1 6 28 2 11 3 >> flipud(S)ans =8 2 11 37 1 6 24 7 0 91 3 12 5>> fliplr(S) ans =5 12 3 19 0 7 42 6 1 73 11 2 8>> reshape(S,2,8)ans =1 7 3 1 12 6 5 24 8 7 2 0 11 9 3>> rot90(S)ans =5 9 2 312 0 6 113 7 1 21 4 7 8 >> diag(S)ans =1763>> T=diag(S)T =1763 >> T=diag(T)T =1 0 0 00 7 0 00 0 6 00 0 0 3 >> tril(S)ans =1 0 0 04 7 0 07 1 6 08 2 11 3 >> triu(S)ans =1 3 12 50 7 0 90 0 6 20 0 0 3>> S(:)'ans =1 4 7 8 3 7 12 12 0 6 11 5 9 2 32.7 已知矩阵A=[1 3 5],B=[2 4 6](1) 求C=A+B,D=A-2,E=B-A>> format compact>> A=[1 3 5],B=[2 4 6]A =1 3 5B =2 4 6 >> C=A+B,D=A-2,E=B-A C =3 7 11D =-1 1 3E =1 1 1 >> %都是按元素群运算(2) 求F1=A*3,F2=A.*B,F3=A./B,F4=A.\B,F5=B.\A,F6=B.^A,F7=2./B,F8=B.\2.>> F1=A*3F1 =3 9 15>> %按矩阵运算>> F2=A.*BF2 =2 12 30>> %按元素群运算A点乘B>> F3=A./BF3 =0.5000 0.7500 0.8333>> %按元素群运算A各个元素右除B>> F4=A.\BF4 =2.0000 1.3333 1.2000>> %按元素群运算A各个元素左除B>> F5=B.\AF5 =0.5000 0.7500 0.8333>> %按元素群运算B各个元素左除A>> F6=B.^AF6 =2 64 7776>> %按元素群运算B各个元素的A次幂>> F7=2./BF7 =1.0000 0.5000 0.3333>> %按元素群运算2右除B>> F8=B.\2F8 =1.0000 0.5000 0.3333>> %按元素群运算B各个元素左除2(3) 求Z1=A*B’,Z2=B’*A观察以上各输出结果,比较各种运算的区别,并在每式的后面标注其含义。