数学建模实验报告一MATLAB中矩阵的基本操作.docx
《数学建模实验报告一MATLAB中矩阵的基本操作.docx》由会员分享,可在线阅读,更多相关《数学建模实验报告一MATLAB中矩阵的基本操作.docx(13页珍藏版)》请在冰豆网上搜索。
![数学建模实验报告一MATLAB中矩阵的基本操作.docx](https://file1.bdocx.com/fileroot1/2023-2/24/c82f38be-559d-4079-bb82-46e2fb9cbd0d/c82f38be-559d-4079-bb82-46e2fb9cbd0d1.gif)
数学建模实验报告一MATLAB中矩阵的基本操作
数学建模实验报告
实验课程:
数学建模实验日期:
任课教师:
张力宁
班级:
信息二班姓名:
李旭学号:
0202130215
一、实验名称:
Matlab中矩阵的基本操作
二、实验目的:
熟悉MATLAB软件的用户环境;了解MATLAB软件的一般命令;掌握MATLAB向量、数组、矩阵操作与运算函数;能够利用MATLAB生成特殊矩阵并进行简单的矩阵操作和运算。
三、实验要求:
1.在D盘建立一个自己的文件夹;
2.开启软件平台——MATLAB,将你建立的文件夹加入到MATLAB的搜索路径中;
3.利用帮助了解函数max,min,sum,mean,sort,length,randn,size和diag的功能和用法;
4.在MATLAB命令窗口或程序编辑窗口下,键入你完成题目所输入的命令或编写的M文件。
5.将你输入的命令、程序及运行结果保存在word文件中,命名为*班***(姓名)数模第一次上级作业.doc,作为作业发至邮箱xawlmcm@提交;
6.若出现错误,修改、运行直到输出正确结果;
四、报告正文(文挡,数据,模型,程序,图形):
(一)矩阵的基本操作
1、生成一个3×3的矩阵A,它的元素从你的学号中任意指定的9个不同的正整数,计算A的行列式
并将其赋值给变量b,若b
0,求出矩阵B=
。
若b=0,重新选择A。
将所生成的矩阵A及B连在一起,构成一个3×6的矩阵,并付给变量C,在workspace中观察C的类型、大小以及当前值。
并用save命令将C存储为一个数据文件以备下列题目利用Load命令调用;
>>A=[020;213;021]
A=
020
213
021
>>b=det(A)
b=
-4
>>B=inv(A)
B=
1.25000.5000-1.5000
0.500000
-1.000001.0000
>>C=[AB]
C=
Columns1through5
02.000001.25000.5000
2.00001.00003.00000.50000
02.00001.0000-1.00000
Column6
-1.5000
0
1.0000
>>C=[AB]
C=
02.000001.25000.5000-1.5000
2.00001.00003.00000.500000
02.00001.0000-1.000001.0000
2、利用load命令调出C并取出它的1-3行,2-4列的子块,另存为一个3×3的矩阵d,生成一个与d相同大小的随机矩阵矩阵e,计算d+e,才
d-e,
,
.*e,
,将
结果中所有的对角线元素全部换为0.5。
>>loadC.mat
>>d=(1:
3;2:
4)
d=(1:
3;2:
4)
>>d=(1:
3,2:
4)
d=(1:
3,2:
4)
|
错误:
表达式或语句不正确--可能(、{或[不对称。
>>d=C(1:
3,2:
4)
d=
2.000001.2500
1.00003.00000.5000
2.00001.0000-1.0000
>>f=rand(3)
f=
0.81470.91340.2785
0.90580.63240.5469
0.12700.09750.9575
>>e=rand(3:
3)
e=
0.96490.95720.1419
0.15760.48540.4218
0.97060.80030.9157
>>a=d+e
a=
2.96490.95721.3919
1.15763.48540.9218
2.97061.8003-0.0843
>>a(1,1;22;33)=0.5
a(1,1;22;33)=0.5
|
错误:
圆括号或方括号不对称或异常。
>>(11;22;33)=0.5
(11;22;33)=0.5
|
错误:
不应为MATLAB表达式。
>>a(1,1;2,2;3,3)=0.5
a(1,1;2,2;3,3)=0.5
>>a(1,1)=0.5
a=
0.50000.95721.3919
1.15763.48540.9218
2.97061.8003-0.0843
>>a(2,2)=0.5
a=
0.50000.95721.3919
1.15760.50000.9218
2.97061.8003-0.0843
>>a(3,3)=0.5
a=
0.50000.95721.3919
1.15760.50000.9218
2.97061.80030.5000
>>W=e'*d
W=
4.02861.44340.3143
4.00032.25640.6389
2.53702.1810-0.5275
s=d.*e
s=
1.929800.1774
0.15761.45610.2109
1.94120.8003-0.9157
>>m=e.^d
m=
0.93101.00000.0871
0.15760.11430.6494
0.94210.80031.0920
3、完成下列计算:
(1)
(2)
解:
(1):
>>a=[238;502;6924;7412]
a=
238
502
6924
7412
>>b=[8117;639;1510;2412]
b=
8117
639
1510
2412
>>c=1/3*a-b
c=
-7.3333-10.0000-4.3333
-4.3333-3.0000-8.3333
1.0000-2.0000-2.0000
0.3333-2.6667-8.0000
(2):
>>a=[258;719]
a=
258
719
>>b=[4213;0762;-359-1]
b=
4213
0762
-359-1
>>c=[98;12;-25;43]
c=
98
12
-25
43
>>d=a*b*c
d=
-241574
-57652
4
>>A=[310;-121;342]
A=
310
-121
342
>>B=[102;-111;211]
B=
102
-111
211
>>C=B-3*A
C=
-8-32
2-5-2
-7-11-5
>>D=C/-2
D=
4.00001.5000-1.0000
-1.00002.50001.0000
3.50005.50002.5000
>>X=D
X=
4.00001.5000-1.0000
-1.00002.50001.0000
3.50005.50002.5000
5、利用randn(5,6)命令生成一个随机矩阵T,求T的矩阵大小,每一行、每一列的最大值和最小值,整个矩阵的最大值与最小值;然后将整个矩阵的最大值所在位置的元素换为100,将最小值所在位置的元素取为-100。
将矩阵T的第一行元素提取出来另存为向量P,对P的元素的大小进行排序。
>>a=randn(5,6)
a=
-0.17650.3335-0.4762-0.33490.66010.0230
0.79140.39140.86200.5528-0.06790.0513
-1.33200.4517-1.36171.0391-0.19520.8261
-2.3299-0.13030.4550-1.1176-0.21761.5270
-1.44910.1837-0.84871.2607-0.30310.4669
>>max(a,[],1)
ans=
Columns1through5
0.79140.45170.86201.26070.6601
Column6
1.5270
>>max(a[],2)
max(a[],2)
|
错误:
圆括号或方括号不对称或异常。
>>max(a,[],2)
ans=
0.6601
0.8620
1.0391
1.5270
1.2607
>>[i,j]=max(a)
i=
Columns1through5
0.79140.45170.86201.26070.6601
Column6
1.5270
j=
232514
>>min(a,[],1)
ans=
Columns1through5
-2.3299-0.1303-1.3617-1.1176-0.3031
Column6
0.0230
>>min(a,[],2)
ans=
-0.4762
-0.0679
-1.3617
-2.3299
-1.4491
>>T=a
T=
Columns1through5
-0.17650.3335-0.4762-0.33490.6601
0.79140.39140.86200.5528-0.0679
-1.33200.4517-1.36171.0391-0.1952
-2.3299-0.13030.4550-1.1176-0.2176
-1.44910.1837-0.84871.2607-0.3031
Column6
0.0230
0.0513
0.8261
1.5270
0.4669
>>size(a)
ans=
56
>>[i,j]=find(a==max(max(a)))
i=
4
j=
6
>>[i,j]=find(a==min(min(a)))
i=
4
j=
1
>>a(4,6)=100
a=
Columns1through5
-0.17650.3335-0.4762-0.33490.6601
0.79140.39140.86200.5528-0.0679
-1.33200.4517-1.36171.0391-0.1952
-2.3299-0.13030.4550-1.1176-0.2176
-1.44910.1837-0.84871.2607-0.3031
Column6
0.0230
0.0513
0.8261
100.0000
0.4669
>>a(4,6)=100
a=
Columns1through5
-0.17650.3335-0.4762-0.33490.6601
0.79140.39140.86200.5528-0.0679
-1.33200.4517-1.36171.0391-0.1952
-2.3299-0.13030.4550-1.1176-0.2176
-1.44910.1837-0.84871.2607-0.3031
Column6
0.0230
0.0513
0.8261
100.0000
0.4669
>>Y=a(4,1)
Y=
-2.3299
>>a(4,1)
ans=
-2.3299
>>a(4,1)=-100
a=
Columns1through5
-0.17650.3335-0.4762-0.33490.6601
0.79140.39140.86200.5528-0.0679
-1.33200.4517-1.36171.0391-0.1952
-100.0000-0.13030.4550-1.1176-0.2176
-1.44910.1837-0.84871.2607-0.3031
Column6
0.0230
0.0513
0.8261
100.0000
0.4669
6、生成一个3×5的矩阵K,它的第一行元素为从2到8的等距分布,第二行元素为从3到9的等距分布,第三行为从4到10的等距分布。
找出K中所有大于4的元素,并将其全部赋值为-4。
>>K=[linspace(2,8,5);linspace(3,9,5);linspace(4,10,5)]
K=
2.00003.50005.00006.50008.0000
3.00004.50006.00007.50009.0000
4.00005.50007.00008.500010.0000
>>K(find(K>4))=-4
K=
2.00003.5000-4.0000-4.0000-4.0000
3.0000-4.0000-4.0000-4.0000-4.0000
4.0000-4.0000-4.0000-4.0000-4.0000