1、 Matlab上机练习题及答案 --------------------------------------------------------------------- 1、 矩阵Y= ,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵,并求该矩阵的维数。 解:命令为: 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:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y) --------------------------------------------------------------------- 2、已知矩阵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、3*B G=A*B H=B*A I=A.*B J=A/B K=A\B --------------------------------------------------------------------- 3、利用函数产生3*4阶单位矩阵和全部元素都为8的4*4阶矩阵,并计算两者的乘积。 解:命令为: A=eye(3,4) B=8*ones(4) C=A*B --------------------------------------------------------------------- 4、创建矩阵a=,取出其前两列构成的矩阵b,取出前两行构成矩阵c
4、转置矩阵b构成矩阵d,计算a*b、c 5、um=sum+s;
end
sum
---------------------------------------------------------------------
6、求得值,其中是一个数字,由键盘输入,表达式中位数最多项的个数,也由键盘输入。例如:输入a=3,n=4,
解:命令文件为
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
--------------------- 6、
7、计算下列分段函数的值:
解:命令文件为
x=input('输入x的值:')
if x<=5
f=0;
elseif x>5&x<=10
f=(x-3)/4.0;
else
f=2*x;
end
f
---------------------------------------------------------------------
8、有一群鸡和兔子,加在一起头的数量是36,脚的数量是100,编程序解答鸡和兔子数量各是多少? 7、
解:命令文件为
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
---------------------------------------------------------------------
9、(1) 化简表达式;
(2)对表达式进行因式分解。
8、解:命令文件为
syms x
f1=cos(2*x)+(sin(x))^2
f2=x^4-x^2-6
t1=simple(f1)
t2=factor(f2)
---------------------------------------------------------------------
10、求下列极限值(1)
(2)
解:命令文件为
syms x
f1=sin(2*x)/sin(5*x)
f2=sqrt(x^2+x)-sqrt(x^2-x)
t1=limit(f1,x,0)
t2=limit(f2,x,inf)
------------- 9、
11、求下列级数之和
解:命令文件为:
syms x n m
s1=n*x^n
s2=n^2
t1=symsum(s1,n,1,n)
t2=symsum(s2,n,1,100)
---------------------------------------------------------------------
12、在区间1 10、并且要求坐标轴为正方形。请将程序与结果包括图形均粘贴到下面.
解:
figure;
subplot(121);
axis equal;
fplot('sqrt(x^2-1)+x',[1 4],'r:')
subplot(122);
fplot('sin(5*x^2+3)',[1 4],'-.g')
axis square;
---------------------------------------------------------------------
13、x,y,自己设定步长,产生三维网格X,Y,并在一个图形窗口的四个子窗口分别绘制的三维网格图,带底座的三 11、维网格图,三维曲面图和带等高线的三维曲面图。
解:
figure;
[X,Y]=meshgrid(-2:0.1:2);
Z=X.*exp(-X.^2-Y.^2);
subplot(2,2,1)
mesh(X,Y,Z) %mesh绘制三维网格图,meshz绘制带底座的三维网格图
title ‘三维网格图’
subplot(2,2,2)
meshz(X,Y,Z)
title ‘带底座的三维网格图’
subplot(2,2,3)
surf(X,Y,Z)
title ‘三维曲面’
subplot(2,2,4)
surfc(X,Y,Z)
title ‘带等高线的三维曲面’






