Wolfram mathematica 具有带下标和上标的参数
我想在mathematica中定义一个对象/符号,它将有几个参数,例如:Wolfram mathematica 具有带下标和上标的参数,wolfram-mathematica,Wolfram Mathematica,我想在mathematica中定义一个对象/符号,它将有几个参数,例如:S=(1-t)({b_I}^x,{b_I}^y)+t({b_{I+1}^x,{b_{I+1}^y)(某种乳胶符号)。在这个例子中,我试图描述连接两点的线段bii和bii+1} 如何在mathematica中定义这样的对象? 我发现了以下两个问题: 但我不确定我是否正确使用了它们。我所做的如下。首先,我援引: Needs["Notation`"]; Symbolize[ ParsedBoxWrapper[ Subsc
S=(1-t)({b_I}^x,{b_I}^y)+t({b_{I+1}^x,{b_{I+1}^y)
(某种乳胶符号)。在这个例子中,我试图描述连接两点的线段bii
和bii+1}
如何在mathematica
中定义这样的对象?
我发现了以下两个问题:
Needs["Notation`"];
Symbolize[
ParsedBoxWrapper[
SubscriptBox["\[SelectionPlaceholder]", "\[Placeholder]"]]]
Symbolize[
ParsedBoxWrapper[
SuperscriptBox["\[SelectionPlaceholder]", "\[Placeholder]"]]]
然后,我实际定义了对象:
(1 - t) {Subscript[b, i]^x, Subscript[b, i]^y} +
t {Subscript[b, i + 1]^x, Subscript[b, i + 1]^y}
这是做我想做的事的正确方法吗?我不完全确定我是否理解你的意思。你所说的“对象”
(1 - t) {Subscript[b, i]^x, Subscript[b, i]^y} +
t {Subscript[b, i + 1]^x, Subscript[b, i + 1]^y}
不是一个实体,而是两个列表的总和,每个列表由两个组件组成。因此,我假设您确实希望将下标[b,I]^x
定义为一个符号
您可以使用
符号
包中的符号
执行此操作。但是,使用在按下符号调色板上的符号按钮时生成的模板是绝对重要的(你在运行时得到了这一点,进一步了解了Sjoerd的答案:既然你说符号s
带有各种参数,我想你可能想探索用参数定义函数的方法。假设你确实希望s
具有两个点的向量值,那么类似下面的东西将定义s
S[x_,y_,t_,i_]:= (1-t) * {b[i]^x,b[i]^y} + t * {(b[i+1])^x,(b[i+1])^y}
问题是你是否真的需要下标。Sjoerd的答案显示了如何使用符号包来完成这一点,但是你应该考虑这个额外的复杂性是否对你的分析是必要的。< /P>
根据rcollyer非常有用的评论进行编辑
您可以使用定义自定义函数的表示形式。这与定义类似,但与表示形式有关,而不是与重写规则有关
类似于以下的方法应该可以工作:
Format[S[x_,y_,t_,i_],TraditionalForm] :=
(1 - t) {Subscript[b, i]^x, Subscript[b, i]^y} +
t {Subscript[b, i + 1]^x, Subscript[b, i + 1]^y}
我也很难理解这个问题。你在找。@Simon,对不起,我不太明白文档没有明显的错误,它只是没有说明全部情况。文档中的按键将生成一个Subsuperscriptbox
,这是注释包将看到的内容。但是,Mma由def生成ault将其解释为Power[Subscript[…]]
,这通常是您想要的。当您在输入中创建useSubsuperscript
时,Mma通过创建interprelationbox[Subsuperscript box[…],Subsuperscript[…],Editable->False]来保护它不受标准解释的影响]
,而且可编辑->假
位很烦人。