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: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*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,转置矩阵b构成矩阵d,计算a*b、c<d  ,c&d,  c|d ,~c|~d
解:命令为:
a=[-1,0,-6,8;-9,4,0,;0,0,,-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
---------------------------------------------------------------------
5、求
解:命令文件为
sum=0;
s=1;
for n=1:20
    s=n*s;
    sum=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
---------------------------------------------------------------------
7、计算下列分段函数的值:
解:命令文件为
x=input('输入x的值:')
if x<=5
    f=0;
elseif x>5&x<=10
    f=(x-3)/;
else
    f=2*x;
end
f   
---------------------------------------------------------------------
8、有一鸡和兔子,加在一起头的数量是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
---------------------------------------------------------------------
9、(1) 化简表达式
(2)对表达式进行因式分解。
解:命令文件为
syms x
f1=cos(2*x)+(sin(x))^2
f2=x^4-x^2-6
t1=simple(f1)
t2=factor(f2)
---------------------------------------------------------------------
10、求下列极限值(1) 
(2)
matlab考试题库及答案解:命令文件为
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)
---------------------------------------------------------------------
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<x<4,同一窗口的两个子窗口内分别绘制函数曲线,第一个子窗口的采用红点线,并且要求坐标轴采用等刻度,第二个子窗口绿点化线,并且要求坐标轴为正方形。请将程序与结果包括图形均粘贴到下面.
解:
figure;
subplot(121);
axis equal;
fplot('sqrt(x^2-1)+x',[1 4],'r:')
subplot(122);
fplot('sin(5*x^2+3)',[1 4],'')
axis square;
-
--------------------------------------------------------------------
13、x,y,自己设定步长,产生三维网格XY,并在一个图形窗口的四个子窗口分别绘制的三维网格图,带底座的三维网格图,三维曲面图和带等高线的三维曲面图。
解:
figure;
[X,Y]=meshgrid(-2::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 ‘带等高线的三维曲面’