数学实验复习配套练习
数学实验复习配套练习
(每日1题持续更新,可能有误)
1、将数学表达式翻译成 Matlab 表达式或程序。
syms x
-3*x^2+2*x+4
(2*sin(pi/5)+3)^2+4/7
exp(2*x)+sin(x)+3
log(x+1)-cos(x)
log2(x^2+1)-sqrt(x)
log10(x^(1/3)+2)+asin(x)
2.(1)写出生成分量为 0,0.2,0.4,0.6,…,0.2k,…,2 的一个列向量 和行向量的命令;
a = linspace(0,2,11);
a'
(2)用函数文件和脚本文件写一个求数列 1,2,3, , ,k,k+1,… 前 10 项和的程序。
%函数文件
function sums = fac(x)
sums = 0;
for n=0:x
sums = sums+n;
end
end
%脚本文件
sums = func(10)
3.写出求函数:4x3-5x2+2x-1 和 acos(x)+x 在 x=1 处的值的程序。
syms x a
y1 = 4*x^3-5*x^2+2*x-1;
y1 = subs(y1,x,1)
y2 = a*cos(x)+x;
y2 = subs(y2,x,1)
4.(1) 写出下列程序的运算结果
syms x y;
f=x^2+y;
subs(f,{x,y},{1,2})
ans = 3
(2)设u=x^2 +2x+1,v=3x^2-2x+3 , 给出 expand(u*v) and u v 和 horner(u) 的运行及结果;
u = x^2+2*x+1;
v = 3*x^2-2*x+3;
expand(u*v)
horner(u)
ans = 3*x^4 + 4*x^3 + 2*x^2 + 4*x + 3
ans = x*(x + 2) + 1
(3) 将多项式 x^3 -6x^2+11x-6 因式分解的命令是什么?
syms x
y = x^3 -6*x^2+11*x-6 ;
factor(y)
ans = [ x - 3, x - 1, x - 2]
5.写出求向量 a=(1,2,1), b=(2,0,1) 叉积(或向量积),点积(或数量积) 和分量乘积的命令。
a=[1 2 1];b=[2 0 1];
%叉乘积
cross(a,b)
%数量积
dot(a,b)
%分量乘积
a.*b
6.设 A=[1 -2 4;2 0 5;6 2 3] ,b=[1;2;3]
(1)写出命令 A(4), A(2,:), A(:,3), A([1,2],[1,2]) 的运行结果;
ans = -2
ans = 2 0 5
ans = 4 ; 5 ; 3
ans = 1 -2 ; 2 0
(2) 给出求 A 的秩、逆矩阵和行列式、特征值以及方程组 Ax=b 的解的命令。
A=[1 -2 4;2 0 5;6 2 3];b=[1;2;3];
rank(A)
inv(A)
det(A)
[V,D]=eig(A)
x = b.*inv(A)
7.写出程序,将下列三条曲线画在同一个图形窗口中,并给出适当的线型、标识符、颜色、标题和图形说明。
u(x)= x(x-1)/2 , v(x)=-(x+1)(x-1), w(x)=0.5x(x+1)
syms x
x=linspace(-2,2);
u=x.*(x-1)/2; v=-(x+1).*(x-1); w=0.5*x.*(x+1);
plot(x,u,'r-d',x,v,'g-.s',x,w,'b--*')
legend('$u=x(x-1)/2$','$v=-(x+1)(x-1)$','$w=0.5x(x+1)$','Interpreter','latex')
title('Figure1')
8.写出计算f = ln(2x^3+sinx)的一阶和二阶导数(记为 d1f 和 d2f)的程序。
syms x
f = log(2*x^3+sin(x));
d1f=diff(f,x)
d2f=diff(f,x,2)
d1f = (cos(x) + 6*x^2)/(sin(x) + 2*x^3)
d2f =(12*x - sin(x))/(sin(x) + 2*x^3) - (cos(x) + 6*x^2)^2/(sin(x) + 2*x^3)^2
9.给出计算下列函数的不定积分和定积分的程序。
syms x z
I1=int(-2*x/(1+x^2));
pretty(I1)
I2=int(x/(1+z^2)^2);
pretty(I2)
I3=int(x/(1+x^2));
pretty(I3)
I4=int(x*log(1+x),0,1)
I5=int(2*sin(x)/x,0,inf)
I6=int(cos(x)+x^2+3);
pretty(I6)
I7=int(x^2+2*sin(x),0,1)
10.利用 int 求由x^2 /9+y^2/4=1 和 y=1 所围成的图形的面积。syms x y
[x0,y0]=solve(x^2/ 9+y^2/4-1,y-1);
%得到交点(+-(3*3^(1/2))/2,1)
y1=sqrt(4*(1-x^2/9));
y2=1;
S=int(y1-y2,x,-(3*3^(1/2))/2,(3*3^(1/2))/2)
11.求圆柱螺线 {x=2cos(4t) y=2sin(4t) z=t }在时间0≤t≤pi/2上的长度
syms t;
x=2*cos(4*t);
y=2*sin(4*t);
z=t;
f = 1;
s = int(f*sqrt(simplify(diff(x,t)^2+diff(y,t)^2)+diff(z,t)^2),t,0,pi/2)
12.(1)写一个程序,画出函数 y=1+sin(x) 的图像;
syms x
x=linspace(-2*pi,2*pi);
y=1+sin(x);
plot(x,y)
(2)写程序,画出三维曲线: x=cos(t) y=sin(t) z=2t,其中,0≤t≤2pi。
syms t
t=linspace(-4*pi,4*pi);
x=cos(t);
y=sin(t);
z=2*t;
plot3(x,y,z)
(3) 给出程序,画出平面直线l1:y=2x+1和空间直线l2:x-1/2=y/(-1)=(z+3)/3
syms x
x=linspace(-2,2);
y=2*x+1;
plot(x,y)
figure
syms t
t=linspace(-2,2);
x=2*t+1;
y=-t;
z=3*t-2;
plot3(x,y,z)
13、 利用 feval 求g(x)=x^2+2x+sinx在 x=0,1 处的值。
syms x
g=@(x)(x^2+2*x+sin(x));
[x1] = feval(g,0)
[x2] = feval(g,1)
14、定义下列分段函数,然后利用 fplot 画出该函数的图像
f(x)={sinx,x>0 x^3,-2<x<0 -8,x<=-2}
f=@(x)(sin(x).*(x>0)+x^3.*(-1<x<0)+(-8).*(x<=(-2)));
fplot(f,[-5,5],'g','linewidth',2)
15、用 polar 画出三叶玫瑰线:r=sin(3t)和r=cos(3t),其中 0<=t<=2pi,将两个图形并排放在一个图形窗口中,给出图形的 标注。
t=0:0.05:2*pi;
r1=sin(3*t);
subplot(1,2,1)
polar(t,r1,'r')
legend('sin(3t)')
r2=cos(3*t);
subplot(1,2,2)
polar(t,r2,'g')
legend('cos(3t)')
16、 (1) 绘制曲面 z=e(-x2-y^2) 的 mesh 图和 surf 图,给出图形标注;
(2) 写出绘制曲面 z=e(-x2-y^2) 在 [-2,2]x[-2,2]上的曲线图(mesh)和表面图(surf)以及给出图形标注的程序。
(3)令 x=1:5,y=1:0.2:1.8,[X,Y]=meshgrid(x,y),则
x=,y=
17.由 solve 求 x2/4+y2/2-z^2/2=1 所确定的 y 和 z 的表达式,给出 程序。
syms x y z
[x]=solve(x^2/4+y^2/2-z^2/2==1)
结果:
x
=2^(1/2)*(- y^2 + z^2 + 2)^(1/2) -2^(1/2)*(- y^2 + z^2 + 2)^(1/2)
18 、 利 用 diff, solve 和 subs 等函数命令讨论函数 f(x)-x3-6x2+9x-2 的单调性,给出该函数的凹凸区间和 拐点,并求出极值。
%绘制函数和导数图像
syms x;
y=x^3-6*x^2+9*x-2;
dydx=diff(y);
x=-4:0.1:4;
y=eval(y);
dydx=eval(dydx);
plot(x,y,x,dydx);
xlabel('x');
ylabel('y,dy.dx');
legend('y(x)','dy/dx');
grid on
%求函数单调区间
syms x;
y=x^3-6*x^2+9*x-2;
dydx=diff(y);
zP=solve(dydx,x)
%1 3
%判断导数在各个区间上的符号
subs(dydx,x,-1)
subs(dydx,x,0)
subs(dydx,x,1)
%24 9 0
%得函数的在(-∞,1)增(1,3)减(3,∞)增
%求函数凹凸区间和拐点
syms x;
y=x^3-6*x^2+9*x-2;
dydx2=diff(y,2);
x=[-6:0.1:6];
y=eval(y);
dydx2=eval(dydx2);
plot(x,y,x,dydx2,'--');
xlabel('x');
ylabel('y, dy/dx2');
legend('函数','二阶导数');
axis([-6,6,-10,6]);
grid on
%在(-∞,2)二阶导数小于0函数上凸
%在(2,∞)二阶导数大于0函数下凸
%求拐点
syms x;
y=x^3-6*x^2+9*x-2;
dydx2=diff(y,2);
zeroPoint=solve(dydx2,x);
zeroPoint=simplify(zeroPoint)
subs(y,x,double(zeroPoint))
%拐点为(0,-2)和(2,0)
19、利用 dsolve 求解常微分方程:y″-3y′-4y=0
syms y(x)
dsolve(diff(y,2)-3*diff(y)-4*y==0)
结果:
ans =
C1*exp(-x) + C2*exp(4*x)
20、写出程序,求下列函数的一阶和二阶偏导数。
(1) z=x3y-y3x
syms x y
z=x^3*y-y^3*x;
diff(z,x)
diff(z,x,2)
(2) z=sqrt(ln(xy);
syms x y
z=sqrt(log(x*y));
diff(z,x)
diff(z,x,2)
(3)f=ln(x^2+1)+cosx;
syms x y
z=log(x^2+1)+cos(x);
diff(z,x)
diff(z,x,2)
(4)求方程 x2+y2-1=0 所确定函数的导数,dy/dx.
syms x y
f=x^2+y^2-1;
fx=diff(f,x);
fy=diff(f,y);
yx=-fx/fy
21、利用 for 循环语句,求下列级数的前 n 项的和,并指出敛散性。
(1)
(2)
22、在 [ -2,2 ]上,将下列三个函数的图像画在同一个图形窗口中。
syms x
x = linspace(-2,2,50);
l1=1./(2*(x.^2-x)); l2=1-x.^2; l3=1./(2*(x.^2+x));
subplot(3,3,1)
plot(x,l1)
title('$l1=1/(2*(x^2-x))$','Interpreter','latex') subplot(3,3,5) plot(x,l2) title('$l1=1-x^2$','Interpreter','latex') subplot(3,3,9) plot(x,l3) title('$l1=1/(2*(x^2+x))$','Interpreter','latex')
23、写出程序,利用 trapz 和 quad 计算下列积分值
(1)n=1000;
a=0;b=1;
h=(b-a)/n;
x=a:h:b;
y=x.^2+exp(-x)+log(x+1);
Q=trapz(x,y)
y=@(x)(x.^2+exp(-x)+log(x+1));
Q=quad(y,0,1)
(2)n=1000;
a=0;b=pi;
h=(b-a)/n;
x=a:h:b;
y=sin(x).^2;
Q=trapz(x,y)
y=@(x)(sin(x).^2);
Q=quad(y,0,pi)
24、(1)设 y=y(t) 满足方程 y″+5y′+4y=0 ,求函数y。
syms y(t)
dy=diff(y);
eq1=diff(y,2)+5*dy+4*y==0;
dsolve(eq1)
(2)设函数u=u(x) 满足下列条件, 求解该问题的解。
syms u(x)
du=diff(u);
eq1=diff(u,2)-2*du+u==-2*cos(x);
cond1=u(0)==0;
cond2=du(0)==1;
dsolve(eq1,cond1,cond2)
25、(1)利用ode45,求下列方程的数值解,并画出函数的图像。
fun=@(t,y)(2*t);
y0=0;
tspan=[0,2];
[t,y]=ode45(fun,tspan,y0)
plot(t,y,'g.-')
(2) 利用 dsolve 求此问题的解
syms y(t)
cond=y(0)==0;
dsolve(diff(y)==2*t,cond)
26、计算椭圆x2/9+y2/4=1的上半部分绕x轴旋转所形成的的旋转体的体积
%绘制图形
a=3;b=2;
x=0:0.1:a;
f=b/a*sqrt(a^2-x.^2); [X,Y,Z]=cylinder(f); Z=Z*a*2-a; surf(X,Y,Z) %计算体积 syms x a b; a=3;b=2; f=b/a*sqrt(a^2-x^2);
y=int(pi*f^2,0,a)
27、命令 Linspace(-1,2,11) 和 logspace(0,1,5) 的运行结果是什么?
(1)ans =
列 1 至 5
-1.0000 -0.7000 -0.4000 -0.1000 0.2000
列 6 至 10
0.5000 0.8000 1.1000 1.4000 1.7000
列 11
2.0000
(2)ans =
1.0000 1.7783 3.1623 5.6234 10.0000
28、编写一个文件,生成一个 50 阶矩阵和一个向量 (4 2 … 2 4)
29、设
(1)写出利用矩阵的左除求解 方程组 Ax =b的程序;
A=[9 4 2;4 7 1;1 5 8];
b=[2;3;-4];
A\b
x=b.*inv(A)
(2)写出利用 solve 解方程组的程序
syms x
A=[9 4 2;4 7 1;1 5 8];
b=[2;3;-4];
A\b
solve(A*x==b,x)