主要内容

集成

这个例子展示了如何使用符号数学工具箱™计算定积分。

定积分

证明这个定积分 一个 b f x d x f x 年代 n x π 2 3. π 2 是0。

信谊xint (sin (x),π/ 2,3 *π/ 2)
ans =
                  
                   
                    
                     0
                   
                  

定积分的极大值和极小值

最大化 F 一个 - 一个 一个 一个 x x / 一个 d x 一个 0 ,首先定义符号变量,并假设 一个 0

信谊一个x假设(a >= 0);

然后定义最大化函数:

F = int(sin(a*x)*sin(x/a) x,-a,a)
F =

1 - 2 2 如果 一个 1 2 一个 一个 2 因为 1 - 一个 2 因为 一个 2 1 一个 4 - 1 如果 一个 1

注意这里的特殊情况 一个 1 .为了使计算更容易,使用assumeAlso忽略这种可能性(稍后再检查。 一个 1 不是最大值):

假设also (a ~= 1);F = int(sin(a*x)*sin(x/a) x,-a,a)
F =

2 一个 一个 2 因为 1 - 一个 2 因为 一个 2 1 一个 4 - 1

创建一个关于 F 检查形状:

fplot (F, 10 [0])

图中包含一个轴对象。axis对象包含一个functionline类型的对象。

使用diff求的导数 F 关于 一个

Fa = diff(F,a)
Fa =

2 σ 1 一个 4 - 1 + 2 一个 2 一个 因为 一个 2 因为 1 - 2 一个 因为 一个 2 1 + 2 一个 3. 一个 2 1 一个 4 - 1 - 8 一个 4 σ 1 一个 4 - 1 2 在哪里 σ 1 一个 2 因为 1 - 一个 2 因为 一个 2 1

的零点 F 一个 的局部极值 F

持有fplot(Fa,[0 10])网格

图中包含一个轴对象。axis对象包含2个functionline类型的对象。

最大值在1和2之间。使用vpasolve求的零点的近似值 F 一个 在这个区间内:

a_max = vpasolve(Fa,a,[1,2])
a_max =
                  
                   
                    
                     1.5782881585233198075558845180583
                   
                  

使用潜艇要得到积分的最大值:

F_max = subs(F,a,a_max)
F_max =
                  
                   
                    
                     
                      
                       
                        
                         0.36730152527504169588661811770092
                        
                        
                        
                         
                          
                           因为
                         
                         
                          
                          
                           
                            
                             1
                           
                          
                          
                         
                        
                       
                      
                      
                       +
                      
                       
                        
                         1.2020566879911789986062956284113
                        
                        
                        
                         
                          
                         
                         
                          
                          
                           
                            
                             1
                           
                          
                          
                         
                        
                       
                      
                     
                    
                   
                  

结果仍然包含精确的数字 1 而且 因为 1 .使用vpa用数值近似代替:

vpa (F_max)
ans =
                  
                   
                    
                     1.2099496860938456039155811226054
                   
                  

检查排除的情况 一个 1 不会产生更大的值:

vpa (int (sin (x) * sin (x), x, 1, 1))
ans =
                  
                   
                    
                     0.54535128658715915230199006704413
                   
                  

多个集成

高维区域上的数值积分有特殊的功能:

integral2 (@ (x, y) x ^ 2 y ^ 2。0,- 1,0,1)
Ans = 4.0127e-19

对于高维符号积分,没有这样的特殊函数。使用嵌套的一维积分代替:

信谊xyint (int (x ^ 2 y ^ 2, y, 0, 1), x, 0, 1)
ans =
                  
                   
                    
                     0
                   
                  

线积分

定义一个向量场F在三维空间中:

信谊xyzF(x,y,z) = [x^2*y*z, x*y, 2*y*z];

接下来,定义一条曲线:

信谊tUx (t) = sint;Uy (t) = t^2-t;Uz (t) = t;

的线积分F沿着曲线u定义为 f d u f u x t u y t u z t d u d t d t ,在那里 右边表示标量积。

用这个定义来计算的线积分 t 0 1

F_int = int(F(ux,uy,uz)*diff([ux;uy;uz],t),t,0,1)
F_int =

19 因为 1 4 - 因为 3. 108 - 12 1 + 3. 27 + 395 54

得到这个精确结果的数值近似值:

vpa (F_int)
ans =
                  
                   
                    
                     
                      
                       -
                      
                       0.20200778585035447453044423341349