主要内容

创建符号矩阵变量

自从R2021a

符号矩阵变量用紧凑矩阵表示法表示矩阵、向量和标量。当数学公式涉及到矩阵和向量时,使用符号矩阵变量来写它们比用分量来写它们更简洁和清晰。当您这样做时,您可以从教科书中获取基于矢量的表达式和方程,将它们输入Symbolic Math Toolbox™,对它们执行数学运算,并从中推导出进一步的方程。

涉及符号矩阵变量的推导方程在排版中显示,就像在教科书中一样。例如,创建三个符号矩阵变量 一个 x , y 通过使用信谊.求表达式的微分 y T 一个 x 对这个向量 x

信谊一个[3 - 4]矩阵信谊x(4 - 1)矩阵信谊y(3 - 1)矩阵eq = y.'*A*x .
情商=
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          y
                        
                       
                      
                      
                       
                        T
                      
                     
                     
                     
                     
                      
                       
                        一个
                      
                     
                     
                     
                     
                      
                       
                        x
                      
                     
                    
                   
                  
                 
D = diff(eq,x)
D =
                 
                  
                   
                    
                     
                      
                       
                        
                         
                          y
                        
                       
                      
                      
                       
                        T
                      
                     
                     
                     
                     
                      
                       
                        一个
                      
                     
                    
                   
                  
                 

符号标量变量矩阵与符号矩阵变量的比较

符号矩阵变量是符号标量变量的替代品。这两个选项的类型和显示方式不同。

例如,创建两个3.符号标量变量的-by-4矩阵信谊.为简洁起见,有时称为符号标量变量的矩阵象征性的矩阵.这些矩阵通过列出它们的组件来显示。

信谊一个B3 [2]一个
一个=

一个 1 1 一个 1 2 一个 1 3. 一个 2 1 一个 2 2 一个 2 3.

B
B =

B 1 1 B 1 2 B 1 3. B 2 1 B 2 2 B 2 3.

由符号标量变量组成的矩阵是类型信谊

类(一)
Ans = 'sym'

对这些矩阵应用符号数学运算可以得到用矩阵分量表示的复杂解。例如,矩阵相乘一个而且B”

C = a * b '
C =

一个 1 1 B 1 1 + 一个 1 2 B 1 2 + 一个 1 3. B 1 3. 一个 1 1 B 2 1 + 一个 1 2 B 2 2 + 一个 1 3. B 2 3. 一个 2 1 B 1 1 + 一个 2 2 B 1 2 + 一个 2 3. B 1 3. 一个 2 1 B 2 1 + 一个 2 2 B 2 2 + 一个 2 3. B 2 3.

若要创建相同大小的符号矩阵变量,请使用信谊命令,然后是变量名、变量大小和矩阵关键字。符号矩阵变量以粗体显示,以区别于符号标量变量。

信谊一个B3 [2]矩阵一个
一个=
                  
                   
                    
                     
                      
                       一个
                     
                    
                   
                  
B
B =
                  
                   
                    
                     
                      
                       B
                     
                    
                   
                  

符号矩阵变量是类型symmatrix

类(一)
Ans = 'symmatrix'

将符号数学运算应用于符号矩阵变量可以得到简洁的显示。例如,乘法一个而且B”

C = a * b '
C =
                  
                   
                    
                     
                      
                       
                        
                         一个
                       
                      
                      
                      
                      
                       
                        
                         
                          
                           
                            
                             
                              
                               
                                B
                              
                             
                            
                            
                             
                            
                           
                          
                         
                        
                       
                       
                        
                         T
                       
                      
                     
                    
                   
                  

符号矩阵变量的数学运算

符号矩阵变量被认为是非交换对象。它们支持常金宝app见的数学运算,您可以使用这些运算来构建符号矩阵变量表达式。

信谊一个B(2 - 2)矩阵A* b - b *A
ans =
                  
                   
                    
                     
                      
                       
                        
                         
                          
                           一个
                         
                        
                        
                        
                        
                         
                          
                           B
                         
                        
                       
                      
                      
                       -
                      
                       
                        
                         
                          
                           B
                         
                        
                        
                        
                        
                         
                          
                           一个
                         
                        
                       
                      
                     
                    
                   
                  

例如,检查两个符号矩阵变量之间乘法的换易关系。

isequal (A * B, B *)
ans =逻辑0

检查加法的换易关系。

isequal (A + B, B + A)
ans =逻辑1

如果操作有任何类型的参数symmatrix时,结果自动转换为类型symmatrix.例如,乘一个矩阵一个它由符号矩阵变量和标量表示c它由符号标量变量表示。结果是类型的symmatrix

信谊一个(2 - 2)矩阵信谊c类(一)
Ans = 'symmatrix'
类(c)
Ans = 'sym'
M = c*A
M =
                  
                   
                    
                     
                      
                       
                        c
                      
                      
                      
                      
                       
                        
                         一个
                       
                      
                     
                    
                   
                  
类(米)
Ans = 'symmatrix'

将三个由符号矩阵变量表示的矩阵相乘。结果X是asymmatrix对象。

信谊V(2 - 1)矩阵X = v .'* a * v
X =
                  
                   
                    
                     
                      
                       
                        
                         
                          
                           V
                         
                        
                       
                       
                        
                         T
                       
                      
                      
                      
                      
                       
                        
                         一个
                       
                      
                      
                      
                      
                       
                        
                         V
                       
                      
                     
                    
                   
                  
类(X)
Ans = 'symmatrix'

你可以通过symmatrix对象作为数学函数的参数。例如,执行一个数学运算X求的微分X关于V

diff (X, V)
ans =
                  
                   
                    
                     
                      
                       
                        
                         
                          
                           
                            
                             V
                           
                          
                         
                         
                          
                           T
                         
                        
                        
                        
                        
                         
                          
                           
                            
                             一个
                           
                          
                         
                         
                          
                           T
                         
                        
                       
                      
                      
                       +
                      
                       
                        
                         
                          
                           
                            
                             V
                           
                          
                         
                         
                          
                           T
                         
                        
                        
                        
                        
                         
                          
                           一个
                         
                        
                       
                      
                     
                    
                   
                  

从符号标量变量数组创建符号矩阵变量

属性可以将符号标量变量数组转换为单个符号矩阵变量symmatrix函数。以这种方式转换的符号矩阵变量将按元素显示。

信谊一个[3 - 4]类(一)
Ans = 'sym'
B = symmatrix(A)
B =

Σ 1 在哪里 Σ 1 一个 1 1 一个 1 2 一个 1 3. 一个 1 4 一个 2 1 一个 2 2 一个 2 3. 一个 2 4 一个 3. 1 一个 3. 2 一个 3. 3. 一个 3. 4

类(B)
Ans = 'symmatrix'

将符号矩阵变量转换为符号标量变量数组

方法可以创建符号矩阵变量、推导方程,然后将结果转换为符号标量变量的数组symmatrix2sym函数。

例如,求两个符号矩阵变量的矩阵乘积一个而且B.结果X是类型的symmatrix

信谊一个B(2 - 2)矩阵X = a * b
X =
                  
                   
                    
                     
                      
                       
                        
                         一个
                       
                      
                      
                      
                      
                       
                        
                         B
                       
                      
                     
                    
                   
                  
类(X)
Ans = 'symmatrix'

转换符号矩阵变量X到符号标量变量数组。转换矩阵Y是类型的信谊

Y = symmatrix2sym(X)
Y =

一个 1 1 B 1 1 + 一个 1 2 B 2 1 一个 1 1 B 1 2 + 一个 1 2 B 2 2 一个 2 1 B 1 1 + 一个 2 2 B 2 1 一个 2 1 B 1 2 + 一个 2 2 B 2 2

类(Y)
Ans = 'sym'

检查符号矩阵变量转换得到的乘积是否等于两个符号标量变量数组的乘积。

信谊一个B(2 - 2)isequal (Y, A * B)
ans =逻辑1

符号矩阵变量索引

对符号矩阵变量进行索引将以另一个符号矩阵变量的形式返回相应的矩阵元素。

信谊一个3 [2]矩阵a = a (2,3)
一个=
                  
                   
                    
                     
                      
                       
                        一个
                      
                      
                       
                        2
                       
                       
                        3.
                      
                     
                    
                   
                  
类(一)
Ans = 'symmatrix'

或者,转换符号矩阵变量一个转化为由符号标量变量组成的矩阵。然后,索引到这个矩阵中。

symmatrix2sym(A)
Asym =

一个 1 1 一个 1 2 一个 1 3. 一个 2 1 一个 2 2 一个 2 3.

(2,3)
asym =
                  
                   
                    
                     
                      
                       一个
                     
                     
                      
                       2
                      
                      
                       3.
                     
                    
                   
                  
类(asym)
Ans = 'sym'

注意,两个结果是相等的。

isequal (a, symmatrix (asym))
ans =逻辑1

显示涉及符号矩阵变量的操作

返回的矩阵眼睛0,通常在符号工作流中具有特定符号的特殊含义。将这些矩阵声明为符号矩阵变量将以粗体显示矩阵和矩阵维数。

symmatrix(眼(3))
ans =
                  
                   
                    
                     
                      
                     
                     
                      
                       
                        3.
                      
                     
                    
                   
                  
symmatrix(0(2、3)
ans =
                  
                   
                    
                     
                      
                       0
                     
                     
                      
                       
                        2
                      
                      
                      
                       
                        3.
                      
                     
                    
                   
                  
symmatrix((3、5))
ans =
                  
                   
                    
                     
                      
                       1
                     
                     
                      
                       
                        3.
                      
                      
                      
                       
                        5
                      
                     
                    
                   
                  

如果在MATLAB®中按组件操作的输入是符号矩阵变量,那么输出也是。这些操作以特殊的符号表示,这些符号遵循教科书中的约定。

信谊一个B[3 3]矩阵a * B
ans =
                  
                   
                    
                     
                      
                       
                        
                         一个
                       
                      
                      
                      
                       
                        
                         B
                       
                      
                     
                    
                   
                  
a / B
ans =
                  
                   
                    
                     
                      
                       
                        
                         一个
                       
                      
                      
                      
                       
                        
                         B
                       
                      
                     
                    
                   
                  
答:\ B
ans =
                  
                   
                    
                     
                      
                       
                        
                         B
                       
                      
                      
                      
                       
                        
                         一个
                       
                      
                     
                    
                   
                  
答:* hilb (3)
ans =

一个 Σ 1 在哪里 Σ 1 1 1 2 1 3. 1 2 1 3. 1 4 1 3. 1 4 1 5

答:^ (2 * 1 (3))
ans =
                  
                   
                    
                     
                      
                       
                        
                         一个
                       
                      
                     
                     
                      
                      
                       
                        
                         
                          2
                         
                         
                         
                          
                           
                            1
                          
                          
                           
                            
                             3.
                           
                           
                           
                            
                             3.
                           
                          
                         
                        
                       
                      
                     
                    
                   
                  
B a . ^
ans =
                  
                   
                    
                     
                      
                       
                        
                         一个
                       
                      
                     
                     
                      
                      
                       
                        
                         
                          B
                        
                       
                      
                     
                    
                   
                  
克隆亚麻(A, B)
ans =
                  
                   
                    
                     
                      
                       
                        
                         一个
                       
                      
                      
                      
                       
                        
                         B
                       
                      
                     
                    
                   
                  
伴随(A)
ans =
                  
                   
                    
                     
                      
                       邻接的
                     
                     
                      
                      
                       
                        
                         
                          
                           一个
                         
                        
                       
                      
                      
                     
                    
                   
                  
trace ()
ans =
                  
                   
                    
                     
                      
                       Tr
                     
                     
                      
                      
                       
                        
                         
                          
                           一个
                         
                        
                       
                      
                      
                     
                    
                   
                  

另请参阅

||

相关的话题