Live编辑器中符号工作流的下一步建议
从R2021b开始,当您在Live Editor中运行生成符号输出的代码时,Live Editor将提供一个上下文菜单,其中包含特定于输出的下一步建议。要打开建议菜单,您可以指向符号输出并单击三个点图标,或者右键单击符号输出。重新打开符号工作流活动脚本时,再次运行代码以获得下一步建议。
使用这些建议菜单,可以将函数调用或Live Editor任务插入并执行到活动脚本中。这些建议菜单的典型用途包括:
计算符号表达式并将其转换为数值。
简化和操作,或解决符号数学方程。
画出象征性的表达。
执行矩阵和向量的运算,例如求矩阵的逆和行列式,求向量的雅可比矩阵和旋度。
执行微积分函数,如微分,积分,变换,求解微分方程。
在测量单位之间转换并验证单位尺寸。
例如,在一个新的活动脚本中,创建一个符号表达式。
Expr = (pi + sym(2))^2
expr =
点击运行来查看结果,这是一个符号输出。当您第一次运行生成符号输出的代码时,Live Editor将显示三个点图标为建议的下一步与弹出通知。您还可以指向符号输出以调出三个点图标。若要在工作流的其余部分中抑制弹出通知,请选择不要再出现了.
单击三个点图标位于输出的右侧,以打开建议菜单。当您指向一个菜单项时,实时编辑器会让您预览选择该菜单项时发生的情况。例如,如果你指向近似数值,您可以看到它建议的新代码行。
选择近似数值添加建议的新代码行。实时编辑器插入vpa
函数传入代码区域,并自动运行当前部分以数值方式求值表达式。
Var = vpa(expr)
var =
另一个例子,创建一个符号方程。运行实时脚本生成符号输出。用数值方法解决这个方程,用符号提示下一步。
信谊x一个Eqn = (2*x^2 + a)/(x + 1) = 3
eqn =
若要打开建议菜单,还可以右键单击符号输出。选择用数值方法求解方程.
当你点击数值求解方程建议,实时编辑器插入vpasolve
函数进入代码区。Live Editor然后自动运行当前部分以数值求解方程。
Var2 = vpasolve(eqn,x)
var2 =
以下部分提供更多示例,展示如何在符号工作流中使用交互式建议菜单。
简化符号表达
创建一个包含指数函数和虚数的符号表达式。运行以下代码生成符号输出。
信谊x我expr = 1 * (exp (1 * x) - exp (1 * x)) / (exp (1 * x) + exp (1 * x))
expr =
要简化表达式,右键单击符号输出并选择重写和简化表达式>简化表达式.
动态编辑器插入并应用简化符号表达交互式简化或重新排列符号表达式的活动任务。将计算工作量更改为媒介得到一个更简单的结果。
系数替换和二次方程求解
创建一个带系数的二次方程 , , .运行以下代码生成符号输出。
信谊一个bcxEqn = a*x²+ b*x + c == 0
eqn =
要替换方程中的系数,右键单击输出并选择替代变量.
实时编辑器插入潜艇
函数替换方程中的系数和变量。为潜艇
函数,Live Editor不会自动运行该函数。来代替
,
,
的第二个和第三个参数潜艇
函数(a, b, c)
而且(3 2 0)
.之后运行“实时编辑器”部分以应用潜艇
函数。
Var3 = subs(eqn,[a,b,c],[3,2,0])
var3 =
要求解二次方程,右键单击输出并选择解析解方程.
动态编辑器插入并应用求解符号方程交互式查找符号方程解析解的实时任务。金宝搏官方网站
绘制显式和隐式函数
创建三个符号变量x
,y
,z
还有一个正弦函数。运行以下代码生成符号输出。
信谊xyzF = sin(2*x)
f =
要绘制正弦函数,右键单击输出并选择绘图函数>绘图函数.
实时编辑器绘制正弦函数使用fplot
.
fplot (f)
接下来,创建一个表示双曲线的方程。运行以下代码生成符号输出。
Eqn = x²- y²= 1
eqn =
要绘制正弦函数,右键单击输出并选择绘制函数>绘制二维隐式方程.
实时编辑器绘制双曲线使用fimplicit
.
fimplicit (eqn)
接下来,创建一个表示环面的符号函数。运行以下代码生成符号输出。
f (x, y, z) = (x ^ 2 + y ^ 2 + z ^ 2 + 3 ^ 2 - 2 ^ 2) ^ 2 - 4 * 3 ^ 2 * (x ^ 2 + y ^ 2)
F (x, y, z) =
要绘制环面,右键单击输出并选择在三维中绘制隐式方程.
实时编辑器绘制环面使用fimplicit3
.
fimplicit3 (f)
应用矩阵函数
创建三个符号变量x
,y
,z
和一个符号矩阵。运行以下代码生成符号输出。
信谊xyzM1 = sym([x^2 + a, x;Y + 2,3 * Y ^2])
M1 =
要求矩阵的倒数,右键单击输出并选择应用矩阵函数>逆矩阵.注意应用矩阵函数>逆矩阵只有当符号输出为符号矩阵时,建议才可用。
动态编辑器插入并应用发票
求矩阵的逆函数。
var4 = inv(M1)
var4 =
接下来,创建一个1乘3的符号向量。运行以下代码生成符号输出。
M2 = sym([x*y*z, y^2, x + z])
M2 =
要计算向量的雅可比矩阵,右键单击输出并选择应用矩阵函数>计算向量的雅可比矩阵.注意应用矩阵函数>计算向量的雅可比矩阵只有当符号输出为符号向量时,建议才可用。
动态编辑器插入并应用雅可比矩阵
函数来计算向量的雅可比矩阵。
var5 =雅可比矩阵(M2)
var5 =
接下来,创建另一个1乘3的符号向量。运行以下代码生成符号输出。
M3 = sym([x^2*y, 2*x, z])
M3 =
要计算向量的旋度,右键单击输出并选择应用矩阵函数>计算向量场的旋度.
动态编辑器插入并应用旋度
函数来计算向量的旋度。
var6 =旋度(M3)
var6 =
求解微分方程,计算积分变换,并找到极点
创建一个二阶微分方程。运行以下代码生成符号输出。
信谊f (x)年代Eqn = diff(f,x,x) == -9*f
eqn (x) =
要求解微分方程,右键单击输出并选择解微分方程.注意解微分方程只有当符号输出是微分方程时,建议才可用。
动态编辑器插入并应用dsolve
函数来解微分方程。
Var7 = dsolve(eqn)
var7 =
接下来,求解的拉普拉斯变换。右键单击dsolve
并选择计算积分变换>计算拉普拉斯变换.
动态编辑器插入并应用拉普拉斯
函数来计算拉普拉斯变换。
Var8 =拉普拉斯(var7)
var8 =
最后,求出拉普拉斯变换的极点。右键单击拉普拉斯变换的输出并选择应用微积分函数>计算函数的极点.
动态编辑器插入并应用波兰人
函数来计算极点。
Var9 =极点(var8,s)
var9 =
转换单位和检查单位的一致性
创建两个不同单位的长度的比率。运行以下代码生成符号输出。
U =符号单位;比率= (7*u.mi)/(420*u.ft)
率=
将单位转换为米-克-秒制。右键单击输出并选择应用物理单位函数>转换单位.注意应用物理单元功能只有当符号输出包含符号单位时,建议才可用。
动态编辑器插入并应用unitConvert
函数将单位转换为米-克-秒制。
var10 = unitConvert(ratio,[symunit(“米”), symunit (‘g’), symunit (“年代”)))
var10 =
接下来,创建两个符号表达式x
而且y
描述了
- - -
-移动弹丸的坐标。创建一个符号方程r
的单位比较x
而且y
长度单位米
而且英国《金融时报》
.运行以下代码生成符号输出。
信谊θtsxyrG = 9.81*u.m/ us ^2;V = 10*u.m/ us;T = ts*美国;X = v*cos(theta)*t;Y = v*sin(theta)*t + (-g*t²)/2;R = [x == u.m y == u.ft]
r =
检查单位的一致性r
.右键单击输出并选择应用物理单元功能>检查单元一致性.
动态编辑器插入并应用checkUnits
功能,以检查一致性和兼容性的单位r
.
的checkUnits
函数返回一个包含字段的结构一致的
而且兼容的
.的一致的
字段返回逻辑1(真正的)
如果所有项都在r
具有相同的尺寸和相同的单位,转换系数为1。的兼容的
字段返回逻辑1(真正的)
如果所有的项都有相同的维度,但不一定是相同的单位。
var11 = checkUnits(r)
var11 =带字段的结构:Consistent: [1 0] Compatible: [1 1]