将Matlab中的函数转换为适当的形式

时间:2013-08-15 15:55:38

标签: matlab function math

我编写了一个函数feval,它接受​​两个参数并吐出一个数字。

现在我想使用命令integral2来集成我的函数feval(x,y)

问题似乎是integral2认为我有一个函数可以将两个数组作为参数并对它们应用成对运算。不幸的是,这种情况并非如此。我的功能只能使用2个数字而不能使用完整数组。是否有任何标准方法可以使这项工作?

实际上,这是我现在的代码,MATLAB声称 q = integral2(@(x,y)arrayfun(func_cross_scat,x,y),0,2 * pi,0,pi); 我的函数(feval,我重命名为func_cross_scat没有得到足够的输入参数)

1 个答案:

答案 0 :(得分:1)

Feed integral2不是feval,而feval_wrapper定义为

feval_wrapper = @(x,y) arrayfun(feval, x, y)

xy现在可以是数组(大小相同)。这是有效的,因为arrayfun为输入数组fevalx的每对元素调用y,并给出一个数组作为结果。

作为旁注,“feval”可能不是你的函数的好名字,因为Matlab有一个内置的feval