主要内容

孩子们

符号表达式的子表达式或术语

从R2020b开始,语法subexpr=子级(expr)对于标量输入expr返回子表达式作为一个嵌套单元阵列而不是向量。你可以用subexpr=子级(expr,ind)索引到返回的子表达式单元格数组。有关详细信息,请参阅<一href="//www.tatmou.com/help/symbolic/sym.children.html" class="intrnllnk">兼容性的考虑.

描述

例子

subexpr=儿童(<一href="#bs9fbt_-expr" class="intrnllnk">expr)返回包含符号表达式子表达式的非嵌套单元格数组expr. 例如,和的子表达式是它的项。

例子

subexpr=儿童(<一href="#bs9fbt_-A" class="intrnllnk">A)返回一个嵌套单元格数组,其中包含符号矩阵中每个表达式的子表达式A

例子

subexpr=儿童(___,<一href="#mw_0ed6b4a5-22ba-4082-a6ba-0aa35b52a17a" class="intrnllnk">印第安纳州)返回符号表达式的子表达式<一href="#bs9fbt_-expr" class="intrnllnk">expr或者一个符号矩阵<一href="#bs9fbt_-A" class="intrnllnk">A作为索引为的单元格数组印第安纳州

例子

全部折叠

找到符号表达式的子表达式 x 2 + x y + y 2 .子表达式在非嵌套单元格数组中返回。孩子们返回子表达式时使用内部排序规则。可以使用子表达式{i},在哪里是单元格索引。总和的子表达式是其项。

符号xy子表达式=子级(x^2+x*y+y^2)
子表达式=1×3单元阵列{1x1 sym} {1x1 sym} {1x1 sym}
s1 = subexpr {1}
s1=
                      
                       
                        
                         
                          
                           x
                          
                          
                          
                           y
                         
                        
                        
                         x*y
                       
                      
s2 = subexpr {2}
s2=
                      
                       
                        
                         
                          
                           
                            x
                          
                          
                           
                            2
                          
                         
                        
                        
                         x^2
                       
                      
s3=子表达式{3}
s3=
                      
                       
                        
                         
                          
                           
                            y
                          
                          
                           
                            2
                          
                         
                        
                        
                         y ^ 2
                       
                      

您还可以通过指定索引来索引子表达式的每个元素印第安纳州孩子们功能。

s1=子项(x^2+x*y+y^2,1)
s1=
                      
                       
                        
                         
                          
                           x
                          
                          
                          
                           y
                         
                        
                        
                         x*y
                       
                      
s2=子项(x^2+x*y+y^2,2)
s2=
                      
                       
                        
                         
                          
                           
                            x
                          
                          
                           
                            2
                          
                         
                        
                        
                         x^2
                       
                      
S3 = children(x^2 + x*y + y^2,3)
s3=
                      
                       
                        
                         
                          
                           
                            y
                          
                          
                           
                            2
                          
                         
                        
                        
                         y ^ 2
                       
                      

要将子表达式的单元格数组转换为向量,可以使用以下命令[subexpr {}):

V = [subexpr {}):
五=
                      
                       
                        
                         
                          
                           (
                          
                           
                            
                             
                              
                               
                                
                                 x
                                
                                
                                
                                 y
                               
                              
                             
                            
                            
                             
                              
                               
                                
                                 x
                               
                               
                                
                                 2
                               
                              
                             
                            
                            
                             
                              
                               
                                
                                 y
                               
                               
                                
                                 2
                               
                              
                             
                            
                           
                          
                          
                           )
                         
                        
                        
                         [x*y,x^2,y^2]
                       
                      

找到方程的子表达式 x 2 + x y = y 2 + 1 .方程的子表达式以1 × 2单元格数组的形式返回。索引到单元格数组的所有元素。方程的子表达式是方程的左右两边。

符号xy子表达式=子表达式(x^2+x*y==y^2+1)
子表达式=1×2单元阵列{1x1 sym} {1x1 sym}
子表达式{:}
ans=
                      
                       
                        
                         
                          
                           
                            
                             x
                           
                           
                            
                             2
                           
                          
                          
                           +
                          
                           
                            
                             y
                            
                            
                            
                             x
                           
                          
                         
                        
                        
                         x ^ 2 + y * x
                       
                      
ans=
                      
                       
                        
                         
                          
                           
                            
                             y
                           
                           
                            
                             2
                           
                          
                          
                           +
                          
                           1
                         
                        
                        
                         y^2+1
                       
                      

接下来,找到这个不等式的子表达式 ( x ) < 因为 ( x ) .索引返回的单元格数组的所有元素。一个不等式的子表达式是这个不等式的左右两边。

subxpr = children(sin(x) < cos(x))
子表达式=1×2单元阵列{1x1 sym} {1x1 sym}
子表达式{:}
ans=
                      
                       
                        
                         
                          
                         
                         
                          
                           (
                          
                           
                            
                             x
                           
                          
                          
                           )
                         
                        
                        
                         sin (x)
                       
                      
ans=
                      
                       
                        
                         
                          
                           因为
                         
                         
                          
                           (
                          
                           
                            
                             x
                           
                          
                          
                           )
                         
                        
                        
                         cos(x)
                       
                      

求积分的子表达式 b f ( x ) d x . 子表达式作为符号表达式的单元格数组返回。

符号f(x)bsubexpr =孩子(int (f (x), a, b))
子表达式=1×4单元阵列{1x1 sym} {1x1 sym} {1x1 sym}
V = [subexpr {}):
五=
                      
                       
                        
                         
                          
                           (
                          
                           
                            
                             
                              
                               
                                
                                 f
                               
                               
                                
                                 (
                                
                                 
                                  
                                   x
                                 
                                
                                
                                 )
                               
                              
                             
                            
                            
                             
                              
                               x
                             
                            
                            
                             
                              
                             
                            
                            
                             
                              
                               b
                             
                            
                           
                          
                          
                           )
                         
                        
                        
                         [f(x), x, a, b]
                       
                      

求泰勒近似 因为 ( x ) 函数附近 x = 2

符号xt =泰勒(cos (x), x, 2)
t =
                      

因为 ( 2 ) + ( 2 ) x - 2 6 - ( 2 ) x - 2 5 120 - ( 2 ) x - 2 - 因为 ( 2 ) x - 2 2 2 + 因为 ( 2 ) x - 2 4 24 cos(信谊(2))+(罪(信谊(2))* (x - 2) ^ 3) / 6 -(罪(信谊(2))* (x - 2) ^ 5) / 120 - sin(信谊(2))* (x - 2)——(cos(信谊(2))* (x - 2) ^ 2) / 2 + (cos(信谊(2))* (x - 2) ^ 4) / 24

泰勒展开式有六个项,它们之间用 + 签字。

画出 因为 ( x ) 功能。使用孩子们分离出展开式的项。表明泰勒展开式在包含更多项时更接近函数。

fplot(cos(x),[04])持有在s=0;对于I = 1:6 s = s + children(t, I);fplot ([0 4],'--')结束传奇({‘cos(x)’,“一个任期”,“两个条款”,“三方面”,“4个条款”,“5个条款”,“六项”})

图中包含一个轴。轴包含7个functionline类型的对象。这些对象表示cos(x)、1项、2项、3项、4项、5项、6项。

打电话给孩子们函数查找下列符号矩阵输入的子表达式。结果是2——- - - - - -2包含矩阵每个元素的子表达式的嵌套单元格数组。

符号xy对称=[x+y,sin(x)*cos(y);x^3-y^3,exp(x*y^2)+3]
西姆=
                      

( x + y 因为 ( y ) ( x ) x - y e x y 2 + ) [x+y,cos(y)*sin(x);x^3-y^3,exp(x*y^2)+3]

s =孩子(symM)
=2×2单元阵列{1x2单元}{1x2单元}{1x2单元}{1x2单元}

解除嵌套或访问嵌套单元格数组的元素,使用大括号。例如{1,1}-的元素是一个1——- - - - - -2符号表达式的单元格数组。

s11=s{1,1}
s11=1×2单元阵列{1x1 sym} {1x1 sym}

分解的每个元素使用括号。使用方括号将非嵌套单元格数组转换为向量。

s11vec = [s {1} {}):
s11vec=
                      
                       
                        
                         
                          
                           (
                          
                           
                            
                             
                              
                               x
                             
                            
                            
                             
                              
                               y
                             
                            
                           
                          
                          
                           )
                         
                        
                        
                         (x, y)
                       
                      
s21vec=[s{2,1}{:}]
s21vec=
                      
                       
                        
                         
                          
                           (
                          
                           
                            
                             
                              
                               
                                
                                 x
                               
                               
                                
                               
                              
                             
                            
                            
                             
                              
                               
                                
                                 -
                                
                                 
                                  
                                   y
                                 
                                 
                                  
                                 
                                
                               
                              
                             
                            
                           
                          
                          
                           )
                         
                        
                        
                         [x ^ 3, - y ^ 3]
                       
                      
s12vec=[s{1,2}{:}]
s12vec =
                      
                       
                        
                         
                          
                           (
                          
                           
                            
                             
                              
                               
                                
                                 因为
                               
                               
                                
                                 (
                                
                                 
                                  
                                   y
                                 
                                
                                
                                 )
                               
                              
                             
                            
                            
                             
                              
                               
                                
                               
                               
                                
                                 (
                                
                                 
                                  
                                   x
                                 
                                
                                
                                 )
                               
                              
                             
                            
                           
                          
                          
                           )
                         
                        
                        
                         [cos(y)、sin(x)]
                       
                      
s22vec = [s {2,} {}):
s22vec =
                      
                       
                        
                         
                          
                           (
                          
                           
                            
                             
                              
                               
                                
                                 e
                               
                               
                                
                                 
                                  
                                   x
                                  
                                  
                                  
                                   
                                    
                                     y
                                   
                                   
                                    
                                     2
                                   
                                  
                                 
                                
                               
                              
                             
                            
                            
                             
                              
                             
                            
                           
                          
                          
                           )
                         
                        
                        
                         (exp (x * y ^ 2),信谊(3))
                       
                      

嵌套单元格数组的每个元素包含相同大小的非嵌套单元格数组,则还可以使用印第安纳州输入参数以访问嵌套单元格数组的元素。索引印第安纳州允许孩子们访问符号矩阵输入的每一列子表达式西姆。

scol1=儿童(对称,1)
scol1=2×2单元阵列{1x1 sym} {1x1 sym} {1x1 sym}
[scol1{:}]。'
ans=
                      

( x x 因为 ( y ) e x y 2 ) [x;x^3;cos(y);exp(x*y^2)]

scol2=儿童(symM,2)
scol2=2×2单元阵列{1x1 sym} {1x1 sym} {1x1 sym}
[scol2{}):”。
ans=
                      

( y - y ( x ) ) [y;- y ^ 3;sin (x);信谊(3))

输入参数

全部折叠

输入表达式,指定为符号数字、变量、函数或表达式。

输入矩阵,指定为符号矩阵。

要返回的子子表达式的索引,指定为正整数。

  • 如果儿童(expr)返回子表达式的非嵌套单元格数组,然后使用儿童(expr、ind)返回印第安纳州单元格数组的第一个元素。

  • 如果儿童(A)返回子表达式的嵌套单元格数组,其中每个单元格元素具有相同的大小,然后索引儿童(A,ind)返回印第安纳州非嵌套单元格数组的第th列。

兼容性的考虑

全部展开

行为在R2020b中改变

介绍了R2012a