MATLAB程序设计与应用第二版课后题答案2(最新整理)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

-0.6863 0.5621 0.4615
-0.0937 -0.6976 0.7103
D=
-0.0166
0
0
0 1.4801
0
0
0 2.5365
第四章
1.a=input('请输入一个 4 位数:');
while (a<1000|a>9999)
a=input('输入错误,请重新输入一个4位数:');
end
9
function f=factor(n,m); y=0; for k=1:n
y=y+k^m; end
10.(1)S=108 (2)x=4 12 20
y=2 4 6
1. (1) x=-10:0.1:10; y=100./(1+x.^2); plot(x,y)
第五章
(2) x=-10:0.1:10; y=1/(2*pi)*exp(-x.^2/2); plot(x,y)
第二章 3.设矩阵 A 为 A=[24 23 9 21 6;65 74 24 11 21;34 5 98 75 21;8 42 42 53 121;43 21 45 64 21]; (1) B=A(2:5,1:2:5)
B=
65 24 21 34 98 21 8 42 121 43 45 21 (2)A(7)=[] A= 24 65 34 8 43 23 5 42 21 9 24 98 42 45 21 11 75 53 64 6 21 21 121 21 (3)A+30 (4)size(A);ndims(A) (5)题目有误 (6)reshape(x,3,4) (7)abs(x) (8)char(x) 4. L1 = 000010000 L2 =
sum1=0; for n=1:1000 x=(1/4)^n; sum1=sum1+x; end disp(['当n取1000时: sum=',num2str(sum1)]) 当n取1000时: sum=0.33333
sum1=0; for n=1:10000 x=(1/4)^n; sum1=sum1+x; end disp(['当n取10000时: sum=',num2str(sum1)]) 当n取1000时: sum=0.33333 (4) sum1=0; for n=1:100 x=[(2*n)*(2*n)]/[(2*n-1)*(2*n+1)]; sum1=sum1+x; end disp(['当n取100时: sum=',num2str(sum1)]) 当n取100时: sum=100.4975
C=
23.0000 10.0000
41.0000 -45.0000
32.0000 5.0000
6.0000 -9.5400
D=
65.0000 5.0000
0 32.0000 54.0000 3.1400 E= 1.0e+003 * 0.9141 -0.2239 1.2080 2.7123 1.1330 -0.2103 (2)E<D ans =
0011000 isfinite(A) ans =
1000111 7. A(1).x1=’学号’;A(1).x2=’姓名’;A(1).x3=’专业’;A(1).x4.x41=’成绩 1’;………. A(2).x1=’学号’;A(2).x2=’姓名’;A(2).x3=’专业’;A(2).x4.x41=’成绩 1’;………. A(3).x1=’学号’;A(3).x2=’姓名’;A(3).x3=’专业’;A(3).x4.x41=’成绩 1’;………. A(4).x1=’学号’;A(4).x2=’姓名’;A(4).x3=’专业’;A(4).x4.x41=’成绩 1’;………. A(5).x1=’学号’;A(5).x2=’姓名’;A(5).x3=’专业’;A(5).x4.x41=’成绩 1’;………. 8. (1) size(B) ans =
请输入20个数:[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20] min:1 max:20
5.s=0; x=0; for n=1:64 c=2^x; x=x+1; s=s+c; end disp(['2的0次方到63次方的和是:',num2str(s)])
3.
B=inv(A) ;A 的逆矩阵
C=det(A) ;A 的行列式的值
D=A*B
E=B*A
D=E 因此 A 与 A-1 是互逆的。
4.
A=[4 2 -1;3 -1 2;12 3 0];
b=[2;10;8];
x=inv(A)*b
x=
-6.0000
26.6667
27.3333
5.
(1)
diag(A)
trace(A)
;迹
ans =
16
(2)略
6.
A=[1 1 0.5;1 1 0.25;0.5 0.25 2]
A=
1.0000 1.0000 0.5000
1.0000 1.0000 0.2500
0.5000 0.2500 2.0000
[V,D]=eig(A)
V=
0.7212 0.4443 0.5315
sum1=0; for n=1:1000 x=[(2*n)*(2*n)]/[(2*n-1)*(2*n+1)]; sum1=sum1+x; end disp(['当n取1000时: sum=',num2str(sum1)]) 当n取1000时: sum=1000.4998
sum1=0;
for n=1:10000 x=[(2*n)*(2*n)]/[(2*n-1)*(2*n+1)]; sum1=sum1+x; end disp(['当n取10000时: sum=',num2str(sum1)]) 当n取10000时: sum=10000.5 7, function f=factor(n); f(1)=1;f(2)=1; for k=3:n f(k)=f(k-1)+f(k-2); end
22 ndims(B) ans =
2 (2) B(2) ans =
[3x3 double B(4) ans =
{3x3 cell} (3) B(3)=[] B=
[1] [3x3 double] {3x3 cell} B{3}=[] B=
[1] [3x3 double] [] 第三章
1. (1)A=eye(3) (2) A=100+100*rand(5,6) (3)A=1+sqrt(0.2)*randn(10,50) (4)B=ones(size(A)) (5)A+30*eye(size(A)) (6)B=diag(diag(A)) 2. B=rot90(A) C=rot90(A,-1)
b=fix(a/1000);
c=rem(fix(a/100),10);
d=rem(fix(a/10),10);
e=rem(a,10);
b=b+7;
c=c+7;
d=d+7;
e=e+7;

b=rem(b,10);
c=rem(c,10);
d=rem(c,10);
e=rem(e,10);
g=b;b=d;d=g;
2的0次方到63次方的和是:18446744073709552000
6,(1)sum1=0; for n=1:100
x=(-1)^(n+1)*(1/n); sum1=sum1+x; end disp(['当n取100时: sum=',num2str(sum1)]) 当n取100时: sum=0.68817
(3) ezplot('x^2+y^2=1')
(4) t=-10:0.1:10; x=t.^2; y=5*t.^3; plot(x,y)
2. (1) theta=0:0.01:2*pi; rho=5*cos(theta)+4; polar(theta,rho)
(2) theta=0.001:0.1:2*pi; rho=12./sqrt(theta); polar(theta,rho)
01 00 01 E&D ans = 11 01 11 E|D ans = 11 11 11 ~D|~E ans = 00 10 00 find(A>=10&A<25) ans = 1 5 6. all(A) ans = 0 any(A) ans = 1 isnan(A) ans =
0100000 isinf(A) ans =
;主对角线元素
ans =
1
1
5
9
triu(A)
;上三角阵
ans =
1 -1 2 3
0 1 -4 2
0052
0009
tril(A)
;下三角阵
ans =
1000
5100
3050
11 15 0 9
rank(A)
;秩
ans =
4
norm(A)
;范数
ans =
21.3005
cond(A)
;条件数
ans =
11.1739
sum1=0; for n=1:2:10000 x=(-1)^(n+1)*(1/(n+1)); sum1=sum1+x; end
disp(['当n取10000时: sum=',num2str(sum1)]) 当n取10000时: sum=4.5473 (3) sum1=0; for n=1:100 x=(1/4)^n; sum1=sum1+x; end disp(['当n取100时: sum=',num2str(sum1)]) 当n取100时: sum=0.33333
运行结果: f=factor(10) f=1 1 2 3 5 8 13 21 34 55
8. function [f1,f2]=factor(a,b);
f1=a*b; f2=a.*b;
运行结果: [f1,f2]=factor([1,2;1 2],[1 3;1 3])
f1 =
39 39
f2 =
16 16
sum2=0; for n=1:1000 x=(-1)^(n+1)*(1/n); sum2=sum2+x; end disp(['当n取1000时: sum=',num2str(sum2)]) 当n取1000时: sum=0.69265
sum3=0; for n=1:10000 x=(-1)^(n+1)*(1/n); sum3=sum3+x; end disp(['当n取10000时:sum=',num2str(sum3)]) 当n取10000时:sum=0.6931
(2) sum1=0; for n=1:2:100 x=(-1)^(n+1)*(1/(n+1)); sum1=sum1+x; end disp(['当n取100时: sum=',num2str(sum1)]) 当n取100时: sum=2.2496
sum1=0; for n=1:2:1000 x=(-1)^(n+1)*(1/(n+1)); sum1=sum1+x; end disp(['当n取1000时: sum=',num2str(sum1)]) 当n取1000时: sum=3.3964
g=c;c=e;e=g;
a=1000*d+100*e+10*b+c;
disp(['加密后:',num2str(a)])
2.a=input('请输入a: ');
b=input('请输入b: ');
c=input('请输入c: ');
x=0.5:1:5.5;
x1=(x>=0.5&x<1.5);
x2=(x>=1.5&x<3.5); x3=(x>=3.5&x<=5.5); y1=a.*(x.^2)+b.*x+c; y2=a*(sin(b)^c)+x; y3=log(abs(b+c./x)); y=y1.*x1+y1.*x2+y3.*x3; disp(y) 3.x=fix(rand(1,20)*89)+10; x1=fix(sum(x)/20); disp(['平均数是:',num2str(x1)]) m=(rem(x,2)==0&x<x1); n=find(m); disp(['小于平均数的数是:',num2str(x(n))]); 4.A=input('请输入20个数:'); n=A; a=n; b=n; for n=A if a>=n a=n; elseif b<=n b=n; end end disp(['min:',num2str(a)]) disp(['max:',num2str(b)])
111110000
L3 =
000111000
L4 =
456
5.(1)B=A(1:3,:)
C=A(:,1:2)
D=A(2:4,3:4)
E=B*C
B=
23.0000 10.0000 -0.7780
0
41.0000 -45.0000 65.0000 5.0000
32.0000 5.0000
0 32.0000
相关文档
最新文档