MATLAB上机实验二

更新时间:2024-05-08 09:35:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科实验报告

课程名称: MATLAB及在电子信息课程中的应用

实验项目: 矩阵和数组的操作

实验地点: 多学科楼教学机房

专业班级: 测控1001

学号: 2010001332

学生姓名: 赵磊

指导教师: 李鸿燕

2012年 5 月 7 日

一、实验目的和要求

1、掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。 2、学习矩阵和数组的加减运算与乘法。

3、掌握对数组中元素的寻访与赋值,会对数组进行一般的操作。 二、实验内容与原理

1、用三种方法创建一个3×3矩阵,然后利用矩阵编辑器,将其扩充为4×5矩阵,并保存,试着调用它。

(1)直接输入法:如 A=[3,2,1;4,5,6;7,8,9] A =

3 2 1 4 5 6 7 8 9

(2)直接利用MATLAB提供的函数创建一个3×3矩阵:如 A=rand(3,3) A =

0.8147 0.9134 0.2785 0.9058 0.6324 0.5469

0.1270 0.0975 0.9575

(3)利用MATLAB提供的“Matrix Editor”完成输入 步骤1:在命令区输入A=1。

步骤2:用鼠标单击工具栏的工作区浏览器,MATLAB弹出变量浏览器,选中变量A,鼠标

左键双击A,打开矩阵编辑器。

步骤3:在左下角的两个文本框中分别输入希望得到的矩阵的行数和列数:3行3列,即得

到一个3×3矩阵。

步骤4:要将上面矩阵改为一个4×5矩阵,只需改变矩阵的行数和列数即可。如将3行3

列改为4行5列,即可得到一个4×5矩阵。若想修改其中的元素,只需用鼠标选中表格中我们想要修改的元素,将原来的元素修改为我需要的值。

步骤5:在命令区输入save data A(data为我们给变量文件起的名称,系统会自动沿设定

好的路径以“.mat”格式存储文件),即可保存上面例子中创建的矩阵A。

步骤6:在命令区输入load data即可把保存在文件中的矩阵读到MATLAB的工作区的内存

中来。

2、建立一个等差数列,然后由它产生一个对角阵。

步骤1:在命令区输入a=linspace(0,1.5,5)产生一个等差数列。 A=linspace(0,1.5,5) A =

0 0.3750 0.7500 1.1250 1.5000 步骤2:在命令区输入B=diag(A)产生一个对角阵。 B=diag(A) B =

0 0 0 0 0

0 0.3750 0 0 0 0 0 0.7500 0 0 0 0 0 1.1250 0 0 0 0 0 1.5000 3、利用MATLAB的函数inv(A)求方阵A的逆矩阵。 步骤1:在命令区输入A=[1,2;5,6]得到一个2×2的方阵。 A=[1,2;5,6] A =

1 2 5 6

步骤2:在命令区输入B=inv(A)求出A的逆矩阵。 B=inv(A) B =

-1.5000 0.5000 1.2500 -0.2500 三、主要仪器设备

计算机 MATLAB软件

四、操作方法与实验步骤及实验结果

1、创建一个5×5矩阵,提取主对角线以上的部分。

步骤1:在命令区输入A=rand(5,5)产生一个5×5矩阵。 A=rand(5,5) A =

0.9649 0.8003 0.9595 0.6787 0.1712 0.1576 0.1419 0.6557 0.7577 0.7060 0.9706 0.4218 0.0357 0.7431 0.0318 0.9572 0.9157 0.8491 0.3922 0.2769 0.4854 0.7922 0.9340 0.6555 0.0462

步骤2:在命令区输入U=triu(A)提取矩阵A主对角线以上的部分。 U=triu(A) U =

0.9649 0.8003 0.9595 0.6787 0.1712 0 0.1419 0.6557 0.7577 0.7060 0 0 0.0357 0.7431 0.0318 0 0 0 0.3922 0.2769 0 0 0 0 0.0462

2、A=rand(3,3),B=magic(3),C=rand(3,4),计算A×B×C。 步骤 1:在命令区输入A=rand(3,3)产生矩阵A。 A=rand(3,3) A =

0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575

步骤2:在命令区输入B=magic(3)产生矩阵B。 B=magic(3)

B =

8 1 6 3 5 7 4 9 2

步骤3:在命令区输入C=rand(3,4)产生矩阵C。 C=rand(3,4) C =

0.7952 0.4456 0.7547 0.6551 0.1869 0.6463 0.2760 0.1626 0.4898 0.7094 0.6797 0.1190 步骤4:在命令区输入A×B×C即可得: A*B*C ans =

5.6246 7.8022 6.6845 3.6356 16.4537 19.4725 19.1594 10.1180 11.2966 13.1150 12.7632 7.6834

3、创建一个3×3矩阵,并求其转置,逆矩阵。

步骤1:在命令区输入A=rand(3,3)产生矩阵A。 A=rand(3,3) A =

0.4984 0.5853 0.2551 0.9597 0.2238 0.5060 0.3404 0.7513 0.6991

步骤2:在命令区输入B=A’即可得到矩阵A的转置。 B=A' B =

0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575

步骤4:在命令区输入D=inv(A)即可得到A的逆矩阵。 D=inv(A) D =

0.9364 0.9107 -1.0008 2.0880 -1.0951 0.0307 -2.6999 0.7335 1.8848

4、用两种方法求Ax=b的解(A为4阶随机矩阵,b为4阶列向量)。 方法一:

步骤1:在命令区输入A=randn(4,4)产生随机矩阵A。 A=randn(4,4) A =

-0.4326 -1.1465 0.3273 -0.5883 -1.6656 1.1909 0.1746 2.1832 0.1253 1.1892 -0.1867 -0.1364 0.2877 -0.0376 0.7258 0.1139

步骤2:在命令区输入b=[1;2;3;4]得列向量b。 b=[1;2;3;4] b = 1 2 3 4

步骤3:在命令区输入x=A\\b即可求出x。 x=A\\b x =

-2.0380 3.4793 6.9853 -3.0954

方法二:

步骤1和步骤2同方法一中步骤1和步骤2.

步骤3:在命令区输入C=inv(A)即可得到矩阵A的逆矩阵C。 C=inv(A) C =

-0.9936 -0.3256 -0.6202 0.3669 0.0907 0.0698 0.8637 0.1645 0.5320 0.1071 0.4444 1.2265 -0.8501 0.1629 -0.9798 0.0921 步骤4:在命令区输入x=C*b即可求出x。 x=C*b x =

-2.0380 3.4793 6.9853 -3.0954

5、创建一个4阶随机矩阵A,计算A3。

步骤1:在命令区输入A=randn(4,4)产生4阶随机矩阵A。 A=randn(4,4) A =

1.0668 0.2944 -0.6918 -1.4410 0.0593 -1.3362 0.8580 0.5711 -0.0956 0.7143 1.2540 -0.3999 -0.8323 1.6236 -1.5937 0.6900 步骤2:在命令区输入A^3即可得到A3。 A^3 ans =

4.0565 1.8913 0.3348 -6.9695 0.3481 -6.6605 3.2548 2.5939 0.0362 2.7163 3.2542 -1.9562

-4.0277 7.3469 -7.8278 3.0466

6、求100——999之间能被21整除的个数。 步骤1:在命令区输入A=100:1:999;

步骤2:在命令区输入p=(rem(A,3)==0); 步骤3:在命令区输入b=find(p) 步骤4:在命令区输入c=length(b)即可得100——999之间能被21整除的数的个数c=43。 7、设有矩阵A和B

A = B = 1 2 3 4 5 3 0 16 6 7 8 9 10 17 -6 9 11 12 13 14 15 0 23 -4 16 17 18 19 20 9 7 0 21 22 23 24 25 4 13 11 (1) 求它们的乘积C=A×B。

步骤1:在命令区输入矩阵A(此处省略)。 步骤2:在命令区输入矩阵B(此处省略)。

步骤3:在命令区输入C=A*B即可得它们的乘积。 C=A*B C =

93 150 77 258 335 237 423 520 397 588 705 557 753 890 717

(2) 将矩阵C的右下角3×2子矩阵赋给D。 在命令区输入D=C(3:5,2:3)。 D=C(3:5,2:3) D =

520 397 705 557 890 717 五、实验总结

通过此次试验,使我对MATLAB软件环境有了更进一步的了解与熟悉,也学会了一些基

本函数的调用,培养了我对MATLAB这种语言的兴趣。

本文来源:https://www.bwwdw.com/article/ulwg.html

Top