Matlab符号微积分练习

19 篇文章 6 订阅

由于这篇博文公式实在太多,截图又不太好看,所以切换到Markdown编辑器下来写。还好CSDN的这个Markdown支持LaTeX公式,方便许多了。
1.计算下列各式:
(1) limx0tanxsinx1cos2x

%1(1)
clear
clc
syms x;
f=(tan(x)-sin(x))/(1-cos(2*x));
limit(f) %其它等价用法 limit(f,0) limit(f,x,0)

结果

ans =

0

(2) limx+x2+xex

%1(2)
clear
clc
syms x;
f=(x^2+x)/exp(x);
limit(f,inf) %其它等价用法 limit(f,x,inf)

结果

ans =

0

(3) y=x32x2+sinx ,求 y

%1(3)
clear
clc
syms x;
y=x^3-2*x^2+sin(x);
diff(y) %其它等价用法 diff(y,x) diff(y,1) diff(y,x,1)

结果

ans =

cos(x) - 4*x + 3*x^2

(4) sin2xlnx ,求 y

%1(4)
clear
clc
syms x;
y=sin(2*x)*log(x);
diff(y) %其它等价用法 diff(y,x) diff(y,1) diff(y,x,1)

结果

ans =

2*cos(2*x)*log(x) + sin(2*x)/x

(5) f=ln(x+y2) ,求 fx , fy , 2fxy

clear
clc
syms x y;
f=log(x+y^2);
diff(f,x) %其它等价用法 diff(f) diff(f,1) diff(f,x,1)
diff(f,y) %其它等价用法 diff(f,y,1)
diff(diff(f,x),y)

结果

ans =

1/(y^2 + x)


ans =

(2*y)/(y^2 + x)


ans =

-(2*y)/(y^2 + x)^2

(6) y=xyln(x+y) ,求 fx , fy , 2fxy

%1(6)将表达式中等号左边的y改成f
clear
clc
syms x y;
f=x*y*log(x+y);
df_dx=diff(f,x)
df_dy=diff(f,y)
dff_dxdy=diff(diff(f,x),y)

结果

df_dx =

y*log(x + y) + (x*y)/(x + y)


df_dy =

x*log(x + y) + (x*y)/(x + y)


dff_dxdy =

log(x + y) + x/(x + y) + y/(x + y) - (x*y)/(x + y)^2
%1(6)把整个表达式视为f=0
clear
clc
syms x y;
f=y-x*y*log(x+y);
df_dx=diff(f,x)
df_dy=diff(f,y)
dff_dxdy=diff(diff(f,x),y)
%此题还可以考隐函数求导,对于F(x,y)=0,dy/dx=-Fx/Fy(注意负号和顺序)
dy_dx=-df_dx/df_dy
dyy_dxx=diff(-df_dx/df_dy,x)

结果

df_dx =

- y*log(x + y) - (x*y)/(x + y)


df_dy =

1 - (x*y)/(x + y) - x*log(x + y)


dff_dxdy =

(x*y)/(x + y)^2 - x/(x + y) - y/(x + y) - log(x + y)


dy_dx =

-(y*log(x + y) + (x*y)/(x + y))/(x*log(x + y) + (x*y)/(x + y) - 1)


dyy_dxx =

((y*log(x + y) + (x*y)/(x + y))*(log(x + y) + x/(x + y) + y/(x + y) - (x*y)/(x + y)^2))/(x*log(x + y) + (x*y)/(x + y) - 1)^2 - ((2*y)/(x + y) - (x*y)/(x + y)^2)/(x*log(x + y) + (x*y)/(x + y) - 1)

(7) cos(4x+3)dx , π60cos(4x+3)dx

%1(7)
clear
clc
syms x;
f=cos(4*x+3);
int(f)
int(f,0,pi/6) %其它等价用法int(f,x,0,pi/6)

结果

ans =

sin(4*x + 3)/4


ans =

(3^(1/2)*cos(3))/8 - (3*sin(3))/8

(8) y=ln(1+t)dx , 270ln(1+t)dx

%1(8)把题中所有dx改为dt
clear
clc
syms t;
y=log(1+t);
int(y)
int(y,0,27) %其它等价用法int(y,t,0,27)

结果

ans =

(log(t + 1) - 1)*(t + 1)


ans =

28*log(28) - 27

2.计算下列定积分
(1)计算积分 11x+x3+x5dx 的值
(2)计算积分 101sinx+cosxdx 的值
(3)计算积分 62ex2dx 的值
(4)计算积分 101xx4+4dx 的值
(5)计算积分 101101sinyx+y4+x2dxdy 的值
(6)计算积分 101y1yx+y4dxdy 的值
(7)计算积分 30z101y1yx+y4dxdydz 的值

%2
clear
clc
syms x y z;
int(x+x^3+x^5,-1,1)
int(sin(x)+cos(x),1,10)
int(exp(x/2),2,6)
int(x/(x^4+4),1,10)
int(int(sin(y)*(x+y)/(4+x^2),x,1,10),y,1,10)
int(int(y*(x+y)/4,x,1,y),y,1,10)
int(z*int(int(y*(x+y)/4,x,1,y),y,1,10),0,3)

结果

ans =

0


ans =

cos(1) - cos(10) - sin(1) + sin(10)


ans =

2*exp(1)*(exp(2) - 1)


ans =

atan(50)/4 - atan(1/2)/4


ans =

log(520^(1/2)/5)*(cos(1) - cos(10)) - (atan(1/2)*(cos(1) - 10*cos(10) - sin(1) + sin(10)))/2 + (atan(5)*(cos(1) - 10*cos(10) - sin(1) + sin(10)))/2


ans =

27135/32


ans =

244215/64

3.求解下列非线性方程(组)
(1)

0.4x+0.3124y+2.6598z+6.9785w=0.243.142x+8.22y+6.16z+0.254w=3.2510.1785x+5.358y+9.7932z+3.846w=0.212.643x+8.321y+0.283z+6.735w=2.354

clear
clc
syms x y z w;
f1=0.4*x+0.3124*y+2.6598*z+6.9785*w-0.24;
f2=3.142*x+8.22*y+6.16*z+0.254*w-3.251;
f3=0.1785*x+5.358*y+9.7932*z+3.846*w-0.21;
f4=2.643*x+8.321*y+0.283*z+6.735*w+2.354;
[x,y,z,w]=solve(f1,f2,f3,f4)

结果

x =

-4629578672873047/19238652687953436


y =

3345137846701581/1603221057329453


z =

-29542916663552315/38477305375906872


w =

19161390580068175/38477305375906872

(2)

0.9501x+0.8913y+0.8214z+0.9218w=0.240.2311x+0.7621y+0.4447z+0.7382w=0.54280.6068x+0.4565y+0.6154z+0.1763w=0.53760.4860x+0.0185y+0.7919z+0.4057w=0.5714

%3(2)
clear
clc
syms x y z w;
f1=0.9501*x+0.8913*y+0.8214*z+0.9218*w-0.24;
f2=0.2311*x+0.7621*y+0.4447*z+0.7382*w-0.5428;
f3=0.6068*x+0.4565*y+0.6154*z+0.1763*w-0.5376;
f4=0.4860*x+0.0185*y+0.7919*z+0.4057*w+0.5714;
[x,y,z,w]=solve(f1,f2,f3,f4)

结果

x =

-825043647512601/577559329613032


y =

-349805538096493/577559329613032


z =

1204288618243359/577559329613032


w =

96242555204173/288779664806516

4.求解下列非线性方程(组)
(1) x2x1=0

clear
clc
syms x;
solve('x^2-x-1=0')

结果

ans =

 1/2 - 5^(1/2)/2
 5^(1/2)/2 + 1/2

(2) 2x3+x2+3x1=0

%4(2)
clear
clc
syms x;
solve('2*x^3+x^2+3*x-1=0')

结果

ans =

                                                                                                                       ((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3) - 17/(36*((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3)) - 1/6
 17/(72*((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3)) - ((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3)/2 - 1/6 - (3^(1/2)*(17/(36*((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3)) + ((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3))*i)/2
 17/(72*((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3)) - ((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3)/2 - 1/6 + (3^(1/2)*(17/(36*((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3)) + ((419^(1/2)*1728^(1/2))/1728 + 10/27)^(1/3))*i)/2

(3)

{x0.7sinx0.2cosy=0y0.7cosx+0.2siny=0

%4(3)
clear
clc
syms x y;
f1=x-0.7*sin(x)-0.2*cos(y);
f2=y-0.7*cos(x)+0.2*sin(y);
[x,y]=solve(f1,f2)%4(3)
clear
clc
syms x y;
f1=x-0.7*sin(x)-0.2*cos(y);
f2=y-0.7*cos(x)+0.2*sin(y);
[x,y]=solve(f1,f2)

结果

x =

0.52652262191818418730769280519209


y =

0.50791971903684924497183722688768

(4)

x2y2=0xy2=α

%4(3)
clear
clc
syms x y alpha;
[x,y]=solve('x^2*y^2=0','x-y/2=alpha',x,y)

结果

x =

 alpha
     0


y =

        0
 -2*alpha

5.求解微分方程,初始值都设为0。
(1) y=2y+3x2+1
(2) y=y+4x

clear
clc
dsolve('Dy = -2*y+3*x^2+1','y(0)=0') %等价dsolve('Dy = -2*y+3*x^2+1','y(0)=0','t')
dsolve('Dy = -y+4*x','y(0)=0') %等价dsolve('Dy = -y+4*x','y(0)=0','t')

结果

ans =

(3*x^2)/2 - (3*x^2 + 1)/(2*exp(2*t)) + 1/2


ans =

4*x - (4*x)/exp(t)

6.已知函数 f=sin2xlnx ,绘制一个子图,上面两个子图分别为f导函数及其积分函数在区间[-5,5],步长为0.2,颜色分别为红色,黑色虚线的图像,下面的子图为f的图形,区间步长同上,颜色为蓝色点划线,加图例分别为导函数,积分函数,原函数。

clear
clc
syms x;
f=sin(2*x)*log(x);
df=diff(f);
intf=int(f);
x1=-5:0.2:5;
y1=real(subs(df,x,x1));
%因为结果中含有虚部,画图时会出现警告Warning: Imaginary parts of complex X and/or Y arguments ignored 
%加real()函数忽略警告
x2=-5:0.2:5;
y2=real(subs(intf,x,x2));
subplot(221);plot(x1,y1,'r--');legend('导函数');   
subplot(222);plot(x2,y2,'k--');legend('积分函数'); 
x3=-5:0.2:5;
y3=real(subs(f,x,x3)); 
subplot(2,2,[3 4]);plot(x3,y3,'b-.');legend('原函数'); 

结果
6题图片

7.绘制方程 4x29y24 在区间 x[2,2] , y[1,1] 的网格图形,步长取0.2。

%7
clear  
clc  
x=-2:0.2:2;  
y=-1:0.2:1;  
[X,Y]=meshgrid(x,y);  
Z=sqrt(4-X.^2/9-Y.^2/4);
plot3(X,Y,Z);

7题结果图
8.绘制方程 5x23y27 在区间 x[2,2] , y[1,1] 的三维曲面图形,步长取0.1。

%8
clear  
clc  
x=-2:0.1:2;  
y=-1:0.1:1;  
[X,Y]=meshgrid(x,y);  
Z=sqrt(5-X.^2/3-Y.^2/7);  
mesh(X,Y,Z);

8题结果图
9.绘制方程 f=y1+x2+y2 在区间 x[4,4] , y[2,2] 的三维网格加网格线图形,步长取0.25。

%9
clear
clc
x=-4:0.25:4;
y=-2:0.25:2;
[X,Y]=meshgrid(x,y);  
Z=Y./(1+X.^2+Y.^2);  
mesh(X,Y,Z);
grid on

9题结果图
注:Matlab2010b中surf*函数,mesh*函数都自动带网格
补充:shading interp对图像进行插值处理使其连续光滑

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值