实验目的
(1)熟悉启动和退出MATLAB软件的方法;
(2)熟悉MATLAB运行窗口的组成;
(3)掌握建立和访问矩阵的方法;
(4)掌握MATLAB各种表达式的书写规则以及常用函数的使用。
实验要求
(1)实验前,要认真预习实验任务,了解实验目的和实验内容;实验时,要认真上机操作,做好观察分析和记录;实验后,按要求编写实验报告。
(2)所有程序需在命令窗口下编写,且当不需要查看语句执行结果时,注意在句尾处要使用分号。
2-1)、用“:”号生成行向量a=[1 2 3 4 5 6 7 8 9 10]和b=[5 3 1 -1 -3 -5];
%冒号生成法
a=1:10 %1到10以1相加
b=5:-2:-5 %5到-5以-2相加
a =
1 2 3 4 5 6 7 8 9 10
b =
5 3 1 -1 -3 -5
2-2)、用线性等分命令linspace重新生成上述的a和b向量;
%linspace(a,b,N),在a和b之间均匀产生N个点值
a=linspace(1,10,10)
b=linspace(5,-5,6)
a =
1 2 3 4 5 6 7 8 9 10
b =
5 3 1 -1 -3 -5
2-3)、生成范围在[0,10]均值为5的3×5维的均匀分布随机数矩阵c;
c=10*rand(3,5)
%rand(a,b)返回a行b列0到1随机数
c =
3.4998 6.1604 8.3083 9.1719 7.5373
1.9660 4.7329 5.8526 2.8584 3.8045
2.5108 3.5166 5.4972 7.5720 5.6782
2-4)、先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量:
(1)
(2)
Z1=2*sin(80*pi/180)/(1+exp(2))
x=[2 1+2i;-0.45 5];
Z2=(1/2)*log(x+sqrt(1+x.^2))%x是个矩阵,注意.
whos
2-5)、清除上题中出现的变量,并利用矩阵生成函数创建满足要求的矩阵:3行2列的全1阵f1;2行3列的全0阵f2;3阶魔方阵f3;2阶单位阵f4;在0-1间均匀的产生5个点,形成1维行向量f5。把f1,f2,f3,f4,f5组合成一个6行5列的矩阵f,并利用函数查看工作空间下的变量情况。
clear all %清除上题中出现的变量
f1=ones(3,2) %3行2列全为1的矩阵
f2=zeros(2,3)%2行3列全为0的矩阵
f3=magic(3) %3阶魔方阵
f4=eye(2) %2阶单位阵
f5=linspace(0,1,5) %在0和1之间均匀产生5个点值
f=[[f1,f3;f4,f2];f5] %6行5列混和阵
whos
2-6)、创建矩阵,并对其进行如下操作:
(1)取出A中第2到4行与第3到5列的值赋给变量B,并求出变量B的维度;
(2)将矩阵A变换为向量C,C=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20],并求出向量C的长度;
(3)删除A的3、4、5列元素,所得结果赋给变量D;
(4)利用四种方法取出A的最后一列元素,赋给变量E;
(5)将矩阵A的第一列元素改为2、4、6、8。
A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20 ]
B=A([2:4],[3:5])%取出A中第2到4行与第3到第5列的值赋给变量B
[m,n]=size(B) %求出变量B的维度
C=reshape(A',1,20)%矩阵A'把矩阵A的行与列互换,reshape生成1行20列,以下方向数
length(C) %求出A的长度
D=A([1:4],[1:2]) %取出A中第1到4行与第1到第2列
E=A(1:4,5) %前4行第5列
E=A(:,5) %默认所以行,第5列
E=A(:,end) %最后一列
E=A(17:20)'%取出A中17到20元素,生成行向量,要转置
A(1:4,1)=[2 4 6 8]'%第一列改成2 4 6 8
实验结论
第1题了解了冒号生成法,第2题了解linspace的定义,第3题了解rand的使用,第4题加深了对编程计算的理解,特别是点乘,数组运算的运算符要在矩阵运算的运算前加上符号’.’ ,第5题和第6题了解了矩阵的一些基本变化运算,第6题那个用四种方法写出A的最后一列,刚一看到,心情烦,没写出来,后面冷静了,就写出来了,写作业的时候还是要保持冷静的。对于每个题目应该了解题目的意思,然后了解题目运用了哪些内容的定义,程序的逻辑和思维都非常符合我们以前学的知识,进一步应用了,学无止境。