matlab所有实验及答案
时间:2025-07-08
时间:2025-07-08
实验二 习题
5
24 1、 矩阵Y=
0151
,给出元素1的全下标和 4510023 21473
单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵
10
321 ,并求该
矩阵的维数。
解:命令为:
Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10)
sub2ind([4 3],2,3) [i,j]=ind2sub([4 3],10)
find(Y==100) sub2ind([4 3],3,2)
B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y)
2、 建立一个数值范围为0—100内4*5的整数随机矩阵。
求出大于50的元素的位置。 解:命令为:
G=int8(100*rand(4,5)) find(G>50)
3、 已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1
0;2 1 3;1 1 2] 求2A+B、A2-3B、A*B、B*A、A .*B,A/B、A\B 解:命令为:
A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B
4、 利用函数产生3*4阶单位矩阵和全部元素都为8的
4*4阶矩阵,并计算两者的乘积。 解:命令为: A=eye(3,4) B=8*ones(4)
C=A*B
1
0 68 5、 创建矩阵a= 94012.3 ,取出其前两列 005.1 2 0 230 7
构成的矩阵b,取出前两行构成矩阵c,转置矩阵b构成矩阵d,计算a*b、c<d ,c&d, c|d ,~c|~d 解:命令为:
a=[-1,0,-6,8;-9,4,0,12.3;0,0,5.1,-2;0,-23,0,-7] b=a(:,[1 2]) c=a([1 2],:) d=b’ e=a*b f=c<d g=c&d h=c|d i=~c|~d
6、 使用函数,实现A到B 、C、D、E的转换
14710 101112
A=
25811 B=
789 6912 3
456 123
32
1
C=
654 10741
987
,D= 11852
121110
12963
1410E= 2511 3612
解:命令为:
A=[1 4 7 10;2 5 8 11;3 6 9 12] B=rot90(A) C=rot90(A,3) D=fliplr(A)
A(:,3)=[] E=A
20
00 7. 矩阵A=
454012.3 285.1 2 ,用函数取出列向量 0911004
0 45 20
08 和矩阵00 0 454 100
285.1 0911004 解:命令为:
A=[2 0 0 0;45 4 0 12.3;2 8 5.2 -2;0 91 100 4] B=diag(A) C=tril(A)
8.建立5阶魔方矩阵,求该矩阵的行列式和逆矩阵、迹以及any和all运算结果。建立一个M文件保存起来并练习调用。
解:命令文件为: A=magic(5) x=det(A) B=inv(A) C=trace(A) D=any(A) E=all(A)
实验三 习题
1. 创建2*2元胞数组A=‘ abc’
1001 24 , 并求出1001; 891 2i
创建结构数组student,要求包含三个属性名:姓名,学
号,年龄,分别存放 张三,10021、20 李四、10022、18
王五、10023、19,并写出取得李四学号的操作。 解:命令为:
A={'abc',[1001;24];89,1+2i} x=A{1,2}(1,1)
student=struct('name',{'张三';'李四';'王五'},'number',{10021;10022;10023},'age',{20;18;19}) student(2,1).number
2. 求多项式p(x) 5x5
3x3
2x2
10,在x 12.3
时的值,和p(x)=0时候的根。 解:命令为: p=[5,0,-3,2,0,10]; poly2sym(p)
x=polyval(p,12.3) y=roots(p)
110268 3.已知矩阵A= 94012.3 , 求A 4505 2 的特征值, 0 232 7
特征向量。
解:命令为:
A=[-1 10 26 8;-9 4 0 12.3;45 0 5 -2;0 -2 32 -7] [X,D]=eig(A) t=eig(A)
估算x=21.5时的近似值,用三次多项式拟合正弦曲线,并求拟合多项式系数向量。 解:命令为: x=[21 22 23 24] format long
y=[0.35537 0.37461 0.39073 0.40674] interp1(x,y,21.5,'nearest') [P,S]=polyfit(x,sin(x),3)
(P是一个长度为N+1的向量,代表N次多项式,S是采样点的误差向量。)
5.将10个学生5门功课的成绩存入矩阵P中,进行 (1)求每门课的最高分,最低分,平均分, (2)求5门课总分的最高分、最低分 解:命令为:
Y=[90 89 91 82 75;88 82 85 89 95;79 89 93 82 76;91 89 87 79 85;90 79 78 91 82;86 85 84 89 88;89 91 79 90 94;75 85 95 90 87;85 78 75 90 89;98 89 87 86 80] a=max(Y) b=min(Y) c=mean(Y,1) format short f=mean(Y,2)*5 t=max(f) h=min(f) 或n=sum(Y,2) a=max(n) b=min(n)
6. 用数值方法解线性方程组
6x 5y 2z 5u 4
9x y 4z u 133x 4y 2z 2u 1 3x 9y 2u 11
解:命令为:
A=[6 5 -2 5;9 -1 4 -1;3 4 2 -2;3 -9 2 0] b=[-4 13 1 11]' X=A\b
7、 求方程x5x 2x 10,在x=1附近的根。 解:命令为:
fsolve('x*5^x+2*x-10',1)
实验四:程序设计
注意:要用M文件实现,一道题,一个M文件,命令文件或者函数文件自选 20
1. 求
n!
n 1
解:命令文件为 sum=0; s=1;
for n=1:20 s=n*s;
sum=sum+s; end sum
2. 求Sn a aa aaa aa a得值,其中a是一个数字,由键盘输入,表达式中位数最多项a的个数,也由键盘输入。例如:输入a=3,n=4, 则s4=3+33+333+3333 解:命令文件为
sum=0; s=0;
a=input('请输入a的值:') n=input('请输入n的值:') for i=1:n
s=s+a*10^(i-1); sum=sum+s;
end sum
3. 计
算下列分段函数的值:
0x 5f(x) x 35 x 10
4 2x
x 10解:命令文件为
x=input('输入x的值:') if x<=5 f=0;
elseif x>5&x<=10 f=(x-3)/4.0; else
f=2*x; end
f
4. 有一群鸡和兔子,加在一起头的数量是36,脚的数
量是100,编程序解答鸡和兔子数量各是多少? 解:命令文件为 for x=0:36
for y=0:36-x
if (x+y==36)&(2*x+4*y==100) disp('鸡有:') disp(x)
disp('兔子有') disp(y) end end end
5. 产生20个两位随机整数,输出其中小于平均值的奇
数。
解:命令文件为
disp('随机矩阵为:') A=randint(1,20,[10,99]) Aver=mea …… 此处隐藏:3707字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:交通运输知识点表格