【发布时间】:2015-01-15 18:14:41
【问题描述】:
- 如何让用户输入一个函数(例如:t)并将其存储为符号函数?
- 然后我想将所有符号函数存储在一个数组中:
假设我的第一个功能是:
f1 ( and I have gotten information of f1 by user in step 1 as f1=t)第二个是:f2 (and I have gotten information of f2 by user in step 1 as f2=t^2)现在我想做一个数组A= [ f1, f2]
这样,当我打电话给A(2) 时,它给了我f2,这反过来又给了我例如4 当我写 f2(2)
我已经知道如何将输入作为内联函数获取,并通过使用此程序 (http://www.mathworks.com/matlabcentral/fileexchange/33025-convert-inline-to-symbolic/content/inline2sym.m) 将其转换为 sym。但如果它存在,我想要一个更简单的方法。
【问题讨论】:
-
根本不要使用
inline函数——它们效率低下,并且如文档所述,已弃用。您只需要sym或symfun和基本的 Matlab 数组或单元格即可完成您所描述的操作。 -
symfun类型的数组是不可能的,您必须使用元胞数组。 -
@Daniel:是的。这就是为什么我在评论中提到使用元胞数组的原因。
symfun对象就像函数句柄。