主要内容

创建符号数字、变量和表达式

这个例子显示了如何创建象征性的数字、变量和表达式。学习如何使用符号数学,看到的执行符号计算

创建符号数字与精确表示

您可以创建通过象征性的数字信谊。象征性的数字是准确的表征,与浮点数。

通过使用创建符号数字信谊并比较他们相同的浮点数。

a1Sym =符号(1/3)
a1Sym =

1 3

a1 = 1/3
a1 = 0.3333
a2Sym =符号(π)
a2Sym =
                  
                   
                    
                     π
                   
                  
a2 =π
a2 = 3.1416

象征性的数字表示在完全理性形式,而浮点数是十进制近似。

计算在象征性的数字是准确的。精确的发现证明了这一点sin(π)象征意义和数值。象征性的结果是准确的,而数字结果是一个近似。

bSym =罪(信谊(π))
bSym =
                  
                   
                    
                     0
                   
                  
b =罪(π)
b = 1.2246 e-16

当你使用信谊数字输入,首先评估数值表达式的MATLAB®默认双精度数字可能不准确。然后,信谊应用双精度数。代表一个确切数字没有评估双精度,使用特征向量和报价。例如,创建一个象征性的数字来表示一个非常大的整数。

inaccurateNum =符号(123456789012345678)
inaccurateNum =
                  
                   
                    
                     123456789012345680
                   
                  
accurateNum =符号(“123456789012345678”)
accurateNum =
                  
                   
                    
                     123456789012345678
                   
                  

您还可以创建具有象征意义的复数,通过指定一个数字的虚部1我,2我,等等。

信谊(1234567 + 1我的)
ans =
                  
                   
                    
                     
                      
                       1234567
                      
                       +
                      
                     
                    
                   
                  

了解更多关于数字的符号表征,明白了数字符号转换

创建符号数字与变量精度

您可以创建符号数字与变精度浮点算术通过使用vpa。默认情况下,vpa计算值32位有效数字。

piVpa = vpa(π)
piVpa =
                  
                   
                    
                     3.1415926535897932384626433832795
                   
                  

当你使用vpa一个数值表达式,如日志(2)首先计算表达式,MATLAB默认的双精度数小于32位有效数字。然后,vpa是应用于双精度数,可以不准确。更准确的结果,转换成双精度数字表达式中象征性的数字信谊然后使用vpa评价结果与变量的精度。例如,找到日志(2)与17 - 20位精度。

vpaOnDouble = vpa(日志(2))
vpaOnDouble =
                  
                   
                    
                     0.69314718055994528622676398299518
                   
                  
vpaOnSym_17 = vpa(日志(信谊(2)),17)
vpaOnSym_17 =
                  
                   
                    
                     0.69314718055994531
                   
                  
vpaOnSym_20 = vpa(日志(信谊(2)),20)
vpaOnSym_20 =
                  
                   
                    
                     0.69314718055994530942
                   
                  

当你转换大量,完全使用引号来表示它们。

inaccurateNum = vpa (123456789012345678)
inaccurateNum =
                  
                   
                    
                     123456789012345680.0
                   
                  
accurateNum = vpa (“123456789012345678”)
accurateNum =
                  
                   
                    
                     123456789012345678.0
                   
                  

创建符号变量

您可以创建符号变量使用信谊信谊。这些函数的典型应用包括:

  • 信谊——创建编号符号变量,象征性的MATLAB函数中的变量,或象征性的数字的值不同于他们的名字在MATLAB工作区。

  • 信谊——创建新鲜的符号变量交互象征性的工作流,在MATLAB符号变量创建命令行或在MATLAB脚本。一个新鲜的符号变量没有任何假设。

信谊命令是速记信谊语法,但两个函数处理假设不同。信谊清除的假设在创建变量。然而,重新创建一个变量使用信谊不清楚它的假设。更多细节关于这两个函数的差异,看到的选择符号或符号函数

使用创建的符号变量x和y信谊信谊,分别。

信谊xy =符号(“y”)
y =
                  
                   
                    
                     y
                   
                  

第一个命令创建了一个符号变量x在MATLAB工作区与价值 x 分配给变量x。第二个命令创建了一个符号变量y与价值 y

信谊在一个命令,您可以创建多个变量。创建一个变量一个,b,c

信谊一个bc

创建一系列符号变量

如果你想创建一个MATLAB数字符号变量,数组信谊语法更方便信谊语法。因此,使用信谊创建许多编号的数组符号变量。

明确的工作空间。创建一个行向量包含符号变量 一个 1 , , 一个 20. ,并将其分配给MATLAB变量一个。MATLAB的工作区中显示的变量。

清除=符号(“一个”20 [1])
一个=
                  
                   
                    
                     
                      (
                     
                      
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            1
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            2
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            3
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            4
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            5
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            6
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            7
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            8
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            9
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            10
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            11
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            12
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            13
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            14
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            15
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            16
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            17
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            18
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            19
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            一个
                          
                          
                           
                            20.
                          
                         
                        
                       
                      
                     
                     
                      )
                    
                   
                  
类属性名称大小字节1 x20的8个符号

一个是一个1——- - - - - -20.20符号变量的数组。

通过结合信谊信谊,你可以创建许多新鲜符号变量对应变量名在MATLAB工作区。

明确的工作空间。创建新符号变量a1,…,a10MATLAB变量名和分配他们a1,…,a10,分别。MATLAB的工作区中显示的变量。

明确的符号(信谊(“一个”10[1]))谁
名字大小字节类属性a1 1 x1 8 sym a10 1 x1 8 sym a2 1 x1 8 sym a3 1 x1 8 sym a4 1 x1 8 sym a5 1 x1 8 sym a6 1 x1 8 sym a7 1 x1 8 sym a8 1 x1 8 sym a9 1 x1 8信谊

MATLAB工作区包含10 MATLAB符号变量的变量。

信谊命令是一个方便的速记信谊语法,其互动的典型用途是创建新的符号变量符号工作流。使用信谊语法来创建以下:

  • 符号变量在MATLAB函数

  • 许多数字符号变量

  • 符号变量的值不同于它的名字在MATLAB工作区

  • 象征性的数字,等信谊(5)

  • 符号变量,继承了先前的假设使用符号变量有相同的名称

创建符号表情

假设您想使用一个符号变量代表黄金比例 φ = 1 + 5 2

使用信谊创建黄金比例。

φ=(1 +√(信谊(5)))/ 2;

现在,您可以执行各种数学运算φ。例如:

f =φ^ 2 -φ- 1
f =

5 2 + 1 2 2 - - - - - - 5 2 - - - - - - 3 2

接下来,假设你想研究二次函数 f = 一个 x 2 + bx + c 。首先,创建符号变量一个,b,c,x

信谊一个bcx

然后,创建一个象征性的表达f表示算术表达式 一个 x 2 + bx + c

f = * x ^ 2 + b * x + c
f =
                  
                   
                    
                     
                      
                       
                        
                         一个
                        
                        
                        
                         
                          
                           x
                         
                         
                          
                           2
                         
                        
                       
                      
                      
                       +
                      
                       
                        
                         b
                        
                        
                        
                         x
                       
                      
                      
                       +
                      
                       c
                     
                    
                   
                  

解二次方程 f = 0 x 通过使用解决

从=解决(f = = 0, x)
从=

( - - - - - - b + b 2 - - - - - - 4 一个 c 2 一个 - - - - - - b - - - - - - b 2 - - - - - - 4 一个 c 2 一个 )

您还可以将一个数学函数应用到一个算术表达式。例如,应用第一类贝塞尔函数 J 0 的算术表达式 f 并找到它的导数 x

J_0 = besselj (0 f)
J_0 =
                  
                   
                    
                     
                      
                       
                        
                         
                          J
                        
                        
                         
                          besselj
                         
                        
                       
                      
                      
                       
                        0
                      
                     
                     
                      
                       (
                      
                       
                        
                         
                          
                           
                            一个
                           
                           
                           
                            
                             
                              x
                            
                            
                             
                              2
                            
                           
                          
                         
                         
                          +
                         
                          
                           
                            b
                           
                           
                           
                            x
                          
                         
                         
                          +
                         
                          c
                        
                       
                      
                      
                       )
                     
                    
                   
                  
DJ_0 = diff (J_0, x)
DJ_0 =
                  
                   
                    
                     
                      
                       - - - - - -
                      
                       
                        
                         
                          
                           
                            
                             
                              J
                            
                            
                             
                              besselj
                             
                            
                           
                          
                          
                           
                            1
                          
                         
                         
                          
                           (
                          
                           
                            
                             
                              
                               
                                一个
                               
                               
                               
                                
                                 
                                  x
                                
                                
                                 
                                  2
                                
                               
                              
                             
                             
                              +
                             
                              
                               
                                b
                               
                               
                               
                                x
                              
                             
                             
                              +
                             
                              c
                            
                           
                          
                          
                           )
                         
                        
                        
                        
                        
                         
                          
                           
                            
                             b
                            
                             +
                            
                             
                              
                               2
                              
                              
                              
                               一个
                              
                              
                              
                               x
                             
                            
                           
                          
                         
                        
                       
                      
                     
                    
                   
                  

要创建一个象征性的数字符号表达式,使用信谊。不要使用信谊创建一个象征性的表达,是一个常数。例如,要创建一个表达式的值5,输入f =符号(5)。命令f = 5没有定义f作为一个象征性的表达。

您还可以创建通过使用符号表达式的字符串str2sym当阅读表达式从文本文件或指定确切数字。

重用符号对象的名称

如果你设置一个变量等于符号表达式,然后应用信谊命令的变量,MATLAB从变量中删除前面定义的表达式。

例如,创建一个符号表达式f

信谊一个bf = a + b
f =
                  
                   
                    
                     
                      
                       一个
                      
                       +
                      
                       b
                     
                    
                   
                  

如果你重现f,那么MATLAB消除了价值 一个 + b 的表达式f

信谊ff
f =
                  
                   
                    
                     f
                   
                  

您可以使用信谊命令清除变量的定义,你在MATLAB之前分配给他们的会话。信谊清除变量的假设。这些假设(可以真实的,整数,理性,和积极的)符号对象分开存储。然而,重新创建一个变量使用信谊不清楚它的假设。有关更多信息,请参见删除符号对象和他们的假设

另请参阅

||

相关的话题