1、char(49);4. 下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A;.L1=A=B;L2=A3&A7);L1的值为0, 0, 0, 0, 1, 0, 0, 0, 0L2的值为1, 1, 1, 1, 1, 0, 0, 0, 0L3的值为0, 0, 0, 1, 1, 1, 0, 0, 0L4的值为4, 5, 65. 已知 完成下列操作:(1) 取出A的前3行构成矩阵B,前两列构成矩阵C,右下角子矩阵构成矩阵D,B与C的乘积构成矩阵E。B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C;(2) 分别求E=10&25)。E25)=
2、1; 5。6. 当A=34, NaN, Inf, -Inf, -pi, eps, 0时,分析下列函数的执行结果:all(A),any(A),isnan(A),isinf(A),isfinite(A)。all(A)的值为0 any(A) 的值为1 isnan(A) 的值为 0, 1, 0, 0, 0, 0, 0 isinf(A) 的值为 0, 0, 1, 1, 0, 0, 0 isfinite(A) 的值为1, 0, 0, 0, 1, 1, 17. 用结构体矩阵来存储5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和6门课程的成绩。student(1).id=0001;student(
3、1).name=Tomstudent(1).major=computerstudent(1).grade=89,78,67,90,86,85;8. 建立单元矩阵B并回答有关问题。B1,1=1;B1,2=BrendenB2,1=reshape(1:9,3,3);B2,2=12,34,2;54,21,3;4,23,67;(1) size(B)和ndims(B)的值分别是多少?size(B) 的值为2, 2。ndims(B) 的值为2。(2) B(2)和B(4)的值分别是多少?B(2)=,B(4)= (3) B(3)=和B3=执行后,B的值分别是多少?当执行B(3)=后, B=1, 1, 4, 7;
4、 2, 5, 8; 3, 6, 9, 12, 34, 2; 54, 21, 3; 4, 23, 67 当执行B3=后, B=1,; 1, 4, 7;习题三1. 写出完成下列操作的命令。(1) 建立3阶单位矩阵A。A=eye(3);(2) 建立56随机矩阵A,其元素为100,200范围内的随机整数。round(100+(200-100)*rand(5,6);(3) 产生均值为1,方差为0.2的500个正态分布的随机数。1+sqrt(0.2)*randn(5,100);(4) 产生和A同样大小的幺矩阵。ones(size(A);(5) 将矩阵A对角线的元素加30。A+eye(size(A)*30;
5、(6) 从矩阵A提取主对角线元素,并以这些元素构成对角阵B。B=diag(diag(A);2. 使用函数,实现方阵左旋90o或右旋90o的功能。例如,原矩阵为A,A左旋后得到B,右旋后得到C。 答:B=rot90(A); C=rot90(A,-1);3. 建立一个方阵A,求A的逆矩阵和A的行列式的值,并验证A与A-1是互逆的。A=rand(3)*10; B=inv(A); C=det(A); 先计算B*A,再计算A*B,由计算可知B*A=A*B,即AA-1= A-1A是互逆。4. 求下面线性方程组的解。A=4,2,-1;3,-1,2;12,3,0; b=2;10;8; x=inv(A)*b 方
6、程组的解为x=5. 求下列矩阵的主对角线元素、上三角阵、下三角阵、秩、范数、条件数和迹。(1) (2) (1) 取主对角线元素:diag(A);上三角阵:triu(A);下三角阵:tril(A);秩:rank(A);范数:norm(A,1); 或 norm(A); 或 norm(A,inf);条件数:cond(A,1); 或 cond(A,2); 或 cond(A,inf)迹:trace(A); (2)【请参考(1)】。6. 求矩阵A的特征值和相应的特征向量。 V,D=eig(A);习题四1. 从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代
7、该数字;再把第一位与第三位交换,第二位与第四位交换。 a=input(请输入4位整数: A=a/1000,a/100,a/10,a; A=fix(rem(A,10); A=rem(A+7,10); b=A(3)*1000+A(4)*100+A(1)*10+A(2); disp(加密后的值为:,num2str(b);2. 分别用if语句和switch语句实现以下计算,其中a、b、c的值从键盘输入。(1) 用if语句实现计算:请输入a的值: b=input(请输入b的值: c=input(请输入c的值: x=input(请输入x的值: if x=0.5 & x1.5 y=a*x2+b*x+c; e
8、nd=1.5 &3.5 y=a*(sin(b)c)+x;=3.5 &5.5 y=log(abs(b+c/x);disp(y=,num2str(y); (2) 用switch语句实现计算: switch fix(x/0.5) case 1,2 y=a*x2+b*x+c; case num2cell(3:6) y=a*(sin(b)c)+x; case num2cell(7:10) y=log(abs(b+c/x);3. 产生20个两位随机整数,输出其中小于平均值的偶数。 A=fix(10+89*rand(1,20); sum=0; for i=1:20sum=sum+A(i);endB=A(fi
9、nd(A v_max v_max=x;end;if x v_min v_min=x;最大数为:, num2str(v_max);最小数为:, num2str(v_min);(2) 用max函数、min函数实现:5 A(i)=input(, num2str(max(A);, num2str(min(A);5. 已知:,分别用循环结构和调用MATLAB的sum函数求s的值。 (1) 用循环结构实现: s=0;for i=0:63 s=s+2i;s (2) 调用sum函数实现: s=0:63;s=2.s;sum(s)6. 当n分别取100、1000、10000时,求下列各式的值。(2) (3) (4
10、) 要求分别用循环结构和向量运算(使用sum或prod函数)来实现。 for k=1:100 sum=sum+(-1)(k+1)/k;sum使用sum函数: x=;10000 x=x, (-1)(k+1)/k; sum(x) (2) 用循环结构实现: sum=sum+(-1)(k+1)/(2*k-1); 使用sum函数:x=;for k=1: x=x, (-1)(k+1)/(2*k-1);(3) 用循环结构实现:sum=0; sum=sum+1/(4k);使用sum函数实现: x=x, 1/(4k);sum(x)(4) 用循环结构实现:t=1; t=t*(2*k)*(2*k)/(2*k-1)*
11、(2*k+1);t使用prod函数实现: x=x, (2*k)*(2*k)/(2*k-1)*(2*k+1);prod(x)7. 编写一个函数文件,求小于任意自然数n的斐波那契(Fibnacci)数列各项。斐波那契数列定义如下: function x=fibnacci(n)n if i=2 x(i)=1; else x(i)=x(i-1)+x(i-2); end8. 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。 函数文件myfnc.m: function x, y= myfnc(A, B) tryx=A*B;catch x=; y=A.*B; 命令文件myexe.m
12、: A=input(请输入矩阵A:B=input(请输入矩阵B:x, y=myfnc(A, B);if length(x)=0 display(两矩阵的维数不匹配,无法进行乘积运算!else disp(矩阵A和矩阵B的乘积为: xdisp(矩阵A和矩阵B的点乘为:y9. 先用函数的递归调用定义一个函数文件求,然后调用该函数文件求。 function sum=myfnc(n, m) if n=1 sum=1; else sum= myfnc (n-1, m)+nm; 在命令窗口中调用myfnc.m文件,计算: sum=myfnc(100, 1)+ myfnc(50, 2)+myfnc(10,-1)10. 写出下列程序的输出结果。1 s=0;a=12,13,14;15,16,17;18,19,20;21,22,23;for k=a for j=1:4 if rem(k(j),2)=0 s=s+k(j); s执行结果为 s=1082 命令文件exe.m执行后的结果为:x = 4 12 20 y= 2 4 6
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1