主要内容

潜艇

符号替换

描述

例子

snew=潜艇(年代古老的返回年代,替换所有发生的古老的,然后计算年代在这里年代是包含符号标量变量和古老的指定要替换的标量变量。

例子

snew=潜艇(年代返回年代,替换中出现的所有符号标量变量年代,然后计算年代。默认变量由定义symvar(s,1)

例子

snew=潜艇(年代返回年代,替换中的符号标量变量年代,其值从调用函数和MATLAB中获得®工作空间,然后计算年代.没有赋值的变量仍然作为变量。

例子

sMnew=潜艇(山猫奥德姆纽姆返回山猫,替换所有发生的奥德姆纽姆,然后计算山猫在这里山猫是包含符号矩阵变量和奥德姆指定要替换的矩阵变量(自从R2021b

例子

sMnew=潜艇(山猫纽姆返回山猫,替换中所有出现的默认符号矩阵变量山猫纽姆,然后计算山猫.(自从R2021b

例子

全部折叠

代替一个4在这个表达式。

符号一个b潜艇(a+b、a、4)
ans =
                      
                       
                        
                         
                          
                           b
                          
                           +
                          
                           4
                         
                        
                       
                      

代替a * b5在这个表达式。

潜艇(a * b ^ 2, a * b, 5)
ans =
                      
                       
                        
                         
                          
                           5
                          
                          
                          
                           b
                         
                        
                       
                      

将该表达式中的默认符号标量变量替换为一个.如果没有指定要替换的标量变量或表达式,潜艇使用symvar以查找默认变量。对于x + y,默认变量为x

符号xy一个symvar (x + y, 1)
ans =
                      
                       
                        
                         x
                       
                      

因此,SUB取代了x一个

潜艇(x + y)
ans =
                      
                       
                        
                         
                          
                           一个
                          
                           +
                          
                           y
                         
                        
                       
                      

将新值指定给符号标量变量时,不会自动计算包含该变量的表达式。相反,请使用潜艇

定义表达式y=x^2

符号xy=x^2;

分配2x.价值y仍然是x^2而不是4

x=2;y
y=
                      
                       
                        
                         
                          
                           x
                         
                         
                          
                           2
                         
                        
                       
                      

估计y具有新的价值x通过使用潜艇

潜艇(y)
ans =
                      
                       
                        
                         4
                       
                      

通过指定旧值和新值为向量进行多次替换。

符号一个bcos(a) + sin(b), [a,b], [sym(“阿尔法”), 2)
ans =
                      
                       
                        
                         
                          
                           
                            
                           
                           
                            
                            
                             
                              
                               2
                             
                            
                            
                           
                          
                          
                           +
                          
                           
                            
                             因为
                           
                           
                            
                            
                             
                              
                               α
                             
                            
                            
                           
                          
                         
                        
                       
                      

或者,对于多个替换,使用单元格数组。

cos(a) + sin(b), {a,b},“阿尔法”), 2})
ans =
                      
                       
                        
                         
                          
                           
                            
                           
                           
                            
                            
                             
                              
                               2
                             
                            
                            
                           
                          
                          
                           +
                          
                           
                            
                             因为
                           
                           
                            
                            
                             
                              
                               α
                             
                            
                            
                           
                          
                         
                        
                       
                      

替换符号标量变量一个在此表达式中,使用3×3幻方矩阵。注意,常数1扩展到3乘3矩阵,其所有元素等于1

符号一个tSubs (exp(a*t) + 1, a, -magic(3))
ans =

e - 8 t + 1 e - t + 1 e - 6 t + 1 e - 3. t + 1 e - 5 t + 1 e - 7 t + 1 e - 4 t + 1 e - 9 t + 1 e - 2 t + 1

还可以用非标量值替换向量、矩阵或数组的元素。例如,创建这些2 × 2矩阵。

A=sym(“A”,[2,2])
一个=

一个 1 1 一个 1 2 一个 2 1 一个 2 2

B=sym(“B”,[2,2])
B=

B 1 1 B 1 2 B 2 1 B 2 2

替换矩阵的第一个元素一个与矩阵B.在进行替换时,潜艇展开2×2矩阵一个进入这个4乘4矩阵。

A44=潜艇(A,A(1,1),B)
A44=

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

潜艇不允许将非标量或矩阵替换为缩小矩阵大小的标量。

创建以符号表达式作为字段值的结构数组。

符号xyzS =结构(“f1”x * y,‘f2’,y+z,“f3”, y ^ 2)
=结构体字段:f1:x*y f2:y+z f3:y^2

替换符号标量变量xy,z使用数字值。

Sval=subs(S[x y z],[0.5 1.5])
斯瓦尔=结构体字段:f1:1/2 f2:5/2 f3:1

替换符号标量变量xy使用这些2乘2矩阵。当进行涉及向量或矩阵的多个替换时,使用单元格数组指定新旧值。

符号xy子(x*y,{x,y},{[01;-10],[1-1;-21]})
ans =

0 - 1 2 0

请注意,由于xy都是标量,这些替换是按元素进行的。

[0 1; -1 0].*[1 -1; -2 1]
ans =2×20 -1 2 0

通过使用另一个方程中的变量值,从一个方程中消除标量变量。在第二个方程中,用隔离,然后用第一个等式中的变量替换右侧。

首先,声明方程方程n1方程n2

符号xy方程n1=sin(x)+y==x^2+y^2;方程n2=y*x==cos(x);

隔离y方程n2通过使用隔离

eqn2 =隔离(eqn2, y)
eqn2 =

y 因为 x x

排除y从…起方程n1通过替换方程n2用左边的方程n2方程n1

eqn1=潜艇(eqn1、lhs(eqn2)、rhs(eqn2))
eqn1 =

x + 因为 x x 因为 x 2 x 2 + x 2

代替x一个在这个符号函数中。

符号xy一个符号f (x, y)f(x,y)=x+y;f=子(f,x,a)
f (x, y) =
                      
                       
                        
                         
                          
                           一个
                          
                           +
                          
                           y
                         
                        
                       
                      

潜艇替换符号函数公式中的值,但不替换函数的输入参数。

公式(f)
ans =
                      
                       
                        
                         
                          
                           一个
                          
                           +
                          
                           y
                         
                        
                       
                      
argnames(f)
ans =
                      
                       
                        
                         
                         
                          
                           
                            
                             
                              x
                            
                           
                           
                            
                             
                              y
                            
                           
                          
                         
                         
                        
                       
                      

显式替换符号函数的参数。

符号xyf(x,y)=x+y;f(a,y)=subs(f,x,a);f
f(a,y)=
                      
                       
                        
                         
                          
                           一个
                          
                           +
                          
                           y
                         
                        
                       
                      

假设你想验证这个方程组的解。金宝搏官方网站

符号xy方程[x^2 + y^2 == 1, x == y]解(eq,[x y]);S.x
ans =

- 2 2 2 2

S.y
ans =

- 2 2 2 2

通过将溶液替换到原始系金宝搏官方网站统中来验证溶液。

isAlways(潜水艇(eqs,S))
ans =2 x2逻辑阵列1 1 1 1

自从R2021b

定义两个2 × 2矩阵的乘积。将矩阵声明为符号矩阵变量symmatrix数据类型。

符号XY[2 2]矩阵sM=X*Y
山猫=
                      
                       
                        
                         
                          
                           
                            
                             X
                           
                          
                          
                          
                          
                           
                            
                             Y
                           
                          
                         
                        
                       
                      

替换矩阵变量 X Y 用2 × 2的符号矩阵。当进行涉及向量或矩阵的多次替换时,使用单元格数组指定旧值和新值。

S=subs(sM,{X,Y},{[01;-10],[1-1;-21]})
=

Σ 1 Σ 2 哪里 Σ 1 0 1 - 1 0 Σ 2 1 - 1 - 2 1

转换表达式年代符号显示替换矩阵乘法结果的数据类型。

Ssym = symmatrix2sym (S)
Ssym =

- 2 1 - 1 1

自从R2021b

创建一个符号数字矩阵。

A = sym([1 4 2;4、1、2;2、2、3)
一个=

1 4 2 4 1 2 2 2 3.

的特征多项式的系数一个使用charpoly函数。

c = charpoly(一个);

接下来,定义 X 作为一个3 × 3的符号矩阵变量。使用系数c创建多项式的步骤 p X c 1 X 3. + c 2 X 2 + c 3. X + c 4 3. 哪里 X 是表示3×3矩阵的不确定项。

符号X[3 3]矩阵p=c(1)*X^3+c(2)*X^2+c(3)*X+c(4)*X^0
p =
                      
                       
                        
                         
                          
                           
                            
                             21
                            
                            
                            
                             
                              
                             
                             
                              
                               
                                3.
                              
                             
                            
                           
                          
                          
                           -
                          
                           
                            
                             17
                            
                            
                            
                             
                              
                               X
                             
                            
                           
                          
                          
                           -
                          
                           
                            
                             5
                            
                            
                            
                             
                              
                               
                                
                                 X
                               
                              
                             
                             
                              
                               2
                             
                            
                           
                          
                          
                           +
                          
                           
                            
                             
                              
                               X
                             
                            
                           
                           
                            
                             3.
                           
                          
                         
                        
                       
                      

代替 X 在多项式中 p X 一个使用潜艇函数。根据Cayley-Hamilton定理,这将得到一个3 × 3的零矩阵,因为这些系数c的特征多项式是一个.使用对称性将替换的表达式转换为符号数矩阵。

Y=subs(p,A)
Y=

- 17 Σ 1 - 5 Σ 1 2 + Σ 1 3. + 21 3. 哪里 Σ 1 1 4 2 4 1 2 2 2 3.

Z=对称性x2SYM(Y)
Z=

0 0 0 0 0 0 0 0 0

输入参数

全部折叠

输入,指定为符号标量变量、表达式、方程、函数、数组、矩阵或结构。

数据类型:符号|赛姆芬|结构体

要替换的标量变量,指定为符号标量变量、表达式、数组或单元格数组。

数据类型:符号|细胞

要替换的新值,指定为数字、符号数、标量变量、表达式、数组、结构或单元格数组。

数据类型:符号|仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64|烧焦|一串|结构体|细胞

自从R2021b

输入,指定为符号矩阵变量,或包含矩阵变量的符号表达式。

数据类型:symmatrix

自从R2021b

要替换的矩阵变量,指定为符号矩阵变量、符号表达式或包含矩阵变量的单元格数组。

数据类型:symmatrix|细胞

自从R2021b

要替换的新值,指定为数字、符号数、矩阵变量、表达式、数组或单元格数组。纽姆必须有相同的尺寸奥德姆,或作为默认的符号矩阵变量山猫

数据类型:符号|symmatrix|仅有一个的|双重的|int8|int16|int32|int64|uint8|uint16|uint32|uint64|烧焦|一串|结构体|细胞

提示

  • 潜艇(s型、旧型、新型)不修改年代.修改年代使用s =潜艇(s、旧、新)

  • 如果古老的都是相同大小的向量或单元格数组,潜艇替换的每个元素古老的与相应的元素

  • 如果古老的是标量吗是向量还是矩阵潜艇(s型、旧型、新型)替换的所有实例古老的年代,按元素执行所有操作。中的所有常量项年代替换为常数乘以所有1的向量或矩阵。

  • 如果年代是一元多项式和吗是数字矩阵,用吗polyvalm (sym2poly (s)、新)评估年代作为一个矩阵。所有常数项都被常数乘以一个恒等矩阵所代替。

之前介绍过的R2006a