1、实验目的:
1)熟悉启动和退出MATLAB软件的方法;
2)熟悉MATLAB运行窗口的组成;
3)掌握建立和访问矩阵的方法;
4)掌握MATLAB各种表达式的书写规则以及常用函数的使用。
2、实验内容:
1 用“:”号生成行向量a=[1 2 3 4 5 6 7 8 9 10]和b=[5 3 1 -1 -3 -5];
1. %冒号生成法,初值:步长:终值 2. a = 1 : 1 : 10 3. b = 5 : -2 : -5
2 用线性等分命令linspace重新生成上述的a和b向量;
1. % linspace函数生成法 2. a = linspace(1, 10, 10) 3. b = linspace(5, -5, 6)
3 生成范围在[0,10]均值为5的3×5维的均匀分布随机数矩阵c;
错误写法
1. c = 10 * rand(3, 5); 2. %计算均值 3. [m, n] = size(c); 4. sum = 0; 5. for i = (1:m) 6. for j = (1:n) 7. sum = sum + c(i,j); 8. end 9. end 10. sum 11. 12. junzhi = sum/15 13. %!!!!!!!!!!!!! 14. %均值不是5.0
这种写法 均值不是5!
参考课本写法,把方差给的很小,但是不确定是否正确
c = 5 + sqrt(0.000000001)*randn(3,5) %方差给小一点
4 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量:
1. Z1 = 2*sin(pi*80/180) / (1+expm(1)^2) %expm(A) e的A次幂 2. x = [2, 1+2i; -0.45, 5]; 3. Z2 = 1/2 * log(x + sqrt(1+x.^2)) %log 是自然对数 4. whos
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,并利用函数查看工作空间下的变量情况。
1. clear all %清除上题中出现的变量 2. f1 = ones(3, 2) 3. f2 = zeros(2, 3) 4. f3 = magic(3) 5. f4 = eye(2) 6. f5 = linspace(0, 1, 5) 7. f = [[f1,f3;f4,f2];f5] %组合矩阵f
6
- 取出A中第2到4行与第3到5列的值赋给变量B,并求出变量B的维度;
- 将矩阵A变换为向量C,C=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20],并求出向量C的长度;
- 删除A的3、4、5列元素,所得结果赋给变量D;
- 利用四种方法取出A的最后一列元素,赋给变量E;
- 将矩阵A的第一列元素改为2、4、6、8。
1. A = [1:5; 6:10; 11:15; 16:20] 2. B = A([2:4],[3:5]) %取出A中第2到4行与第3到5列的值赋给变量B 3. [m,n] = size(B) %求出变量B的维度
1. C=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20] 2. length(C) %求出C的长度
1. A(:,[3:5]) = []; 2. D = A
这里我认为在第三问中样已经删除A的后三列了,所以将A的第二列当做最后一列,或者重新给A赋值,取最后一列数据!
1. E = A(1:4,2) %前4行,第二列 2. E = A(:,2) %默认全选所有行,第二列 3. E = A(:,end) %最后一列 4. E = A(5:8)' %按列优先,元素下标访问
A(1:4,1) = [2 4 6 8]' %A的第一列元素,(列向量),2468要转置