当前位置:
文档之家› 中南大学matlab课后习题
中南大学matlab课后习题
一行元素,并给出出错信息。
clear
a=rand(5,6);
n=input('请输入一个数:');
if
n>5
n=5
a(n,:) disp('输入超出范围'); else a(n,:) end 请输入一个数:4 ans =
请输入一个数:7 n=
5
ans =
输入超出范围 7.已知 (1)当 f(n)=n+10ln(n^2+5)时,y 的值是多少。 function a=n2a(n) a=n+10*log(n*n+5) y=n2a(40)/(n2a(30)+n2a(20)) a=
数来实现。
a=input('请输入二十个数');
%用循环结构实现
max=a(1);
min=a(1);
for i=1:20; if max<a(i); max=a(i); end if min>a(i); min=a(i); end
end max min 请输入二十个数[ 3 4 6 5 3 44 5 5 5 6 6 5 5 4 3 32 2 2 2 6]
case{9,10}
m='A';
case{8}
m='B';
case{7}
m='C';
case{6}
m='D';
casenum2cell(0:5)
m='E';
otherwise
m='输入出错';
end
disp(m);
请输入一个百分制分数:98
A
3.输入 20 个数,求其中最大数和最小数。要求分别用循环结构和调用 MATLAB 的 max 函数、min 函
3.已知 a,完成下列操作。 a=[23,10,,0;41,-45,65,5;32,5,0,32;6,,54,]; (1) 输出 a 在[10,25]范围内的全部元素。 k=find(a>10&a<25)
a(k)
k= 1
ans = 23
(2)取出 a 前 3 行构成矩阵 b,前两列构成矩阵 c,右下角 3*2 子矩阵构成矩阵 d,b 与 c 的乘积构 成矩阵 e。 b=a(1:3,:)
Tp = 178868/21
P 矩阵性能更好,因为 Tp 更接近 1. 5.已知 A,求 A 的特征值及特征向量,并分析其数学意义。 A=[-29,6,18;20,5,12;8,5]
A=
-29
6
18
20
5
12
-8
8
5
[V,D]=eig(A,'nobalance')
V= 1
361/1013
493/1574
5.当 n 分别取 100、1000、10000 时,求下列各式的值: (1) clear
n=input('输入一个数:'); a=0; for i=1:n
a=a+1/(i^2); end disp(a); j=1:n; b=sum(1./(j.^2)); 输入一个数:34
b=
%用循环结构实现 %用 sum 函数实现
b*a
ans = -11 0 -15 7 228 53 3 -1 28
(3)a/b
ans =
b\a
ans =
(4)[a,b]
ans = -1 5 -4 8 0782 3 61 7 -3
[a([1,3],:);b^2]
3 -1 53 20
ans = -1 5 -4 3 61 7 73 37 1 17 37 13 -20 1 9
+ y=
+ y=
+ y=
+ y=
+ y=
+
y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y= y= y= y= y= y= y= y= y= y= y=
y= y= y= y= y= y= y= y= y= y= y= y= y=
y= y= y= y= y= y= y= y= y= y=
23 -10
12 37 26 -15 73 7 a^2-b+eye(3)
ans = -18 -217 17 22 533 109 21 867 526
(2)a*b
ans = 14 14 16 -10 51 21 125 328 180
a.*b
ans = -8 15 4 0 35 24 -9 122 0
a=
a=
y=
(2)当 f(n)=1*2+2*3+3*4+ +n*(n+1)时,y 的值是多少。 function b=n1b(n) b=0; for i=1:n b=b+i*(i+1); end y=n1b(40)/(n1b(30)+n1b(20)) y=
第四章 1.绘制下列曲线。 (1)y=x-
(2)z=5,|x| 5,|y| [x,y]=meshgrid(-5:5); z=zeros(11)+5; mesh(x,y,z); shading interp;
5.要求应用插值着色处理。
5.播放一个直径不断变化的球体。 [x,y,z]=sphere(20); surf(x,y,z); axis off; shading interp; m=moviein(20); for i=1:20 axis([-i,i,-i,i,-i,i]) m(:,i)=getframe; end movie(m,4);
第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+*10^-6)
w=
(2)a=;b=5;c=; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a); x
x=
(3)a=;b=; y=2*pi*a^2*[(1-pi/4)*b-4)*a]; y
y=
1/3 1/4 1/5 1/6 1/7
1/4 1/5 1/6 1/7 1/8
1/5 1/6 1/7 1/8 1/9
P=
1
1
1
1
1
1
2
3
4
5
1
3
6
10
15
1
4
10
20
35
1
5
15
35
70
Hh=det(H)
Hh = 1/0000
Hp=det(P)
Hp = 1
Th=cond(H)
Th = 476607
Tp=cond(P)
第五章 1, 利用 matlab 提供的 randn 函数生成符合正态分布的 10*5 随机矩阵 A,进行以下操作: (1) A 各列元素的均值和标准方差。 (2) A 的最大元素和最小元素。 (3) 求 A 每行元素的和以及全部元素的和。 (4) 分别对 A 的每列元素按升序,每行元素按降序排列。
b= 0
0 c=a(:,1:2) c=
d=a(2:4,3:4) d=
0 e=b*c e=
+003 *
(3)分别求表达式额 e<d,e&d,e|d 和~e|~d 的值。 e<d ans =
01 00 01 e&d
ans = 11 01 11
e|d
ans = 11 11 11
~e|~d
ans = 00 10 00
,-
t=-pi/3:pi/50:pi/3; r=5.*((sin(t)).^2)./cos(t);
polar(t,r);
4.绘制下列三维图形。
(1)
,0
.
t=0:pi/50:2*pi; x=exp(-t./20).*cos(t); y=exp(-t./20).*sin(t); z=t; plot3(x,y,z); grid on;
max =
44
min =
2
4.
,当 a 取、、、…、、、时,求各点的函数值。要求分别
用顺序结构和循环结构实现。
clear
for a=::
%用循环结构实现
y=((exp*a)-exp*a))/2)*sin(a++log(+a)/2)
end
y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
+ y=
(1)分别用 if 语句和 switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
c=input('请输入一个百分制分数:');
if c>=90&c<=100
%用 if 语句实现
disp('A');
elseif c>=80&c<90
disp('B');
elseif c>=70&c<80
m2=rem(fix(m/10),10);
m3=rem(m,10);
m=m1+m2*10+m3*100;
disp(m);
请输入一个三位数:453