MATLAB程序设计和应用第二版课后题和实验答案解析全_刘卫国

发布于:2021-06-21 12:02:31

WORD 格式整理

第二章 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 34 8 43 (2)A(7)=[] A = 24 64 65 6 34 21 8 21

24 98 42 45

21 21 121 21

43 121

23 21

5

42

21

9

24

98

42

45

21

11

75

53

(3)A+30 (4)size(A);ndims(A) (5)题目有误 (6)reshape(x,3,4) (7)abs(x) (8)char(x) 4. L1 =

专业知识分享

WORD 格式整理

0 L2 =

0

0

0

1

0

0

0

0

1 L3 = 0 L4 = 4 5 0

1

1

1

1

0

0

0

0

0

1

1

1

0

0

0

6

5.(1)B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C B = 23.0000 41.0000 32.0000 C = 23.0000 41.0000 32.0000 6.0000 D = 10.0000 -45.0000 5.0000 -9.5400 10.0000 -45.0000 5.0000 -0.7780 65.0000 0 0 5.0000 32.0000

专业知识分享

WORD 格式整理

65.0000 0 54.0000 E = 1.0e+003 * 0.9141 1.2080 1.1330 (2)E<D ans = 0 0 0 E&D ans = 1 0 1 E|D ans = 1 1 1 1 1 1 1 1 0 1

5.0000 32.0000 3.1400

-0.2239 2.7123 -0.2103

专业知识分享

WORD 格式整理

1 ~D|~E ans = 0 1 0

1

0 0 0

find(A>=10&A<25) ans = 1 5 6. all(A) ans = 0 any(A) ans = 1 isnan(A) ans =

0

1 isinf(A)

0

0

0

0

0

专业知识分享

WORD 格式整理

ans = 0 isfinite(A) ans = 1 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 = 2 ndims(B) 2 0 0 0 1 1 1 0 1 1 0 0 0

专业知识分享

WORD 格式整理

ans =

2 (2) B(2) ans = [3x3 double B(4) ans = {3x3 cell} (3) B(3)=[] B = [1] 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) [3x3 double] {3x3 cell}

专业知识分享

WORD 格式整理

(4)B=ones(size(A)) (5)A+30*eye(size(A)) (6)B=diag(diag(A)) 2. B=rot90(A) C=rot90(A,-1) 3. B=inv(A) C=det(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) ;A 的逆矩阵 ;A 的行列式的值

专业知识分享

WORD 格式整理

diag(A) ans = 1 1 5 9 triu(A) ans = 1 0 0 0 tril(A) ans = 1 5 3 11 rank(A) ans = 4 norm(A) 0 1 0 15 -1 1 0 0

;主对角线元素

;上三角阵

2 -4 5 0

3 2 2 9

;下三角阵

0 0 5 0 ;秩

0 0 0 9

;范数

专业知识分享

WORD 格式整理

ans = 21.3005 cond(A) ans = 11.1739 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 [V,D]=eig(A) V = 0.7212 -0.6863 -0.0937 D = -0.0166 0 0 0.4443 0.5621 -0.6976 0.5315 0.4615 0.7103 1.0000 1.0000 0.2500 0.5000 0.2500 2.0000 ;迹 ;条件数

专业知识分享

WORD 格式整理

0 0

1.4801 0

0 2.5365 第四章

1.a=input('请输入一个 4 位数:'); while (a<1000|a>9999) a=input('输入错误,请重新输入一个4位数:'); end 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; g=c;c=e;e=g; a=1000*d+100*e+10*b+c;

专业知识分享

WORD 格式整理

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;

专业知识分享

WORD 格式整理

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)])

请输入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

专业知识分享

WORD 格式整理

disp(['2的0次方到63次方的和是:',num2str(s)])

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

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

专业知识分享

WORD 格式整理

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

专业知识分享

WORD 格式整理

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

sum1=0; for n=1:1000 x=(1/4)^n; sum1=sum1+x; end

专业知识分享

WORD 格式整理

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

sum1=0; for n=1:1000 x=[(2*n)*(2*n)]/[(2*n-1)*(2*n+1)];

专业知识分享

WORD 格式整理

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 运行结果: 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])

专业知识分享

WORD 格式整理

f1 =

3 3

9 9

f2 =

1 1

6 6

9
function f=factor(n,m); y=0; for k=1:n y=y+k^m; end

10.(1)S=108 (2)x=4 y=2 12 4 20 6 第五章 1. (1) x=-10:0.1:10;

y=100./(1+x.^2);
专业知识分享

WORD 格式整理

plot(x,y)

(2) x=-10:0.1:10; y=1/(2*pi)*exp(-x.^2/2); plot(x,y)

(3) ezplot('x^2+y^2=1')

专业知识分享

WORD 格式整理

(4) t=-10:0.1:10; x=t.^2; y=5*t.^3; plot(x,y)

2. (1)
专业知识分享

WORD 格式整理

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)

专业知识分享

WORD 格式整理

(3) theta=0.001:0.1:2*pi; rho=5./cos(theta)-7; polar(theta,rho)

(4) theta=0.001:0.1:2*pi;

专业知识分享

WORD 格式整理

rho=pi/3.*theta.^2; polar(theta,rho)

3. (1) t=0:pi/100:2*pi; x=cos(t); y=sin(t); z=t; plot3(x,y,z)

专业知识分享

WORD 格式整理

(2) u=0:pi/100:2*pi; v=0:pi/100:2*pi; x=(1+cos(u)).*cos(v); y=(1+cos(u)).*sin(v); z=sin(u); plot3(x,y,z)

专业知识分享

WORD 格式整理

(3) (4) 5. plot 函数: >> x=linspace(-10,10,200); >> y=[]; >> for x0=x if x0>0 y=[y,x0.^2+(1+x0).^(1/4)+5]; elseif x0==0 y=[y,0]; elseif x0<0 y=[y,x0.^3+sqrt(1-x0)-5]; end
专业知识分享

WORD 格式整理

end >> plot(x,y)

fplot 函数: fplot('(x<0).*(x.^3+sqrt(1-x)-5)+(x==0).*0+(x>0).*(x.^2+(1+x).^(1/4)+ 5)',[-10,10])

专业知识分享

WORD 格式整理

第六章 1. A=randn(10,5) (1)mean(A) (2)max(max(A)) (3)B=sum(A,2) (4)sort(A) ;均值 std(A) ;标准方差 min(min(A)) sum(B) ;最小元素 ;A 全部元素之和

;最大元素 ;A 每行元素的和

;A 的每列元素按升序排列 ;A 的每行元素按将序排列

sort(A,2,’descend’) 2. (1) (2)

X=[1 4 9 16 25 36 49 64 81 100]; Y=1:10;

专业知识分享

WORD 格式整理

X1=1:100; Y1=interp1(X,Y,X1,'cubic') 3. x=[165 123 150 123 141]; y=[187 126 172 125 148]; P=polyfit(x,y,3) P = 1.0e+003 * -0.0000 0.0013 -0.1779 8.4330

所以它的线性拟合曲线为:p(x)=1.3x2—177.9x+8433 4. (1)P1=[0 3 2];P2=[5 -1 2];P3=[1 0 -0.5]; P=conv(conv(P1,P2),P3) P =

0 -2.0000

15.0000

7.0000

-3.5000

0.5000

-2.0000

所以 P(x)=15x5+7x4-3.5x3+0.5x2-2x-2 (2) roots(P) ans = 0.7071

专业知识分享

WORD 格式整理

0.1000 + 0.6245i 0.1000 - 0.6245i -0.7071 -0.6667 (3) i=0:10; xi=0.2*i; polyval(P,xi) ans = -2.0000 42.1120 5. (1) 建立函数文件: function f=fxy(u) x=u(1);y=u(2); f=3.*x.^2+2*x.*y+y.^2 在命令窗口中输入以下命令: [U,fmin]=fminsearch('fxy',[1,1]) 结果: U = 1.0e-004 * -2.3920 94.1408 -2.6112 332.5264 -1.7024 560.0000 2.7104 15.0000

184.9056

专业知识分享

WORD 格式整理

-0.0675 fmin = 1.9920e-010 (2)

0.1715

f=inline('-sin(x)-cos(x.^2)'); fmax=fminbnd(f,0,pi) fmax = 0.7310 6. (1)x=[pi/6 pi/4 pi/3]; f=inline('sin(x).^2+cos(x).^2'); dx=diff(f([x,5*pi/12]))/(pi/12) dx = 0 0 0 可参见第 157 页例题 6.19

x=pi/2 时单独计算: x=pi/2; f=inline('sin(x).^2+cos(x).^2'); diff(f([x,pi]))/(pi/2) ans = 0 (2) x=1:3;

专业知识分享

WORD 格式整理

f=inline('sqrt(x.^2+1)'); dx=diff(f([x,4]))

结果: dx = 0.8219 7.(1) f=inline('sin(x).^5.*sin(5*x)'); quad(f,0,pi) ans = 0.0982 (2) f=inline('(1+x.^2)./(1+x.^4)'); quad(f,-1,1) ans = 2.2214 (3) f=inline('x.*sin(x)./(1+cos(x).^2)'); quad(f,0,pi) ans = 2.4674 (4) 0.9262 0.9608

专业知识分享

WORD 格式整理

f=inline('abs(cos(x+y))'); dblquad(f,0,pi,0,pi) ans = 6.2832 8. N=64; T=5; %采样点数 %采样时间终点 %给出 N 个采样时间 ti(i=1:N)

t=linspace(0,T,N); y=exp(-t); dt=t(2)-t(1); f=1/dt; Y=fft(y); F=Y(1:N/2+1); f=f*(0:N/2)/N; plot(f,abs(F))

%求各采样点样本值 y %采样周期 % 采样频率 %计算 y 的快速傅里叶变换 Y %F(k)=Y(k) %使频率轴 f 从 0 开始 %绘制振幅-频率图

专业知识分享

WORD 格式整理

9. (1) 矩阵求逆法: A=[2 3 5;3 7 4;1 -7 1]; b=[10;3;5]; x=inv(A)*b x = -1.8060 -0.5373 3.0448 矩阵除法法: A=[2 3 5;3 7 4;1 -7 1]; b=[10;3;5]; x=A\b x = -1.8060 -0.5373 3.0448 矩阵分解法: A=[2 3 5;3 7 4;1 -7 1]; b=[10;3;5]; [L,U]=lu(A);

专业知识分享

WORD 格式整理

x=U\(L\b) x = -1.8060 -0.5373 3.0448 (2)方法同(1) 10. 函数文件:line_solution(A,b) function [x,y]=line_solution(A,b) [m,n]=size(A); y=[]; if norm(b)>0 if rank(A)==rank([A,b]) if rank(A)==n disp('原方程组有唯一解 x'); x=A\b; else disp('原方程组有无穷个解,特解为 x,齐次方程组的基础解系为 y'); x=A\b; y=null(A,'r'); end disp('方程组无解');

专业知识分享

WORD 格式整理

x=[]; end else disp('原方程组有零解 x'); x=zeros(n,1); if rank(A)<n disp('方程组有无穷个解,基础解系为 y'); y=null(A,'r'); end end 程序: A=[2 1 -1 1;4 2 -2 1;2 1 -1 -1]; b=[1;2;1]; [x,y]=line_solution(A,b) 结果: 原方程组有无穷个解,特解为 x,齐次方程组的基础解系为 y Warning: Rank deficient, rank = 2, > In line_solution at 11 方程组无解 x = [] y = tol = 4.3512e-015.

专业知识分享

WORD 格式整理

-0.5000 1.0000 0 0 11. (1)

0.5000 0 1.0000 0

f=inline('x-sin(x)./x'); x=fzero(f,0.5) x = 0.8767

(2) f=inline('(sin(x).^2).*exp(-0.1.*x)-0.5.*abs(x)'); x=fzero(f,1.5) x =

1.6738 12. 函数文件: function f=fxy(u) x=u(1) y=u(2)

专业知识分享

WORD 格式整理

f(1)=x-0.6*sin(x)-0.3*cos(y) f(2)=y-0.6*cos(x)+0.3*sin(y) 在命令窗口输入以下命令: x=fsolve('fxy',[0.5,0.5],optimset('Display','off')) 结果: x = 0.6354 15. A=[-1 2 0;-1 2 -1;-1 2 -1;-1 2 -1;0 2 -1]; d=[-1;0;1]; B=spdiags(A,d,5,5); b=[1 0 0 0 0]'; x=(inv(B)*b)' x = 0.8333 0.6667 0.5000 0.3333 0.1667 0.3734

实验一

MATLAB 运算基础

1. 先求下列表达式的值, 然后显示 MATLAB 工作空间的使用情况 并保存全部变量。 (1) z1 ?
2sin 850 1 ? e2
1 2

(2) z2 ? ln( x ? 1 ? x 2 ) ,其中 x ? ?
专业知识分享

1 ? 2i ? ? 2 5 ? ? ?0.45 ?

WORD 格式整理

(3) z3 ?

e0.3a ? e?0.3a 0.3 ? a sin(a ? 0.3) ? ln , a ? ?3.0, ? 2.9, 2 2

, 2.9, 3.0

?t 2 0 ? t ?1 ?2 1 ? t ? 2 ,其中 t=0:0.5:2.5 (4) z4 ? ?t ? 1 ?t 2 ? 2t ? 1 2 ? t ? 3 ?

解: M 文件: z1=2*sin(85*pi/180)/(1+exp(2)) x=[2 1+2*i;-0.45 5]; z2=1/2*log(x+sqrt(1+x^2)) a=-3.0:0.1:3.0; z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3 +a)./2) t=0:0.5:2.5; z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t. ^2-2*t+1)

运算结果: z1=2*sin(85*pi/180)/(1+exp(2)) x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) a=-3.0:0.1:3.0;

专业知识分享

WORD 格式整理

z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2 ) t=0:0.5:2.5; z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t. ^2-2*t+1)

z1 =

0.2375

z2 =

0.7114 - 0.0253i 0.2139 + 0.9343i

0.8968 + 0.3658i 1.1541 - 0.0044i

z3 =
专业知识分享

WORD 格式整理

Columns 1 through 4

0.7388 + 3.1416i 0.7913 + 3.1416i

0.7696 + 3.1416i

0.7871 + 3.1416i

Columns 5 through 8

0.7822 + 3.1416i 0.6784 + 3.1416i

0.7602 + 3.1416i

0.7254 + 3.1416i

Columns 9 through 12

0.6196 + 3.1416i 0.3780 + 3.1416i

0.5496 + 3.1416i

0.4688 + 3.1416i

Columns 13 through 16

专业知识分享

WORD 格式整理

0.2775 + 3.1416i -0.0771 + 3.1416i

0.1680 + 3.1416i

0.0497 + 3.1416i

Columns 17 through 20

-0.2124 + 3.1416i -0.6752 + 3.1416i

-0.3566 + 3.1416i

-0.5104 + 3.1416i

Columns 21 through 24

-0.8536 + 3.1416i -1.5271 + 3.1416i

-1.0497 + 3.1416i

-1.2701 + 3.1416i

Columns 25 through 28

-1.8436 + 3.1416i -37.0245

-2.2727 + 3.1416i

-2.9837 + 3.1416i

专业知识分享

WORD 格式整理

Columns 29 through 32

-3.0017 -1.5978

-2.3085

-1.8971

Columns 33 through 36

-1.3575 -0.8083

-1.1531

-0.9723

Columns 37 through 40

-0.6567 -0.2561

-0.5151

-0.3819

Columns 41 through 44

-0.1374

-0.0255

0.0792

专业知识分享

WORD 格式整理

0.1766

Columns 45 through 48

0.2663 0.4841

0.3478

0.4206

Columns 49 through 52

0.5379 0.6366

0.5815

0.6145

Columns 53 through 56

0.6474 0.6119

0.6470

0.6351

Columns 57 through 60

专业知识分享

WORD 格式整理

0.5777 0.4126

0.5327

0.4774

Column 61

0.3388

z4 =

0 2.2500

0.2500

0

1.2500

1.0000

2. 已知:
?12 34 ?4 ? ?1 3 ?1? ? ? ? A ? ?34 7 87 ? , B ? ? ?2 0 3 ? ? ? ? 3 65 7 ? ? ? 3 ?2 7 ? ?

求下列表达式的值: (1) A+6*B 和 A-B+I(其中 I 为单位矩阵)
专业知识分享

WORD 格式整理

(2) A*B 和 A.*B (3) A^3 和 A.^3 (4) A/B 及 B\A (5) [A,B]和[A([1,3],:);B^2] 解: M 文件:

A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*B A-B+eye(3) A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2] 运算结果: A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*B A-B+eye(3)
专业知识分享

WORD 格式整理

A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2]

ans =

18 46 21

52 7 53

-10 105 49

ans =

12 32 0

31 8 67

-3 84 1

专业知识分享

WORD 格式整理

ans =

68 309 154

44 -72 -5

62 596 241

ans =

12 68

102 0

4 261 49

9 -130

ans =

37226 247370 78688

233824 149188 454142

48604 600766 118820

专业知识分享

WORD 格式整理

ans =

1728 39304 27

39304 343 274625

-64 658503 343

ans =

16.4000 -13.6000 35.8000 -76.2000 67.0000 -134.0000

7.6000 50.2000 68.0000

ans =

109.4000 -131.2000 322.8000 -53.0000 -61.6000 85.0000 -171.0000 89.8000 -186.2000

ans =
专业知识分享

WORD 格式整理

12 34 3

34 7 65

-4 87 7

1 2 3

3 0 -2

-1 3 7

ans =

12 3 4 11 20

34 65 5 0 -5

-4 7 1 19 40

3. 设有矩阵 A 和 B
?1 ?6 ? A ? ?11 ? ?16 ? ? 21 5 ? ?3 ? ?17 7 8 9 10 ? ? 12 13 14 15 ? , B ? ?0 ? ? 17 18 19 20 ? ?9 ? 22 23 24 25 ? ? ?4 2 3 4 16 ? ?6 9 ? ? 23 ?4 ? ? 7 0 ? 13 11 ? ? 0

(1) 求它们的乘积 C。 (2) 将矩阵 C 的右下角 3×2 子矩阵赋给 D。 (3) 查看 MATLAB 工作空间的使用情况。

专业知识分享

WORD 格式整理

解:. 运算结果: E=(reshape(1:1:25,5,5))';F=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]; C= E*F H=C(3:5,2:3)

C =

93 258 423 588 753

150 335 520 705 890

77 237 397 557 717

H =

520 705 890

397 557 717

4. 完成下列操作:
专业知识分享

WORD 格式整理

(1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果: m=100:999; n=find(mod(m,21)==0); length(n)

ans =

43

(2). 建立一个字符串向量 例如:

ch='ABC123d4e56Fg9';则要求结果是: ch='ABC123d4e56Fg9'; k=find(ch>='A'&ch<='Z'); ch(k)=[]

ch =

123d4e56g9
专业知识分享

WORD 格式整理

实验二 MATLAB 矩阵分析与处理
1. 设有分块矩阵 A ? ?

? E3?3 ?O2?3

R3?2 ? ,其中 E、R、O、S 分别为单位矩阵、随机矩阵、零矩阵 S2?2 ? ?
? E R ? RS ? 。 S2 ? ?O ?

和对角阵,试通过数值计算验证 A2 ? ? 解: M文件如下;

输出结果:

S =

1 0

0 2

专业知识分享

WORD 格式整理

A =

1.0000 0 0 0 0

0 1.0000 0 0 0

0 0 1.0000 0 0

0.5383 0.9961 0.0782 1.0000 0

0.4427 0.1067 0.9619 0 2.0000

a =

1.0000 0 0 0 0

0 1.0000 0 0 0

0 0 1.0000 0 0

1.0767 1.9923 0.1564 1.0000 0

1.3280 0.3200 2.8857 0 4.0000

ans =

0

0

0

0

0

专业知识分享

WORD 格式整理

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

? E R ? RS ? 由ans,所以 A2 ? ? S2 ? ?O ?
2. 产生 5 阶希尔伯特矩阵 H 和 5 阶帕斯卡矩阵 P,且求其行列式的值 Hh 和 Hp 以及它们的 条件数 Th 和 Tp,判断哪个矩阵性能更好。为什么? 解:M 文件如下:

输出结果: H = 1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111

P = 1 1 1 2 1 3 1 4 1 5

专业知识分享

WORD 格式整理

1 1 1

3 4 5

6 10 15

10 20 35

15 35 70

Hh = 3.7493e-012

Hp = 1

Th = 4.7661e+005

Tp = 8.5175e+003 因为它们的条件数 Th>>Tp,所以 pascal 矩阵性能更好。 3. 建立一个 5×5 矩阵,求它的行列式值、迹、秩和范数。 解: M 文件如下:

输出结果为:
专业知识分享

WORD 格式整理

A = 17 23 4 10 11 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9

d = 5070000

t = 65

c1 = 6.8500

c2 = 5.4618

cinf = 6.8500

4. 已知

? ?29 6 18? ? A?? ? 20 5 12 ? ? ? ?8 8 5 ? ?
求 A 的特征值及特征向量,并分析其数学意义。
专业知识分享

WORD 格式整理

解:

M 文件如图:

输出结果为: V = 0.7130 -0.6084 0.3487 0.2803 -0.7867 0.5501 0.2733 0.8725 0.4050

D = -25.3169 0 0 -10.5182 0 0 0 0 16.8351

数学意义:V 的 3 个列向量是 A 的特征向量,D 的主对角线上 3 个是 A 的特征值,特别的,V 的 3 个列向量分别是 D 的 3 个特征值的特征向量。 5. 下面是一个线性方程组:

?1 ?2 ? ?1 ?3 ? ?1 ?4 ?
(1) 求方程的解。

1 3 1 4 1 5

1? 4 ? ? x ? ? 0.95 ? ? 1 1? ? ? ? x2 ? ? ? 0.67 ? ? ? ? 5 ? ? ? x 0.52 ?? ? 1? ? 3? ? 6? ?

专业知识分享

WORD 格式整理

(2) 将方程右边向量元素 b3 改为 0.53 再求解,并比较 b3 的变化和解的相对变化。 (3) 计算系数矩阵 A 的条件数并分析结论。 解: M 文件如下:

输出结果: X = 1.2000 0.6000 0.6000

X2 = 1.2000 0.6000 0.6000

C = 1.3533e+003 由结果,X 和 X2 的值一样,这表示 b 的微小变化对方程解也影响较小,而 A 的条件数算得 较小,所以数值稳定性较好,A 是较好的矩阵。 6. 建立 A 矩阵,试比较 sqrtm(A)和 sqrt(A),分析它们的区别。 解:M 文件如下:
专业知识分享

WORD 格式整理

运行结果有: A = 16 20 9 b1 = 3.8891 3.2917 0.3855 b2 = 4.0000 4.4721 3.0000 b = 16.0000 20.0000 9.0000 6.0000 5.0000 8.0000 18.0000 12.0000 5.0000 2.4495 2.2361 2.8284 4.2426 3.4641 2.2361 -0.1102 2.1436 2.0760 3.2103 0.3698 1.7305 6 5 8 18 12 5

分析结果知:sqrtm(A)是类似 A 的数值*方根(这可由 b1*b1=A 的结果看出) ,而 sqrt(A) 则是对 A 中的每个元素开根号,两则区别就在于此。

专业知识分享

WORD 格式整理

实验三 选择结构程序设计
一、实验目的 1. 掌握建立和执行 M 文件的方法。 2. 掌握利用 if 语句实现选择结构的方法。 3. 掌握利用 switch 语句实现多分支选择结构的方法。 4. 掌握 try 语句的使用。 二、实验内容 1. 求分段函数的值。

? x 2 ? x ? 6 x ? 0且x ? ?3 ? y ? ? x 2 ? 5 x ? 6 0 ? x ? 5且x ? 2及x ? 3 ? x 2 ? x ? 1 其他 ?
用 if 语句实现,分别输出 x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0 时的 y 值。 解:M 文件如下:

运算结果有:

专业知识分享

WORD 格式整理

f(-5) y = 14 >> f(-3) y = 11 >> f(1) y = 2 >> f(2) y = 1 >> f(2.5) y = -0.2500 >> f(3) y = 5 >> f(5) y = 19

2. 输入一个百分制成绩,要求输出成绩等级 A、B、C、D、E。其中 90 分~100 分为 A,80
专业知识分享

WORD 格式整理

分~89 分为 B,79 分~79 分为 C,60 分~69 分为 D,60 分以下为 E。 要求: (1) 分别用 if 语句和 switch 语句实现。 (2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 解:M 文件如下

试算结果: score=88 grade = B

score=123 错误:输入的成绩不是百分制成绩
专业知识分享

WORD 格式整理

3. 硅谷公司员工的工资计算方法如下: (1) 工作时数超过 120 小时者,超过部分加发 15%。 (2) 工作时数低于 60 小时者,扣发 700 元。 (3) 其余按每小时 84 元计发。 试编程按输入的工号和该号员工的工时数,计算应发工资。 解:M 文件下

4. 设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入 一个运算符号,做相应的运算,并显示相应的结果。 解: M 文件如下;

专业知识分享

WORD 格式整理

运算结果例: a = 38

b = 33 输入一个运算符:^ c = false
专业知识分享

WORD 格式整理

a = 92

b = 40 输入一个运算符:+ c = 132 5. 建立 5×6 矩阵,要求输出矩阵第 n 行元素。当 n 值超过矩阵的行数时,自动转为输出矩 阵最后一行元素,并给出出错信息。 解: M 文件如下:

专业知识分享

WORD 格式整理

运算结果如下: 输入一个 5 行 6 列矩阵 A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7] 输入一正整数 n=4 11 2 3 9 7 3

输入一个 5 行 6 列矩阵 A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7] 输入一正整数 n=6 2 3 4 5 6 7

ans = Error using ==> disp Too many input arguments.

实验四 循环结构程序设计
一、实验目的 1. 掌握利用 for 语句实现循环结构的方法。 2. 掌握利用 while 语句实现循环结构的方法。 3. 熟悉利用向量运算来代替循环操作的方法。 二、实验内容

1. 根据

?2
6

?

1 1 1 ? ? ? 12 22 32

?

1 ,求π的*似值。当 n 分别取 100、1000、10000 n2

时,结果是多少? 要求:分别用循环结构和向量运算(使用 sum 函数)来实现。 解:M 文件如下:

专业知识分享

WORD 格式整理

运行结果如下: K>> %循环结构计算 pi 值 y=0; n=input('n='); for i=1:n y=y+1/i/i; end pi=sqrt(6*y) n=100

pi =

专业知识分享

WORD 格式整理

3.1321

n=1000 pi =

3.1406

n=10000 pi =

3.1415

%向量方法计算 Pi 值 n=input('n='); i=1./(1:n).^2; s=sum(i); pi=sqrt(6*s) n=100 pi = 3.1321

n=1000 pi = 3.1406 n=10000 pi = 3.1415

2. 根据 y ? 1 ?

1 1 ? ? 3 5

?

1 ,求: 2 n ?1

专业知识分享

WORD 格式整理

(1) y<3 时的最大 n 值。 (2) 与(1)的 n 值对应的 y 值。 解:M—文件如下:

运行结果如下: K>> y=0;n=0; while y<3 n=n+1; y=y+1/(2*n-1); end y n if y>3 n=n-1; end n y = 3.0033
专业知识分享

WORD 格式整理

n = 57

n = 56 3. 考虑以下迭代公式:

xn ?1 ?

a b ? xn

其中 a、b 为正的学数。 -5 (1) 编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|≤10 ,迭代初值 x0=1.0,迭 代次数不超过 500 次。 (2) 如果迭代过程收敛于 r, 那么 r 的准确值是

?b ? b2 ? 4a , 当(a,b)的值取(1,1)、 2

(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。 解: M 文件如下:

专业知识分享

WORD 格式整理

运算结果如下; 请输入正数 a=1 请输入正数 b=1 x = 0.6180

r = 0.6180 -4.7016

r = 0.6180 -1.6180

s =
专业知识分享

WORD 格式整理

-0.0000

-2.2361

请输入正数 a=8 请输入正数 b=3 x = 1.7016

r = 1.7016 -1.6180

r = 1.7016 -4.7016

s = 0.0 -6.4031

请输入正数 a=10 请输入正数 b=0.1 x = 3.1127

r = 3.1127 r = 3.1127 s = -0.0000 -6.3254 -3.2127 -4.7016

专业知识分享

WORD 格式整理

4. 已知

? f1 ? 1 ?f ?0 ? 2 ? ? f3 ? 1 ? ? f n ? f n ?1 ? 2 f n ? 2 ? f n ?3
求 f1~f100 中: (1) 最大值、最小值、各数之和。 (2) 正数、零、负数的个数。 解:M—文件

n ?1 n?2 n?3 n?3

以下是运算结果: max(f)=437763282635 min(f)=-899412113528 sum(f)=-742745601951 c1=49 c2=2 c3=49

专业知识分享

WORD 格式整理

5. 若两个连续自然数的乘积减 1 是素数,则称这两个边疆自然数是亲密数对,该素数 是亲密素数。 例如, 2×3-1=5, 由于 5 是素数, 所以 2 和 3 是亲密数, 5 是亲密素数。 求[2,50] 区间内: (1) 亲密数对的对数。 (2) 与上述亲密数对对应的所有亲密素数之和。 解: M 文件:

运算结果为: j = 29

s = 23615
专业知识分享

WORD 格式整理

实验五 函数文件
一、实验目的 1. 理解函数文件的概念。 2. 掌握定义和调用 MATLAB 函数的方法。 二、实验内容 1. 定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用 该函数文件。 解:M 文件如下: 函数 fushu.M 文件: function [e,l,s,c] = fushu(z) %fushu 复数的指数,对数,正弦,余弦的计算 %e %l %s %c 复数的指数函数值 复数的对数函数值 复数的正弦函数值 复数的余弦函数值

e=exp(z); l=log(z); s=sin(z); c=cos(z);

命令文件 M: z=input('请输入一个复数 z='); [a,b,c,d]=fushu(z) 运算结果如下: z=input('请输入一个复数 z='); [a,b,c,d]=fushu(z) 请输入一个复数 z=1+i

a =

专业知识分享

WORD 格式整理

1.4687 + 2.2874i

b =

0.3466 + 0.7854i

c =

1.2985 + 0.6350i

d =

0.8337 - 0.9889i

2. 一物理系统可用下列方程组来表示:

? m1 cos ? ? m sin ? ? 1 ? 0 ? ? 0

?m1 0 m2 0

? sin ? cos ? ? sin ? ? cos ?

0 ? ? a1 ? ? 0 ? ? a ? ?m g ? 0? ?? 2 ? ? ? 1 ? 0 ? ? N1 ? ? 0 ? ? ?? ? ? 1 ? ? N 2 ? ? m2 g ?

从键盘输入 m1、m2 和θ的值,求 a1、a2、N1 和 N2 的值。其中 g 取 9.8,输入θ时以角度为单 位。 要求: 定义一个求解线性方程组 AX=B 的函数文件, 然后在命令文件中调用该函数文件。 解: M 文件 函数 fc.M 文件: function X= fc(A,B) %fc fc 是求解线性方程的函数 %A A 是未知矩阵的系数矩阵 X=A\B; 命令 M 文件: clc; m1=input('输入 m1=');
专业知识分享

WORD 格式整理

m2=input('输入 m2='); theta=input('输入 theta='); x=theta*pi/180; g=9.8; A=[m1*cos(x) -m1 -sin(x) 0 m1*sin(x) 0 cos(x) 0 0 m2 -sin(x) 0 0 0 -cos(x) 1]; B=[0;m1*g;0;m2*g]; X=fc(A,B) 运算结果: 输入 m1=1 输入 m2=1 输入 theta=30 X = 7.8400 3.3948 6.7896 15.6800

3. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数。例如 13 是绝对素数。试 求所有两位绝对素数。 要求:定义一个判断素数的函数文件。 解:M 文件: 函数 prime.m 文件 function [p] = prime(p) % 输入 p 的范围,找出其中的素数 m=p(length(p)); for i=2:sqrt(m) n=find(rem(p,i)==0&p~=i); p(n)=[]; %将 p 中能被 i 整除,而却不等于 i 的元素,即下标为 n 的元素剔除,其余的即为素数 end p;

命令文件: clc; p=10:99; p=prime(p); %找出 10 到 99 内的所有素数 p=10*rem(p,10)+(p-rem(p,10))/10;
专业知识分享

WORD 格式整理

%将 p 素数矩阵每个元素个位十位调换顺序 p=prime(p) %再对对换后的素数矩阵找出所有的素数 运算结果: p = 11 31 71 13 73 17 37 97 79

4. 设 f ( x) ?

1 1 ,编写一个 MATLAB 函数文件 fx.m,使得 ? 2 ( x ? 2) ? 0.1 ( x ? 3)4 ? 0.01

调用 f(x)时,x 可用矩阵代入,得出的 f(x)为同阶矩阵。 解: 函数 fx.m 文件: function f= fx(x) %fx fx 求算 x 矩阵下的 f(x)的函数值 A=0.1+(x-2).^2; B=0.01+(x-3).^4; f=1./A+1./B;

命令文件: clc; x=input('输入矩阵 x='); f=fx(x) 运算结果: >> x=input('输入矩阵 x='); f=fx(x) 输入矩阵 x=[7 2;12 5] f = 0.0437 0.0101 10.9901 0.1724

5. 已知 y ?

f (40) f (30) ? f (20)
2

(1) 当 f(n)=n+10ln(n +5)时,求 y 的值。 (2) 当 f(n)=1×2+2×3+3×4+...+n×(n+1)时,求 y 的值。 解:(1) 函数 f.m 文件:
function f=f(x)
专业知识分享

WORD 格式整理

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

命令文件:
clc; n1=input('n1='); n2=input('n2='); n3=input('n3='); y1=f(n1); y2=f(n2); y3=f(n3); y=y1/(y2+y3)

运算结果如下: n1=40 n2=30 n3=20 y = 0.6390 (2). 函数 g.m 文件
function s= g(n) for i=1:n g(i)=i*(i+1); end s=sum(g);

命令文件:
clc; n1=input('n1='); n2=input('n2='); n3=input('n3='); y1=g(n1); y2=g(n2); y3=g(n3); y=y1/(y2+y3)

运算结果如下:
专业知识分享

WORD 格式整理

n1=40 n2=30 n3=20 y = 1.7662

实验六 高层绘图操作
一、实验目的 1. 掌握绘制二维图形的常用函数。 2. 掌握绘制三维图形的常用函数。 3. 掌握绘制图形的辅助操作。 二、实验内容 1. 设 y ? ?0.5 ?

? ?

3sin x ? cos x ,在 x=0~2π区间取 101 点,绘制函数的曲线。 1 ? x2 ? ?

解:M 文件如下:
clc; x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.^2)); plot(x,y)

运行结果有:

专业知识分享

WORD 格式整理

2. 已知 y1=x ,y2=cos(2x),y3=y1×y2,完成下列操作: (1) 在同一坐标系下用不同的颜色和线型绘制三条曲线。 (2) 以子图形式绘制三条曲线。 (3) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 解: (1) M 文件: clc; x=-pi:pi/100:pi; y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'k--') 运行结果:

2

(2)M 文件:
专业知识分享

WORD 格式整理

clc; x=-pi:pi/100:pi; y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1); plot(x,y1,'b-'); title('y1=x^2'); subplot(1,3,2); plot(x,y2,'r:'); title('y2=cos(2x)'); subplot(1,3,3); plot(x,y3,'k--'); title('y3=y1*y2');

.运行结果:

(3)M 文件:

专业知识分享

WORD 格式整理

clc; x=-pi:pi/100:pi; y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(2,2,1); plot(x,y1,'b-',x,y2,'r:',x,y3,'k--'); subplot(2,2,2); bar(x,y1,'b'); title('y1=x^2'); subplot(2,2,3); bar(x,y2,'r'); title('y2=cos(2x)'); subplot(2,2,4); bar(x,y3,'k'); title('y3=y1*y2');

由上面的 M 文件,只要依次将“bar”改为“stairs” 、 “stem” 、 “fill”,再适当更改区间取 的点数,运行程序即可, 即有下面的结果:

专业知识分享

WORD 格式整理

3. 已知

?x? ? x?0 ? 2 ? y?? e ? 1 ln( x ? 1 ? x 2 ) x ? 0 ? ?2
在-5≤x≤5 区间绘制函数曲线。 解:M 文件:
clc; x=-5:0.01:5; y=(x+sqrt(pi))/(exp(2)).*(x<=0)+0.5*log(x+sqrt(1+x.^2)).*(x>0); plot(x,y)

运行结果:

专业知识分享

WORD 格式整理

由图可看出,函数在零点不连续。 4. 绘制极坐标曲线ρ=asin(b+nθ),并分析参数 a、b、n 对曲线形状的影响。 解:M 文件如下: clc; theta=0:pi/100:2*pi; a=input('输入 a='); b=input('输入 b='); n=input('输入 n='); rho=a*sin(b+n*theta); polar(theta,rho,'m') 采用控制变量法的办法,固定两个参数,变动第三个参数观察输出图象的变化。

专业知识分享

WORD 格式整理

专业知识分享

WORD 格式整理

分析结果:由这 8 个图知道, 当 a,n 固定时,图形的形状也就固定了,b 只影响图形的旋转的角度; 当 a,b 固定时,n 只影响图形的扇形数,特别地,当 n 是奇数时,扇叶数就是 n,当是偶 数时,扇叶数则是 2n 个; 当 b,n 固定时,a 影响的是图形大小,特别地,当 a 是整数时,图形半径大小就是 a。 5. 绘制函数的曲线图和等高线。

z ? cos x cos ye

?

x2 ? y 2 4

其中 x 的 21 个值均匀分布[-5,5]范围,y 的 31 个值均匀分布在[0,10],要求使用 subplot(2,1,1)和 subplot(2,1,2)将产生的曲面图和等高线图画在同一个窗口上。 解:M 文件: clc; x=linspace(-5,5,21); y=linspace(0,10,31); [x,y]=meshgrid(x,y); z=cos(x).*cos(y).*exp(-sqrt(x.^2+y.^2)/4); subplot(2,1,1); surf(x,y,z); title('曲面图'); subplot(2,1,2); surfc(x,y,z); title('等高线图');

运行结果:

专业知识分享

WORD 格式整理

6. 绘制曲面图形,并进行插值着色处理。

? x ? cos s cos t ? ? 3? ? ? y ? cos s sin t 0 ? s ? , 0 ? t ? 2 2 ? ? ? z ? sin s
解:M 文件: clc; s=0:pi/100:pi/2; t=0:pi/100:3*pi/2; [s,t]=meshgrid(s,t); x=cos(s).*cos(t); y=cos(s).*sin(t); z=sin(s); subplot(2,2,1); mesh(x,y,z); title('未着色的图形'); subplot(2,2,2); surf(x,y,z); title('shading faceted(缺省)'); subplot(2,2,3); surf(x,y,z);shading flat; title('shading flat');
专业知识分享

WORD 格式整理

subplot(2,2,4); surf(x,y,z);shading interp; title('shading interp'); 运行结果有:

专业知识分享

WORD 格式整理

实验七 低层绘图操作
二、实验内容 1. 建立一个图形窗口,使之背景颜色为红色,并在窗口上保留原有的菜单项,而且在 按下鼠标器的左键之后显示出 Left Button Pressed 字样。 解:M 文件如下: clc; hf=figure('color',[1 0 0],... 'WindowButtonDownFcn','disp(''Left Button Pressed.'')'); 运行结果:

左击鼠标后:

专业知识分享

WORD 格式整理

2. 先利用默认属性绘制曲线 y=x e ,然后通过图形句柄操作来改变曲线的颜色、线型 和线宽,并利用文件对象给曲线添加文字标注。 解:M 文件: clc; x=-2:0.01:2; y=x.^2.*exp(2*x); h=plot(x,y); set(h,'color',[0.4,0.2,0.5],'linestyle','--',... 'linewidth',2); text(1.5,1.5^2*exp(2*1.5),'\leftarrow x^2exp(2x)','fontsize',9); 运行结果:

2 2x

3. 利用曲面对象绘制曲面 v(x,t)=10e 解:M 文件:

-0.01

xsin(2000πt-0.2x+π)。

clc; x=0:0.1:2*pi; [x,t]=meshgrid(x); v=10*exp(-0.01*x).*sin(2000*pi*t-0.2*x+pi); axes('view',[-37,30]); hs=surface(x,t,v,'facecolor',... [0.2,0.3,0.3],'edgecolor','flat'); grid on; xlabel('x-axis'); ylabel('y-axis');
专业知识分享

WORD 格式整理

zlabel('z-axis'); title('mesh-surf'); pause %按任意键继续 set(hs,'FaceColor','flat'); text(0,0,0,'曲面'); 运行结果:

按任意键继续:

专业知识分享

WORD 格式整理

4. 以任意位置子图形式绘制出正弦、余弦、正切和余切函数曲线。 5. 生成一个圆柱体,并进行光照和材质处理。 解:M 文件: [x,y,z]=cylinder(3,500); %cylinder 是生成柱体的函数 surf(x,y,z); title('圆柱体的光照和材料处理'); Xlabel('X-axis'); Ylabel('Y-axis'); Zlabel('Z-axis'); axis([-5,5,-5,5,0,1]) grid off; light('Color','r','Position',[-4,0,0],'style','infinite'); shading interp; material shiny; view(0,10); lighting phong; axis off; 运行结果:

专业知识分享

WORD 格式整理

实验八 数据处理与多项式计算
一、实验目的 1. 掌握数据统计和分析的方法。 2. 掌握数值插值与曲线拟合的方法及其应用。 3. 掌握多项式的常用运算。 二、实验内容 1. 利用 MATLAB 提供的 rand 函数生成 30000 个符合均匀分布的随机数,然后检验随机 数的性质: (1) 均值和标准方差。 (2) 最大元素和最小元素。 (3) 大于 0.5 的随机数个数占总数的百分比。 解: M 文件: clc; x=rand(1,30000); mu=mean(x) %求这 30000 个均匀分布随机数的*均值 sig=std(x) %求其标准差σ1 y=length(find(x>0.5)); %找出大于 0.5 数的个数 p=y/30000 %大于 0.5 的所占百分比 运行结果: mu = 0.499488553231043

sig = 0.288599933559786

p = 0.499400000000000 2. 将 100 个学生 5 门功课的成绩存入矩阵 P 中,进行如下处理: (1) 分别求每门课的最高分、最低分及相应学生序号。 (2) 分别求每门课的*均分和标准方差。 (3) 5 门课总分的最高分、最低分及相应学生序号。 (4) 将 5 门课总分按从大到小顺序存入 zcj 中,相应学生序号存入 xsxh。 提示:上机调试时,为避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机
专业知识分享

WORD 格式整理

矩阵来表示学生成绩。 解:M 文件: clc; t=45+50*rand(100,5); P=fix(t); %生成 100 个学生 5 门功课成绩 [x,l]=max(P) %x 为每门课最高分行向量,l 为相应学生序号 [y,k]=min(P) %y 为每门课最低分行向列,k 为相应学生序号 mu=mean(P) %每门课的*均值行向量 sig=std(P) %每门课的标准差行向量 s=sum(P,2) %5 门课总分的列向量 [X,m]=max(s)%5 门课总分的最高分 X 与相应学生序号 m [Y,n]=min(s)%5 门课总分的最低分 Y 与相应学生序号 n [zcj,xsxh]=sort(s) %zcj 为 5 门课总分从大到小排序,相应学生序号 xsxh 运行结果:

3. 某气象观测得某日 6:00~18:00 之间每隔 2h 的室内外温度(0C)如实验表 1 所示。 0 实验表 1 室内外温度观测结果( C) 时间 h 6 8 20.0 10 22.0 12 25.0 14 30.0 16 28.0 18 24.0 室内温度 t1 18.0

专业知识分享

WORD 格式整理

室外温度 t2 15.0

19.0

24.0

28.0

34.0

32.0

30.0
0

试用三次样条插值分别求出该日室内外 6:30~18:30 之间每隔 2h 各点的*似温度 ( C) 。 解: M 文件: clc; h=6:2:18; t1=[18.0 20.0 22.0 25.0 30.0 28.0 24.0]; t2=[15.0 19.0 24.0 28.0 34.0 32.0 30.0]; T1=interp1(h,t1,'spline')%室内的 3 次样条插值温度 T2=interp1(h,t2,'spline')%室外的 3 次样条插值温度 运行结果: T1 = Columns 1 through 3 40.000000000000703 44.000000000001130 48.000000000001705 Columns 4 through 6 54.000000000002885 64.000000000005883 60.000000000004512 Column 7 52.000000000002444

T2 = Columns 1 through 3 34.000000000000284 42.000000000000902 52.000000000002444 Columns 4 through 6 60.000000000004512 72.000000000009408 68.000000000007503 Column 7 64.000000000005883 4. 已知 lgx 在[1,101]区间 10 个整数采样点的函数值如实验表 2 所示。 实验表 2 lgx 在 10 个采样点的函数值
专业知识分享

WORD 格式整理

x 101

1

11 1.0414

21

31

41

51

61

71

81

91

lgx 0 2.0043

1.3222 1.4914 1.6128 1.7076 1.7853 1.8513 1.9085 1.9510

试求 lgx 的 5 次拟合多项式 p(x),并绘制出 lgx 和 p(x)在[1,101]区间的函数曲线。 解: M 文件: x=1:10:101; y=lg10(x); P=polyfit(x,y,5) y1=polyval(P,x); plot(x,y,':o',x,y1,'-*') 运行结果: Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the degree of the polynomial, or try centering and scaling as described in HELP POLYFIT. > In polyfit at 80 P = 0.0000 -0.0000 0.0001 -0.0058 0.1537 -0.1326

(这里出现警告是提示不必用 5 价函数就已经可以完美拟合了,是可以降价拟合。 ) 在[1,101]的区间函数图像

5. 有 3 个多项式 P1(x)=x4+2x3+4x2+5, P2(x)=x+2, P3(x)=x2+2x+3, 试进行下列操作: (1) 求 P(x)=P1(x)+P2(x)P3(x)。 (2) 求 P(x)的根。
专业知识分享

WORD 格式整理

(3) 当 x 取矩阵 A 的每一元素时,求 P(x)的值。其中 :

1.2 ?1.4 ? ? ?1 A?? 3.5 ? ? 0.75 2 ? ? ? 0 5 2.5 ? ?
(4) 当以矩阵 A 为自变量时,求 P(x)的值。其中 A 的值与第(3)题相同。 解:M 文件: clc;clear; p1=[1,2,4,0,5]; p2=[1,2]; p3=[1,2,3]; p2=[0,0,0,p2]; p3=[0,0,p3]; p4=conv(p2,p3); %p4 是 p2 与 p3 的乘积后的多项式 np4=length(p4); np1=length(p1); p=[zeros(1,np4-np1) p1]+p4 %求 p(x)=p1(x)+p2(x) x=roots(p) %求 p(x)的根 A=[-1 1.2 -1.4;0.75 2 3.5;0 5 2.5]; y=polyval(p,A) %x 取矩阵 A 的每一元素时的 p(x)值 运行结果: p = 0 x = -1.3840 -1.3840 -0.1160 -0.1160 + + 1.8317i 1.8317i 1.4400i 1.4400i 0 0 0 1 3 8 7 11

y = 1.0e+003 * 0.0100 0.0223 0.0110 0.0382 0.0970 1.2460 0.0125 0.4122 0.1644

专业知识分享

WORD 格式整理

实验九 数值微积分与方程数值求解
一、实验目的 1. 掌握求数值导数和数值积分的方法。 2. 掌握代数方程数值求解的方法。 3. 掌握常微分方程数值求解的方法。 二、实验内容 1. 求函数在指定点的数值导数。

x f ( x) ? 1
解:M 文件:

x2

x3 6x

2 x 3x 2 , x ? 1, 2,3

0 2

clc;clear; x=1; i=1; f=inline('det([x x^2 x^3;1 2*x 3*x^2;0 2 6*x])'); while x<=3.01 g(i)=f(x); i=i+1; x=x+0.01; %以 0.01 的步长增加,可再缩小步长提高精度 end g; t=1:0.01:3.01; dx=diff(g)/0.01; %差分法*似求导 f1=dx(1) %x=1 的数值倒数 f2=dx(101) %x=2 的数值倒数 f3=dx(length(g)-1) %x=3 的数值倒数 运行结果: f1 = 6.0602

f2 = 24.1202

f3 = 54.1802
专业知识分享

WORD 格式整理

2. 用数值方法求定积分。 (1) I1 ? (2) I 2 ? 解:M 文件: clc;clear; f=inline('sqrt(cos(t.^2)+4*sin(2*t).^2+1)'); I1=quad(f,0,2*pi) g=inline('log(1+x)./(1+x.^2)'); I2=quad(g,0,2*pi) 运行结果: I1 = 10.4285

?

2?

0
2?

cos t 2 ? 4sin(2t ) 2 ? 1dt 的*似值。
ln(1 ? x) dt 1 ? x2

?

0

I2 = 0.9997 3. 分别用 3 种不同的数值方法解线性方程组。

?6 x ? 5 y ? 2 z ? 5u ? ?4 ?9 x ? y ? 4 z ? u ? 13 ? ? ?3x ? 4 y ? 2 z ? 2u ? 1 ? ?3x ? 9 y ? 2u ? 11
解:M 文件: clc;clear; A=[6 5 -2 5;9 -1 4 -1;3 4 2 -2;3 -9 0 2]; b=[-4 13 1 11]'; x=A\b y=inv(A)*b [L,U]=lu(A); z=U\(L\b) 运行结果: x = 0.6667 -1.0000 1.5000 -0.0000

专业知识分享

WORD 格式整理

y = 0.6667 -1.0000 1.5000 -0.0000

z = 0.6667 -1.0000 1.5000 -0.0000 4. 求非齐次线性方程组的通解。

?2 x1 ? 7 x2 ? 3x3 ? x4 ? 6 ? ?3x1 ? 5 x2 ? 2 x3 ? 2 x4 ? 4 ?9 x ? 4 x ? x ? 7 x ? 2 2 3 4 ? 1
解:M 文件 function [x,y]=line_solution(A,b) [m,n]=size(A); y=[ ]; if norm(b)>0 %非齐次方程组 if rank(A)==rank([A,b]) if rank(A)==n disp('有唯一解 x'); x=A\b; else disp('有无穷个解,特解 x,基础解系 y'); x=A\b; y=null(A,'r'); end else disp('无解'); x=[ ]; end else %齐次方程组 disp('有零解 x'); x=zeros(n,1); if rank(A)<n disp('有无穷个解,基础解系 y');
专业知识分享

WORD 格式整理

y=null(A,'r'); end end

clc;clear; format rat A=[2 7 3 1;3 5 2 2;9 4 1 7]; b=[6 4 2]'; [x,y]=line_solution(A,b) 运行结果: 有无穷个解,特解 x,基础解系 y Warning: Rank deficient, rank = 2, tol = > In line_solution at 11 x = -2/11 10/11 0 0 8.6112e-015.

y = 1/11 -5/11 1 0 -9/11 1/11 0 1

所以原方程组的通解是:

? 1/11 ? ? ?9 /11? ? ?2 /11? ? ?5 /11? ? 1/11 ? ?10 /11 ? ? ? ??? ? ,其中 k1 , k2 为任意常数。 X ? k1 ?k ? ? 1 ? 2? 0 ? ? 0 ? ? ? ? ? ? ? ? 0 ? ? 1 ? ? 0 ?
5. 求代数方程的数值解。 x (1) 3x+sinx-e =0 在 x0=1.5 附*的根。 (2) 在给定的初值 x0=1,y0=1,z0=1 下,求方程组的数值解。

?sin x ? y 2 ? ln z ? 7 ? 0 ? y 3 ?3x ? 2 ? z ? 1 ? 0 ?x ? y ? z ? 5 ? 0 ?
解:M 文件:
专业知识分享

WORD 格式整理

function g=f(x) g=3*x+sin(x)-exp(x);

clc;clear; fzero('f',1.5) 结果是: ans = 1289/682 (2). M 文件: function F=fun(X) x=X(1); y=X(2); z=X(3); F(1)=sin(x)+y^2+log(z)-7; F(2)=3*x+2-z^3+1; F(3)=x+y+z-5; X=fsolve('myfun',[1,1,1]',optimset('Display','off'))

运行结果: X = 909/1073 1735/728 1106/625 6. 求函数在指定区间的极值。 (1) f ( x) ?

x3 ? cos x ? x log x 在(0,1)内的最小值。 ex
3 3 2

(2) f ( x1 , x2 ) ? 2x1 ? 4x1 x2 ?10x1 x2 ? x2 在[0,0]附*的最小值点和最小值。 解:M 文件: function f=g(u) x=u(1); y=u(2); f=2*x.^3+4*x.*y^3-10*x.*y+y.^2;

clc;clear;
专业知识分享

WORD 格式整理

format long f=inline('(x^3+cos(x)+x*log(x))/exp(x)'); [x,fmin1]=fminbnd(f,0,1) [U,fmin2]=fminsearch('g',[0,0]) 运行结果 x = 0.522288340666172

fmin1 = 0.397363464998461

U = 1.001570135316681 0.833488282765738

fmin2 = -3.324088491954234 7. 求微分方程的数值解。

? xd 2 y dy ? dx 2 ? 5 dx ? y ? 0 ? ? ? y (0) ? 0 ? y '(0) ? 0 ? ? ?
解:M 文件: function xdot= sys( x,y) xdot=[y(2);(5*y(2)-y(1))/x]; clc;clear; x0=1.0e-9;xf=20; [x,y]=ode45('sys',[x0,xf],[0 0]); [x,y] 运行结果: x ans = 0.0000 y’ y

0

0
专业知识分享

WORD 格式整理

0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000 5.5000 6.0000 6.5000 7.0000 7.5000 8.0000 8.5000 9.0000 9.5000 10.0000 10.5000 11.0000 11.5000 12.0000 12.5000 13.0000 13.5000 14.0000 14.5000 15.0000 15.5000 16.0000 16.5000 17.0000 17.5000 18.0000 18.5000 19.0000 19.5000 20.0000

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

8. 求微分方程组的数值解,并绘*獾那摺

专业知识分享

WORD 格式整理

? y '1 ? y2 y3 ?y' ? ?y y ? 2 1 3 ? ? y '3 ? ?0.51 y1 y2 ? ? y1 (0) ? 0, y2 (0) ? 1, y3 (0) ? 1
解: 令 y1=x,y2=y,y3=z; 这样方程变为:

? x ' ? yz ? y ' ? ? xz ? ,自变量是 t ? z ' ? ? 0.51 xy ? ? ? x(0) ? 0, y (0) ? 1, z (0) ? 1
M 文件: function xdot=sys(x,y) xdot=[y(2)*y(3);-y(1)*y(3);-0.51*y(1)*y(2)];

clc;clear; t0=0;tf=8; [x,y]=ode23('sys',[t0,tf],[0,1,1]) plot(x,y) 运行结果: x = 0 0.0001 0.0005 0.0025 0.0125 0.0625 0.1632 0.3033 0.4829 0.7162 0.9849 1.2610 1.5678 1.9550 2.3287 2.7024 3.0153 3.2921 3.4889
专业知识分享

WORD 格式整理

3.6452 3.7538 3.8624 3.9941 4.1645 4.3835 4.6537 4.9265 5.2245 5.5861 6.0302 6.3428 6.6555 6.9371 7.1541 7.3238 7.4502 7.5765 7.7042 7.8706 8.0000 y = 0 0.0001 0.0005 0.0025 0.0125 0.0624 0.1621 0.2965 0.4563 0.6350 0.7944 0.9069 0.9780 0.9975 0.9450 0.8127 0.6303 0.4130 0.2324 0.0795 1.0000 1.0000 1.0000 1.0000 0.9999 0.9980 0.9868 0.9550 0.8898 0.7722 0.6069 0.4203 0.2066 -0.0644 -0.3258 -0.5817 -0.7755 -0.9098 -0.9716 -0.9958 1.0000 1.0000 1.0000 1.0000 1.0000 0.9990 0.9933 0.9773 0.9454 0.8912 0.8233 0.7617 0.7155 0.7016 0.7377 0.8141 0.8927 0.9552 0.9858 0.9980
专业知识分享

WORD 格式整理

-0.0289 -0.1367 -0.2640 -0.4187 -0.5935 -0.7644 -0.8859 -0.9656 -0.9985 -0.9495 -0.8495 -0.6858 -0.4802 -0.2888 -0.1254 0.0002 0.1257 0.2494 0.4016 0.5100

-0.9986 -0.9896 -0.9634 -0.9069 -0.8034 -0.6427 -0.4609 -0.2542 -0.0014 0.3092 0.5247 0.7256 0.8751 0.9554 0.9902 0.9981 0.9901 0.9663 0.9136 0.8578

0.9994 0.9949 0.9817 0.9538 0.9053 0.8373 0.7738 0.7235 0.7003 0.7343 0.7943 0.8712 0.9387 0.9778 0.9953 0.9993 0.9953 0.9833 0.9572 0.9305

图形:

专业知识分享

WORD 格式整理

实验十 符号计算基础与符号微积分
一、实验目的 1. 掌握定义符号对象的方法。 2. 掌握符号表达式的运算法则以及符号矩阵运算。 3. 掌握求符号函数极限及导数的方法。 4. 掌握求符号函数定积分和不定积分的方法。 二、实验内容 1. 已知 x=6,y=5,利用符号表达式求

z?

x ?1 3? x ? y

提示:定义符号常数 x=sym(‘6’),y=sym(‘5’)。 解:M 文件: clear all;clc; x=sym('6');y=sym('5'); z=(1+x)/(sqrt(3+x)-sqrt(y)) 运行结果: z = -7/(5^(1/2) - 3)

2. 分解因式。 4 4 (1) x -y 解:M 文件: clear all;clc; syms x y;t=sym('5135'); a=x^4-y^4; factor(a) factor(t) 运行结果: ans = (x - y)*(x + y)*(x^2 + y^2)

(2) 5135

ans = 5*13*79 3. 化简表达式。
专业知识分享

WORD 格式整理

(1) sin ?1 cos ? 2 ? cos ?1 sin ? 2
解:M 文件:

(2)

4 x2 ? 8x ? 3 2x ?1

clear all;clc; syms beta1 beta2 x; f1=sin(beta1)*cos(beta2)-cos(beta1)*sin(beta2); simplify(f1) %(1)问 f2=(4*x^2+8*x+3)/(2*x+1); simplify(f2) %(2)问 运行结果: ans = sin(beta1 - beta2)

ans = 2*x + 3 4. 已知

?0 1 0 ? ?1 0 0 ? ? ? ? P 0 0 ? , P2 ? ? 1 ? ?1 ?0 1 0 ? , ? ? ?0 0 1 ? ? ?1 0 1 ? ?
完成下列运算: (1) B=P1·P2·A 。 (3) 包括 B 矩阵主对角线元素的下三角阵。 解:M 文件: clear all;clc; syms a b c d e f g h k; p1=[0 1 0;1 0 0;0 0 1]; p2=[1 0 0;0 1 0;1 0 1]; A=[a b c;d e f;g h k]; B=p1*p2*A B1=inv(B) %B 的逆矩阵 B1*B %验证逆矩阵结果 B2=tril(B) d=det(B) 运行结果: B = [ [ d, a, e, b, f] c]
专业知识分享

?a b c ? ? A?? ?d e f ? ? ?g h k ? ?
(2) B 的逆矩阵并验证结果。 (4) B 的行列式值。

WORD 格式整理

[ a + g, b + h, c + k]

B1 = [ -(c*h - b*k)/(a*f*h - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k), f*h - e*k)/(a*f*h - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k), -(b*f - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k)] [ (c*g - a*k)/(a*f*h - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k), f*g - d*k)/(a*f*h - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k), (a*f - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k)] [ (a*h - b*g)/(a*f*h - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k), d*h + e*g)/(a*f*h - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k), -(a*e - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k)] (b*f - c*e + - c*e)/(a*f*h -(a*f - c*d + - c*d)/(a*f*h (a*e - b*d - b*d)/(a*f*h

ans = [ 1, 0, 0] [ 0, 1, 0] [ 0, 0, 1] B2 = [ d, 0, 0] [ a, b, 0] [ a + g, b + h, c + k]

d = a*f*h - b*f*g - c*d*h + c*e*g - a*e*k + b*d*k 5. 用符号方法求下列极限或导数。

(1) lim
x ?0

x(esin x ? 1) ? 2(e tan x ? 1) sin 3 x 1 ? cos(2 x) , 求y ', y '' x
2

(2) lim?
x ??1

? ? arccos x
x ?1

(3) y ?

? ax t3 ? dA d 2 A d 2 A (4) 已知A ? ? , 分别求 , , ? dx dt 2 dxdt ?t cos x ln x ?
? y 2 ? xy

(5) 已知f ( x, y ) ? ( x 2 ? 2 x)e ? x

,求

?y ? 2 f , ?x ?x?y

x ? 0, y ?1

解:M 文件:
专业知识分享

WORD 格式整理

clear all;clc; syms x t a y z; f1=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/sin(x)^3; %(1) limit(f1) f2=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1); %(2) limit(f2,x,-1,'right') y=(1-cos(2*x))/x; %(3) y1=diff(y) y2=diff(y,2) A=[a^x t^3;t*cos(x) log(x)]; %(4) Ax1=diff(A,x,1) At2=diff(A,t,2) Axt=diff(Ax1,t) f=(x^2-2*x)*exp(-x^2-z^2-x*z); %(5) Zx=-diff(f,x)/diff(f,z) dfxz=diff(diff(f,x),z); x=sym('0');z=sym('1'); eval(dfxz) %符号运算返回数值

运行结果:

ans = -1/2

ans = -Inf

y1 = (2*sin(2*x))/x + (cos(2*x) - 1)/x^2

y2 = (4*cos(2*x))/x - (4*sin(2*x))/x^2 - (2*(cos(2*x) - 1))/x^3

专业知识分享

WORD 格式整理

Ax1 = [ a^x*log(a), 0] [ -t*sin(x), 1/x]

At2 = [ 0, 6*t] [ 0, 0]

Axt = [ 0, 0] [ -sin(x), 0]

Zx = -(exp(x^2 + x*z + z^2)*((2*x - 2)/exp(x^2 + x*z + z^2) + ((2*x - x^2)*(2*x + z))/exp(x^2 + x*z + z^2)))/((2*x - x^2)*(x + 2*z))

ans = 4/exp(1) 6. 用符号方法求下列积分。

(1) ?

dx 1 ? x 4 ? x8
?? 0

(2) ?

dx (arcsin x)2 1 ? x 2

(3) ?

ln 2 x2 ? 1 dx (4) ? e x (1 ? e x ) 2 dx 4 0 x ?1

解:M 文件: clear;clc; x=sym('x'); f1=1/(1+x^4+x^8); f2=1/(asin(x))^2/sqrt(1-x^2); f3=(x^2+1)/(x^4+1); f4=exp(x)*(1+exp(x))^2; F1=int(f1) F2=int(f2) F3=int(f3,0,inf)
专业知识分享

%(1) %(2) %(3) %(4)

WORD 格式整理

F4=int(f4,0,log(2)) 运行结果: F1 = (3^(1/2)*log(x^2 + 3^(1/2)*x + 1))/12 - (3^(1/2)*(2*atan(- (3^(1/2)*x^3)/3 (2*3^(1/2)*x)/3) - 2*atan((3^(1/2)*x)/3)))/12 - (3^(1/2)*log(x^2 - 3^(1/2)*x + 1))/12

F2 = -1/asin(x)

F3 = (pi*2^(1/2))/2

F4 = exp(18729944304496077/9007199254740992)/3 + exp(6243314768165359/9007199254740992) + exp(6243314768165359/4503599627370496) - 7/3

专业知识分享

WORD 格式整理

实验十一 级数与方程符号求解
一、实验目的 1. 掌握级数求和的方法。 2. 掌握将函数展开为泰勒级数的方法。 3. 掌握微分方程符号求解的方法。 4. 掌握代数方程符号求解的方法。 二、实验内容 1. 级数符号求和。 (1) 计算 S ?

? 2n ? 1 。
n ?1 2 n ?1

10

1

(2) 求级数 解: M 文件:
clear all;clc;

?n x
n ?1

?

的和函数,并求

n2 之和。 ? n n ?1 5

?

n=sym('n');x=sym('x'); S1=symsum(1/(2*n-1),n,1,10) S2=symsum(n^2*x^(n-1),n,1,inf) S3=symsum(n^2/5^n,n,1,inf) %vpa(S3)可以转化成小数

运行结果: S1 = 31037876/14549535

S2 = piecewise([abs(x) < 1, -(x^2 + x)/(x*(x - 1)^3)])

S3 = 15/32

2. 将 lnx 在 x=1 处按 5 次多项式展开为泰勒级数。
专业知识分享

WORD 格式整理

解: M 文件:
clear all;clc; x=sym('x'); f=log(x); taylor(f,x,6,1)

运行结果: ans = x - (x - 1)^2/2 + (x - 1)^3/3 - (x - 1)^4/4 + (x - 1)^5/5 - 1 3. 求下列方程的符号解。

(1) ln(1 ? x) ?

5 ?2 1 ? sin x

(2) x 2 ? 9 x ? 1 ? 1 ? 0

? ? x 2 ? y 2 ? 100 ? 0 (3) 3 xe x ? 5sin x ? 78.5 ? 0 (4) ? ? ?3x ? 5 y ? 8 ? 0
解: M 文件:
clear all;clc; x1=solve('log(x+1)-5/(1+sin(x))=2') x2=solve('x^2+9*sqrt(x+1)-1') x3=solve('3*x*exp(x)+5*sin(x)-78.5') [x4 y4]=solve('sqrt(x^2+y^2)-100','3*x+5*y-8')

运行结果: x1 = 521.67926389905839979437366649258

x2 =

-1
专业知识分享

WORD 格式整理

(3^(1/2)*i*(4/(9*(6465^(1/2)/2 + 2171/54)^(1/3)) (1/2*6465^(1/2) 2171/54)^(1/3)))/2 - (6465^(1/2)/2 + 2171/54)^(1/3)/2 - 2/(9*(6465^(1/2)/2 2171/54)^(1/3)) + 1/3 1/3 - (6465^(1/2)/2 + 2171/54)^(1/3)/2 - (3^(1/2)*i*(4/(9*(6465^(1/2)/2 2171/54)^(1/3)) - (1/2*6465^(1/2) + 2171/54)^(1/3)))/2 - 2/(9*(6465^(1/2)/2 2171/54)^(1/3)) x3 = 2.3599419584772910151699327715486

+ + + +

x4 = 12/17 - (10*21246^(1/2))/17 (10*21246^(1/2))/17 + 12/17

y4 = (6*21246^(1/2))/17 + 20/17 20/17 - (6*21246^(1/2))/17 4. 求微分方程初值问题的符号解,并与数值解进行比较。

?d2 y dy ? 2 ? 4 ? 29 y ? 0 dx ? dx ? y (0) ? 0, y '(0) ? 15 ?
解: M 文件:
clear all;clc; dsolve('D2y+4*Dy+29*y','y(0)=0','Dy(0)=15','x')

运行结果: ans = (3*sin(5*x))/exp(2*x) 5. 求微分方程组的通解。

专业知识分享

WORD 格式整理

? dx ? dt ? 2 x ? 3 y ? 3 z ? ? dy ? ? 4 x ? 5 y ? 3z ? dt ? dz ? dt ? 4 x ? 4 y ? 2 z ?
解: M 文件:
clear all;clc; [x y z]=dsolve('Dx=2*x-3*y+3*z',... 'Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z','t')

运行结果: x = C1/exp(t) + C2*exp(2*t)

y = C1/exp(t) + C2*exp(2*t) + C3/exp(2*t)

z = C2*exp(2*t) + C3/exp(2*t)

专业知识分享

WORD 格式整理

专业知识分享

WORD 格式整理

专业知识分享


相关推荐

最新更新

猜你喜欢