创建符号数字、变量和表达式
这个例子显示了如何创建象征性的数字、变量和表达式。学习如何使用符号数学,看到的执行符号计算。
创建符号数字与精确表示
您可以创建通过象征性的数字信谊
。象征性的数字是准确的表征,与浮点数。
通过使用创建符号数字信谊
并比较他们相同的浮点数。
a1Sym =符号(1/3)
a1Sym =
a1 = 1/3
a1 = 0.3333
a2Sym =符号(π)
a2Sym =
a2 =π
a2 = 3.1416
象征性的数字表示在完全理性形式,而浮点数是十进制近似。
计算在象征性的数字是准确的。精确的发现证明了这一点sin(π)
象征意义和数值。象征性的结果是准确的,而数字结果是一个近似。
bSym =罪(信谊(π))
bSym =
b =罪(π)
b = 1.2246 e-16
当你使用信谊
数字输入,首先评估数值表达式的MATLAB®默认双精度数字可能不准确。然后,信谊
应用双精度数。代表一个确切数字没有评估双精度,使用特征向量和报价。例如,创建一个象征性的数字来表示一个非常大的整数。
inaccurateNum =符号(123456789012345678)
inaccurateNum =
accurateNum =符号(“123456789012345678”)
accurateNum =
您还可以创建具有象征意义的复数,通过指定一个数字的虚部1我
,2我
,等等。
信谊(1234567 + 1我的)
ans =
了解更多关于数字的符号表征,明白了数字符号转换。
创建符号数字与变量精度
您可以创建符号数字与变精度浮点算术通过使用vpa
。默认情况下,vpa
计算值32位有效数字。
piVpa = vpa(π)
piVpa =
当你使用vpa
一个数值表达式,如日志(2)
首先计算表达式,MATLAB默认的双精度数小于32位有效数字。然后,vpa
是应用于双精度数,可以不准确。更准确的结果,转换成双精度数字表达式中象征性的数字信谊
然后使用vpa
评价结果与变量的精度。例如,找到日志(2)
与17 - 20位精度。
vpaOnDouble = vpa(日志(2))
vpaOnDouble =
vpaOnSym_17 = vpa(日志(信谊(2)),17)
vpaOnSym_17 =
vpaOnSym_20 = vpa(日志(信谊(2)),20)
vpaOnSym_20 =
当你转换大量,完全使用引号来表示它们。
inaccurateNum = vpa (123456789012345678)
inaccurateNum =
accurateNum = vpa (“123456789012345678”)
accurateNum =
创建符号变量
信谊
——创建编号符号变量,象征性的MATLAB函数中的变量,或象征性的数字的值不同于他们的名字在MATLAB工作区。信谊
——创建新鲜的符号变量交互象征性的工作流,在MATLAB符号变量创建命令行或在MATLAB脚本。一个新鲜的符号变量没有任何假设。
的信谊
命令是速记信谊
语法,但两个函数处理假设不同。信谊
清除的假设在创建变量。然而,重新创建一个变量使用信谊
不清楚它的假设。更多细节关于这两个函数的差异,看到的选择符号或符号函数。
使用创建的符号变量x和y信谊
和信谊
,分别。
信谊xy =符号(“y”)
y =
第一个命令创建了一个符号变量x
在MATLAB工作区与价值
分配给变量x
。第二个命令创建了一个符号变量y
与价值
。
与信谊
在一个命令,您可以创建多个变量。创建一个变量一个
,b
,c
。
信谊一个bc
创建一系列符号变量
如果你想创建一个MATLAB数字符号变量,数组信谊
语法更方便信谊
语法。因此,使用信谊
创建许多编号的数组符号变量。
明确的工作空间。创建一个行向量包含符号变量
,并将其分配给MATLAB变量一个
。MATLAB的工作区中显示的变量。
清除=符号(“一个”20 [1])
一个=
谁
类属性名称大小字节1 x20的8个符号
一个
是一个1
——- - - - - -20.
20符号变量的数组。
通过结合信谊
和信谊
,你可以创建许多新鲜符号变量对应变量名在MATLAB工作区。
明确的工作空间。创建新符号变量a1,…,a10
MATLAB变量名和分配他们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;
现在,您可以执行各种数学运算φ
。例如:
f =φ^ 2 -φ- 1
f =
接下来,假设你想研究二次函数
。首先,创建符号变量一个
,b
,c
,x
。
信谊一个bcx
然后,创建一个象征性的表达f
表示算术表达式
。
f = * x ^ 2 + b * x + c
f =
解二次方程
为
通过使用解决
。
从=解决(f = = 0, x)
从=
您还可以将一个数学函数应用到一个算术表达式。例如,应用第一类贝塞尔函数 的算术表达式 并找到它的导数 。
J_0 = besselj (0 f)
J_0 =
DJ_0 = diff (J_0, x)
DJ_0 =
要创建一个象征性的数字符号表达式,使用信谊
。不要使用信谊
创建一个象征性的表达,是一个常数。例如,要创建一个表达式的值5
,输入f =符号(5)
。命令f = 5
没有定义f
作为一个象征性的表达。
您还可以创建通过使用符号表达式的字符串str2sym
当阅读表达式从文本文件或指定确切数字。
重用符号对象的名称
如果你设置一个变量等于符号表达式,然后应用信谊
命令的变量,MATLAB从变量中删除前面定义的表达式。
例如,创建一个符号表达式f
。
信谊一个bf = a + b
f =
如果你重现f,那么MATLAB消除了价值
的表达式f
。
信谊ff
f =
您可以使用信谊
命令清除变量的定义,你在MATLAB之前分配给他们的会话。信谊
清除变量的假设。这些假设(可以真实的,整数,理性,和积极的)符号对象分开存储。然而,重新创建一个变量使用信谊
不清楚它的假设。有关更多信息,请参见删除符号对象和他们的假设。