MATLAB实验功课答案

MATLAB实验作业答案

1.编程求5阶魔方矩阵大于5的元素的平方和。

编写magic5.m文件:

a=magic(5)

b=a>5;

a(b)=a(b).^2;

a

a(a<=5)=0;

a=((a*ones(5,1))')*ones(5,1)

运行结果:

a =

 

    17   24     1     8   15

    23    5     7    14   16

     4    6    13    20   22

    10   12    19    21    3

    11   18    25     2    9

 

a =

 

   289  576     1    64  225

   529    5    49   196  256

     4   36   169   400  484

   100  144   361   441    3

   121  324   625     2   81

 

a =

        5470

2. 已知  MATLAB实验功课答案

1       编写M函数文件,n为任意给定的整数,求y的值。

2       y0.8224时,求n的值。

(1):编写fn.m文件:

sum=0;i=1;

n=input('输入一个数:');

whilei<=n

    sum=sum+(-1)^(i+1)/i^2;

    i=i+1;

end

disp(sum);

运行结果:

输入一个数:3

0.8611

输入一个数:4

   0.7986

 

输入一个数:6

   0.8108

(2).编写fn2.m文件:

y=0;d=0;c=1;i=1;

while c

    y =y+(-1)^(i+1)/i^2;

    if y>=0.8224

    d=d+1;

    else

    d=0;

    end

    if d==2

        c=0;

    end

    i=i+1;

end

n=i-2

运行结果:

n =

 

    85

3.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们的和。

编写sumnember.m文件:

sum = 0;

m=0;

t=input('输入一个数:');

while(t~=0)

    sum=sum+t;

    m=m+1;

   t=input('输入一个数:');

end

if(m>0)

    sum

    average=sum/m

end

运行结果:

输入一个数:1

输入一个数:2

输入一个数:3

输入一个数:4

输入一个数:5

输入一个数:6

输入一个数:7

输入一个数:8

输入一个数:9

输入一个数:0

 

sum =

    45

average =

     5

4.通过键盘输入百分制成绩,输出成绩的等级,程序中90-100分为字符A表示,80-89分为字符B表示,70-79分为字符C表示,60-69分为字符D表示,60分以下为字符E表示

编写score.m文件:

m=input('请输入一个数值');

m=ceil(m/10);

switch m

    case{10,9}

        disp('A');

    case 8

        disp('B');

    case 7

        disp('C');

    case 6

        disp('D');

    case {5,4,3,2,1,0}

        disp('E');

    otherwise

        disp('输入有误')

end

运行结果:

请输入一个数值34

E

请输入一个数值89

A

请输入一个数值324

输入有误

5.将图形窗口分成两格,分别绘制正割和余割函数曲线,并加上适当的标注。

编写plot1.m文件:

x=-pi:pi/100:pi;

 y1=sec(x+eps);

 y2=csc(x+eps);

 subplot(2,1,1)

 plot(x,y1,'r');

 title('正割函数图像');

 subplot(2,1,2);

 plot(x,y2,'b');

 title('余割函数图像')

运行结果:

MATLAB实验功课答案

6. 设有函数y=ex+5+x3,在半对数坐标系中绘制出曲线(x[110])

编写plot2.m文件:

x=1:0.5:10;

y=exp(x+5)+x.^3;

semilogx(x,y)

title('y=exp(x+5)+x.^3')

运行结果:

MATLAB实验功课答案

7. 将图形窗口分成两个窗格分别绘制出以下函数在[-33]区间上的曲线:

    • yl=2x+5

    • y2=x2-3x+1

      编写plot3.m文件:

      x=-3:0.1:3;

      y1=2*x+5;

      y2=x.^2-3*x+1;

      subplot(2,1,1);

      plot(x,y1,'r');

      title('y1=2x+5');

      subplot(2,1,2);

      plot(x,y2,'b');

      title('y2=x*x-3x+1');

      运行结果:

      MATLAB实验功课答案