1、求以下变量的值,并在MATLAB中验证。
( 1 ) a = 1 : 2 : 5
    a =
      1    3    5
( 2 ) b = [ a' , a' , a' a ]
      b =
      1    1    1
          3    3    3
          5    5    5
          1    3    5
( 3 ) c = a + b ( 2 , : )
      c =
          4    6    8
2、下列运算是否合法,为什么?如合法,结果是多少?                    
>> result2=a*b                                                       
Error using  *                                                         
Inner matrix dimensions must agree.
>> result3=a+b
result3 =
        3    6    2
        5    8    11
>> result4=b*d
result4 =
    31    22    22
    40    49    13
>> result5=[b;c']*d
result5 =
    31    22    22
    40    49    13
    -5    -8    7
>> result6=a.*b
result6 =
    2    8    -3
    4    15    30
>> result7=a./b
result7 =
    0.5000    0.5000  -3.0000
    4.0000    1.6667    1.2000
>> result8=a.c
Attempt to reference field of non-structure array.
>> result9=a.\b
result9 =
    2.0000    2.0000  -0.3333
    0.2500    0.6000    0.8333
>> result10=a.^2
result10 =
    1    4    9
    16    25    36
>> result11=2.^a
result11 =
    2    4    8
16    32    64
3、用MATLAB求解下面的的方程组。
(1)
>> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13]
>> B=[4 7 -1 0]
>> B=B'
>> x=inv(A)*B
(2)
>> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6]
>> B2=[1;8;3;5]
>> x2=inv(A1)*B2
4、已知
(1)求矩阵A的秩(rank)
(2)求矩阵A的行列式(determinant)
(3)求矩阵A的逆(inverse)
(4)求矩阵A的特征值及特征向量(eigenvalue and eigenvector)
>> A3=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13]
>> r=rank(A3)
>> b=inv(A3)
>> a=det(A3)
>> [V,D]=eig(A3)
5,y=?(运行format  long  g命令后,查看y的值)
m1=0;
for m=-10:10
m1=m1+2^m;
end
m1
m1 =
    2047.9990234375
6、求分段函数的值。
if语句实现,算出下列表中x对应的y值。
x=input('enter x=');
if x<0
  y=x^2+x-6;
elseif x>=0&&x<5
  y=x^2-5*x+6;
else
  y=x^2-x-1;
end
y
7、分别用ifswitch语句实现,将百分制成绩转换为成绩等级ABCDE。其中90~100分为A80~89分为B70~79分为C60~69分为D60分以下为E。对超出百分制范围的成绩,给出错误提示信息。
if结构程序:
x=input('please enter score=');
if x>=90&&x<=100
    disp('A')
elseif x<90&&x>=80
    disp('B')
elseif x<80&&x>=70
    disp('C')
elseif x<70&&x>=60
    disp('D')
elseif x<60&&x>=0
    disp('E')
else
    disp('error')
end
switch结构程序:
x=input('please enter score=');
switch fix(x/10)
    case{10,9}
    if x>100
        disp('error')
    else
        disp('A')
    end
    case{8}
    disp('B')
    case{7}
    disp('C')
    case{6}
    disp('D')
    case{0,1,2,3,4,5}
    disp('E')
    otherwise
    disp('error')
end
8、思考题
设计程序,完成成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。
matlab考试题库及答案x=input('请输入运算符')
a=num2str(floor(rand(1)*90+10));
a
b=num2str(floor(rand(1)*90+10));
b
if x=='+'
    y=a+b;
elseif x=='-'
    y=a-b;
elseif x=='*'
    y=a*b;
elseif x=='/'
    y=a/b;
else
  disp('error')
end
y
9、启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。
注:数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1
n=input('请输入n:');
a=n;
while n>1
    if rem(n,2)==0
        n=n/2;
    else
        n=3*n+1;
    end
    a=[a,n];
end
a
10、根据,当n分别取100100010000时,求x的值分别是多少?
a=input('请输入数值')
n=0;
for m=1:100
    n=n+1/(m*m);
end
n=6*n;
x=sqrt(n);
x
11、编程求满足的最小m值。
sum=0;
m=2;
a=1;
while a
    for i=1:m
        sum=sum+2^i;
        if sum>10000
            a=0;
        end
  end
    m=m+1;
end
m
12、思考题
已知yt的函数关系:求下面表格中与t对应的y
t
0.2
0.4
0.6
0.8
1.0
y
t=input('请输入t值:')
sum=0;
for i=1:20
    b=factorial(i);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。