主要内容

集成

这个例子展示了如何使用symbol Math Toolbox™计算定积分。

定积分

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

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

极大值和极小值的定积分

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

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

然后,定义函数最大化:

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

1 - 2 2 如果 一个 1 2 一个 一个 2 因为 1 - 一个 2 因为 一个 2 1 一个 4 - 1 如果 一个 1 分段(= = 1,信谊(1)- sin(信谊(2))/ 2,一个~ = 1 (2 * * (sin (^ 2) * cos(信谊(1))^ 2 * cos (^ 2) * sin(信谊(1))))/ (^ 4 - 1))

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

assumeAlso (~ = 1);F = int (sin (x *) * sin (x / a), x - a, a)
F =

2 一个 一个 2 因为 1 - 一个 2 因为 一个 2 1 一个 4 - 1 (2 * * (sin (^ 2) * cos(信谊(1))^ 2 * cos (^ 2) * sin(信谊(1))))/ (^ 4 - 1)

创造一个情节 F 检查它的形状:

fplot (F, 10 [0])

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

使用diff求导数 F 关于 一个

Fa = diff (F)
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 (2 * (sin (^ 2) * cos(信谊(1))^ 2 * cos (^ 2) * sin(信谊(1))))/ (^ 4 - 1)+ (2 * * (2 * * cos (^ 2) * cos(信谊(1))- 2 * * cos (^ 2) * sin(信谊(1))+ 2 * 3 ^ *罪罪(^ 2)*(信谊(1))))/ (^ 4 - 1)- (8 * 4 ^ * (sin (^ 2) * cos(信谊(1))^ 2 * cos (^ 2) * sin(信谊(1))))/ (^ 4 - 1)^ 2

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

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

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

最大值在1到2之间。使用vpasolve求的零点的近似值 F 一个 在这个时间间隔:

a_max = vpasolve (Fa, [1,2])
a_max =
                 
                  
                   
                    
                     1.5782881585233198075558845180583
                   
                   
                    vpa(“1.5782881585233198075558845180583”)
                  
                 

使用潜艇求积分的最大值:

a_max F_max =潜艇(F)
F_max =
                 
                  
                   
                    
                     
                      
                       
                        0.36730152527504169588661811770092
                       
                       
                       
                        
                         
                          因为
                        
                        
                         
                         
                          
                           
                            1
                          
                         
                         
                        
                       
                      
                     
                     
                      +
                     
                      
                       
                        1.2020566879911789986062956284113
                       
                       
                       
                        
                         
                        
                        
                         
                         
                          
                           
                            1
                          
                         
                         
                        
                       
                      
                     
                    
                   
                   
                    vpa (0.36730152527504169588661811770092) * cos(信谊(1))+ vpa(1.2020566879911789986062956284113) *罪(信谊(1))
                  
                 

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

vpa (F_max)
ans =
                 
                  
                   
                    
                     1.2099496860938456039155811226054
                   
                   
                    vpa(“1.2099496860938456039155811226054”)
                  
                 

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

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

多个集成

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

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

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

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

线积分

定义向量场F在3 d空间:

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

接下来,定义一条曲线:

信谊t用户体验(t) =罪(t);uy (t) = t ^ 2 t;是乌斯(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

uy F_int = int (F(用户体验,是乌斯)* diff((用户体验;uy;是乌斯),t), t, 0, 1)
F_int =

19 因为 1 4 - 因为 3. 108 - 12 1 + 3. 27 + 395 54 (信谊(19)* cos(信谊(1)))/ 4 - cos(信谊(3))/ 108 -信谊(12)*罪罪(信谊(1))+(信谊(3))/ 27 +符号(395/54)

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

vpa (F_int)
ans =
                 
                  
                   
                    
                     
                      -
                     
                      0.20200778585035447453044423341349
                    
                   
                   
                    vpa(“0.20200778585035447453044423341349”)