闽 江 学 院 电 子 系 实 验 报 告
学生姓名: 班级: 学 号:
课程: matlab
一、实验题目: MATLAB 矩阵分析 二、实验地点:A210
三、实验目的: 1.掌握MATLAB 矩阵分析
2.掌握字符串、结构数据和单元数据
3.熟悉MATLAB 稀疏矩阵及其操作
四、实验内容:
1、已知23100.778041
45655
3250326
9.54
54
3.14A -????-?
?=??
??-??
,完成下列操作: (1)输出A 在[10,25]范围内的全部元素
(2)取出A 前3行构成矩阵B ,前两列构成矩阵C ,右下角3*2子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E
(3)分别求表达式E 2、产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好,为什么? 3、已知: 2961820 5128 8 5A -?? ??=????-?? 求A 的特征值及特征向量,并分析其数学意义。 4、求下列矩阵的主对角元素,上三角矩阵,下三角矩阵,逆矩阵,行列式的值,秩,范数,条件数,迹。 (1) 1123 5142 3052 111509 A - ?? ?? - ?? = ?? ?? ?? (2) 0.43432 8.9421 B ?? =?? -?? 5、建立一个字符串向量ch=’ABc123d4e56Fg9’,然后对该向量做以下处理: (1)统计其中阿拉伯数字的个数 (2)删除字符串中数字,并将字符串中大写字母改为小写字母。 五、实验环境(使用的软硬件): Matlab6.5 六、实验步骤及操作 1.(1)在matlab命令窗口中输入 A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; >> k=find(10<=A&25>=A); >> A(k) 回车查看结果; (2)在matlab命令窗口中分别输入B=A(1:3,:)、 C=A(:,1:2) 、D=A(2:4,3:4)、E=B*C回车,查看结果。 (3)在matlab命令窗口中分别输入E 2.在matlab命令窗口中输入format rat回车,输入H=hilb(5), Hh=det(H),Th=cond(H)回车查看结果;输入format rat回车,输入P=pascal(5),Hp=det(P), TP=cond(P)回车查看结果。 3.在matlab命令窗口中输入A=[-29,6,18;20,5,12;-8,8,5];[V,D]=eig(A)回车,查看结果。 4.在matlab命令窗口中输入 A =[1 -1 2 3;5 1 -4 2;3 0 5 2;11 15 0 9];分别输入:D=diag(A)、B=triu(A)、C=tril(A)、inv(A)、E=det(A)、r=rank(A)、a1=norm(A,1)、a2=norm(A)、ainf=norm(A,inf)、C1=cond(A)、trace(A)回车查 看结果。 5.在matlab命令窗口中输入>> ch='ABc123d4e56Fg9'; >> k=find(ch>='0'&ch<='9'); >> length(k)回车查看结果。输入>> ch(k)=[]; >> upper(ch)回车查看结果。 七、实验结果: 1.对矩阵进行操作: 2.产生希尔伯特矩阵和帕斯卡矩阵: 由运行结果可知,178868/21=8517.52<476607 即Tp更接近于1,所以帕斯卡矩阵P性能更好。 3.求矩阵特征值和特征向量: 由运行结果可知,一个矩阵的特征向量有无穷多个,eig函数只找出其中的n个,A的其他特征向量,均可由这n个特征向量的线性组合表示。 4.矩阵分析: 5.字符串向量处理: 八、思考题 1、矩阵中采用稀疏矩阵有何好处?在运算规则上,稀疏存储矩阵和普通矩阵有何不同? 答:用稀疏存储方式可以可以节省内存空间; 运算规则上,稀疏矩阵与普通矩阵一样,只是矩阵的存储方式不同。在运算过程中,稀疏存储矩阵可以直接参与运算。当参与运算的对象不全是稀疏存储矩阵时,所得结果一般是完全存储 形式。 2、在MA TLAB中建立一结构矩阵,并进行增加,删除结构成员等操作。 >> a.x1=10;a.x2='liu';a.x3=[11 21;34 78]; >> a(2).x1=12;a(2).x2='wang';a(2).x3=[34 191;27 578]; >> a(3).x1=14;a(3).x2='cai';a(3).x3=[13 890;67 231]; >> a a = 1x3 struct array with fields: x1 x2 x3 >> a(1).x4='410075'; >> a(1) ans = x1: 10 x2: 'liu' x3: [2x2 double] x4: '410075' >> a=rmfield(a,'x4'); >> a(1) ans = x1: 10 x2: 'liu' x3: [2x2 double] 3、单元矩阵与结构矩阵有何不同?在MA TLAB中如何建立与引用单元矩阵? 答:结构变量的各个元素下有成员,每个成员都有自己的名字,而单元矩阵的各个元素就是不同类型的数据。 建立单元矩阵只需将矩阵元素用大括号括起来,用带有大括号下标的形式引用单元矩阵元素。 报告评分: 指导教师签字:批阅日期: