这很简单,但出于某些原因我在互联网上找不到解决方案。我有一个Matlab中的向量函数:
E(s) = [E_1(s),E_2(s),E_3(s)]
我希望能对其进行索引,通常在Matlab中你会使用
E(1)
来表示第一个元素。然而这一方法只会计算s
等于2
的向量。E(s)(1)
也会出现错误。以下是参考代码:http:// pastebin.com/vCuxkchN。
这很简单,但出于某些原因我在互联网上找不到解决方案。我有一个Matlab中的向量函数:
E(s) = [E_1(s),E_2(s),E_3(s)]
E(1)
来表示第一个元素。然而这一方法只会计算s
等于2
的向量。E(s)(1)
也会出现错误。您有一个返回向量的符号函数。键入whos
,您会发现E
的类是symfun
。不幸的是,我认为您不能直接索引符号函数。但是,您可以通过将其设置为新变量并传入符号变量s
来将其转换为符号表达式(类sym
)。
Es = E(s);
现在您应该能够按照您的要求评估Es(1)
,Es(2)
和Es(3)
。
s
和其他符号变量插入值吗?如果是这样,你可以使用subs
。或者你可以将Es
向量的每个元素转换回符号函数,例如,Es2(s) = symfun(Es(2),s)
。然后你可以用Es2(3)
来评估第二个元素在s
等于3时的值。尝试一下,有很多选择,你可能能够找出如何重新向量化它,如果这是你想要的话。 - horchler