MATLAB(1)-矩阵的基本操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 MATLAB 基础知识上机练习题目
(1)矩阵的基本操作
一、 答卷形式:新建一个word 文档,将以下每道练习题使用的命令(或程
序)及其结果按顺序排列在该word 文档中,文档中必须写上自己的名字和学号,并以自己的名字命名,最后提交word 文档。
二、 练习题目:
1、
生成一个3×3的矩阵A ,它的元素为你任意指定的9个不同的正整数,计算A 的行列式A 并将其赋值给变量b ,若b ≠0,求出矩阵B =1A -。若b =0,重新选择A 。
将所生成的矩阵A 及B 连在一起,构成一个3×6的矩阵,并付给变量C ,在workspace 中观察C 的类型、大小以及当前值。并用save 命令将C 存储为一个数据文件以备下列题目利用Load 命令调用; 2、
利用load 命令调出C 并取出它的1-2行,2-4列的子块,另存为一个2×3的矩阵d ,生成一个与d 相同大小的随机矩阵矩阵e ,计算d +e , d -e ,e d '*,d .*e , ()5
e d ' ,将e d '*结果中所有的对角线元素全部换为0.5。 3、
完成下列计算:
4、
4、利用rand(4,6)命令生成一个随机矩阵T,求T的矩阵大小,每一行、
每一列的最大值和最小值,整个矩阵的最大值与最小值;然后将整个矩阵的最大值所在位置的元素换为1000,将最小值所在位置的元素取为-1000。
>> T=rand(4,6)
T =
0.8143 0.1966 0.3517 0.9172 0.3804 0.5308
0.2435 0.2511 0.8308 0.2858 0.5678 0.7792
0.9293 0.6160 0.5853 0.7572 0.0759 0.9340
0.3500 0.4733 0.5497 0.7537 0.0540 0.1299
>> RowMax=max(T)
//每一列的最大值
RowMax =
0.9293 0.6160 0.8308 0.9172 0.5678 0.9340
>>k=T'
//转秩后,求每一列的最大值就是原矩阵每行的最大值
k =
0.8143 0.2435 0.9293 0.3500
0.1966 0.2511 0.6160 0.4733
0.3517 0.8308 0.5853 0.5497
0.9172 0.2858 0.7572 0.7537
0.3804 0.5678 0.0759 0.0540
0.5308 0.7792 0.9340 0.1299
LineMax=max(k)
LineMax =
0.9172 0.8308 0.9340 0.7537
//最大值
>> Max=max(max(T))
Max =
0.9340
>> Min=min(min(T))
//最小值
Min =
0.0540
//找出最大最小值替换,在得出新矩阵Q
>>idx=find(T>=Max);
T(idx)=100;
>>idy=find(T<=Min);
>>T(idy)=-100;
>> Q=T
Q =
0.8143 0.1966 0.3517 0.9172 0.3804 0.5308
0.2435 0.2511 0.8308 0.2858 0.5678 0.7792
0.9293 0.6160 0.5853 0.7572 0.0759 100.0000
0.3500 0.4733 0.5497 0.7537 -100.0000 0.1299
将矩阵T的第一行元素提取出来另存为向量P,对P的元素的大小进行排序。
>> P=T(1,:)
//取出第一行
P =
0.8143 0.1966 0.3517 0.9172 0.3804 0.5308
//对P进行排序
>> P=sort(P)
P =
0.1966 0.3517 0.3804 0.5308 0.8143 0.9172
6、生成一个3×5的矩阵K,它的第一行元素为从1到7的等距分布,第二行元素为从2到8的等距分布,第三行为从3到9的等距分布。找出K中所有大于5的元素,并将其全部赋值为-1。
//生成等距3*5矩阵
>> K=[linspace(1,7,5); linspace(2,8,5); linspace(3,9,5);]
K =
1.0000
2.5000 4.0000 5.5000 7.0000
2.0000
3.5000 5.0000 6.5000 8.0000
3.0000
4.5000 6.0000 7.5000 9.0000
//找出大于5的元素并赋值为-1,等到新矩阵Q
>>K(find(K>5))=-1;
>> Q=K
Q =
1.0000
2.5000 4.0000 -1.0000 -1.0000
2.0000
3.5000 5.0000 -1.0000 -1.0000
3.0000
4.5000 -1.0000 -1.0000 -1.0000