Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab积分中的向量值极限_Matlab - Fatal编程技术网

matlab积分中的向量值极限

matlab积分中的向量值极限,matlab,Matlab,是否可以对任何matlab积分函数使用向量极限?由于我的程序的速度,我不得不避免for循环。你能给我一点做什么的线索吗 k=0:5 f=@(x)x^2 quad(f,k,k+1) 如果有人需要,我找到了我问题的答案:我将根据我使用quad函数的经验,尝试给你一个答案 从这一点开始: k=0:5; f=@(x) x.^2; 请注意您的f定义(不正确)和我的定义(正确)之间的差异 如果您只想在(0,5)范围内集成f,您可以轻松调用 quad(f,k(1),k(end)) 如果没有handle函

是否可以对任何matlab积分函数使用向量极限?由于我的程序的速度,我不得不避免for循环。你能给我一点做什么的线索吗

k=0:5
f=@(x)x^2
quad(f,k,k+1)

如果有人需要,我找到了我问题的答案:

我将根据我使用
quad
函数的经验,尝试给你一个答案

从这一点开始:

k=0:5;
f=@(x) x.^2;
请注意您的
f
定义(不正确)和我的定义(正确)之间的差异

如果您只想在
(0,5)
范围内集成
f
,您可以轻松调用

quad(f,k(1),k(end))
如果没有handle函数,您可以通过使用
trapz
,以不同的方式获得相同的结果:

x = 0:5;
y = x.^2;
trapz(x,y)
相反,如果您打算在小范围内执行逐步积分
[k(i),k(i+1)]
,您可以键入

arrayfun(@(ii) quad(f,k(ii),k(ii+1)),1:numel(k)-1)
为了方便起见,请注意

sum(arrayfun(@(ii) quad(f,k(ii),k(ii+1)),1:numel(k)-1)) == quad(f,k(1),k(end))

我希望这能有所帮助。

但你是说
0
5
之间的积分是积分极限吗?这与我在下文中给出的逐步积分的解决方案完全相同。谢谢你的回复,但我认为把“ii”也带到一些我想要避免的“循环”中:(通常
arrayfun
是一个很好的折衷方案,可以加快MATLAB代码的速度。顺便说一句,除了我建议的方法之外,也许还有其他几种方法。