搜档网
当前位置:搜档网 › matlab第三章答案

matlab第三章答案

matlab第三章答案
matlab第三章答案

第 1 题: 从键盘输入一个3位数,将它反向输出。如输入639 输出936、

n1=fix(n/100); n2=rem(fix(n/10),10);

n3=rem(n,10); m=n3*100+n2*10+n1;

disp(m)

请输入一个三位数:489

984

第2题:

输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为

B、70~79 分为

C、60~69 分为D,60 分以下为E。要求:(1) 分别用if 语句与switch 语句实现。

(2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出错信息。

If 语句:

>> s=input(' 请输入成绩分数:');

if s>=90&s<=100

disp('A');

elseif s>=80&s<=89

disp('B');

elseif s>=70&s<=79

disp('C');

elseif s>=60&s<=69

disp('D');

elseif s>=0&s<60

disp('E');

else disp('false');

end

请输入成绩分数:89

B

Switch 语句:

>> s=input(' 请输入成绩分数:');

switch fix(s/10)

case {9,10}

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('false');

end

请输入成绩分数:88

B

第3题

输入20个数,求其中最大数与最小数。要求分别用循环结构与调用MATLAB的max函数、min 函数来实现。

1循序结构

A=[1 2 3 4 5 6 7 23 32 12 53 1 23 53 5 235 31 8888 33 3 21]; %还可用A=input('ENTER A:'); min=A(1);

max=A(1);

for i=1:19

if A(i+1)>max max=A(i+1);

end

if A(i+1)

min=A(i+1);

end

end

max

min

结果:

max =

8888

min =

1

2调用matlab 函数

funtion f=max(A)

f=A(1);

for i=1:20;

m=A(i); %还可用A=input('ENTER A:');

if m>f;

f=m;

end

end

end

funtion f=min(A)

f=A(1);

for i=1:20; %还可用A=input('ENTER A:');

m=A(i);

if m

f=m;

end

end

end

A=i nput('ENTER A:');

a=max(A);

b=mi n( A);

a

b

第4题

0.3a 0.3a

e e 0.3 a

y= -------------- sin (a 0.3) ln -------- ,当 a 取-3、0、-2、9、-2、8、、2、8、2、9、3、0

2 2

时,求各点的函数值。要求分别用顺序结构与循环结构实现。

顺序结构

a=-3、0:0、1:3、0;

y=(exp(0、3*a)-exp(-0、3*a))/2、*sin(a+0、3)+log((0、3+a)/2);

y

循环结构

a=-3、0;

while a<=3、0

y=(exp(0、3*a)-exp(-0、3*a))/2、*sin(a+0、3)+log((0、3+a)/2)

a=a+0、1;

end

y

第5题

当n分别取100、1000、10000时,求下列各式的值:

(1)

循环结构:

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

sum=0;

for i=1: n

sum=sum+1/(i*i);

end

sum

向量运算

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

a=1:1: n;

b=1:1: n;

y=sum(1、/(a、*b));

y

(2)循环结构

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

s=1;

for i=1: n

s=s*(i+1)*(i+1)/(i*(i+2));

end

s

向量运算

n=input(' 请输入一个数:'); a=2:2:2*n;

b=1:2:(2*n-1);

c=3:2:(2*n+1);

e=(a、*a)、/(b 、*c);

y=e、*e;

y

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

y=1;

a=2:2:2*n;

b=1:2:(2*n-1);

c=3:2:(2*n+1);

y=prod((a 、*a)、/(b 、*c));

y

第6题

建立5x6矩阵,要求输出矩阵第n行元素。当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。

A=[1,2,3,4,5,6;2,3,4,5,6,7;3,4,5,6,7,8;4,5,6,7,8,9;5,6,7,8,9,0];

n=input(' 需要输出矩阵的行数:');

if n>0 & n<6

disp(A(n,:));

else

disp(A(5,:));disp('false!');

end

第7题

(1)

function f=factor(n)

f=n+10*log( n^2+5);

end

y=factor(40)/(factor(30)+factor(20));

(2)

function f=factor1(n)

a=1:1:n;

b=2:1:(n+1);

f=sum(a、*b);

end

y=factor1(40)/(factor1(30)+factor1(20));

思考题

2(1)2、*N (2)1/2、*N(3)1 、/N(4)1、/(N、*N)

4、( 1 )循环结构

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

y=0;

for i=1:n

y=y+(-i)F-i)/(2*i-i);

end

y

向量运算

n=input(' 请输入一个数:'); a=1:4:(4*n-3);

b=-3:-4:-(4*n-1);

y=sum(1 、/a+1 、/b);

y

4(2)

循环结构:

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

for i=1:n

y=y+1/(4A i);

end

y

向量运算:

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

y=sum(1 、/(4、Aa));

y

相关主题