我想使用quad作为极限列表而没有for循环。作为一个基本的例子quad with vector limit
T=[1 2 3];
[email protected](x)x.^2
quad(0,T(1),f)
计算我所需要的,但我想保存四(0,T(1)中,f)四(0,T(2)中,f)四(0,T(3 ),f)作为一个向量。可能这是一件基本的事情,但我找不到任何解决方案。 我很感激所有帮助,
我想使用quad作为极限列表而没有for循环。作为一个基本的例子quad with vector limit
T=[1 2 3];
[email protected](x)x.^2
quad(0,T(1),f)
计算我所需要的,但我想保存四(0,T(1)中,f)四(0,T(2)中,f)四(0,T(3 ),f)作为一个向量。可能这是一件基本的事情,但我找不到任何解决方案。 我很感激所有帮助,
使用arrayfun
:
T=[1 2 3];
[email protected](x)x.^2
Q = arrayfun(@(x) quad(f,0,x), T);
*请注意,您的文章有论点quad
不正确的顺序。
这只是这里的品种。你可以试试这个Matlab Central entry。正如发布中所述,这是我见过的唯一的矢量化数值方法。
我喜欢'arrayfun',并且使用它很多 - 但请记住,在像这样的情况下(功能很复杂),您所做的只是隐藏for循环。 – Edric 2012-03-09 16:59:14