Matlab:如何在修复其他变量的值的同时整合函数的输入变量的子集?

时间:2015-01-15 10:35:46

标签: matlab

假设我想在x的x0到x1区域上集成一个函数,形式为output = myfunc(x,y,var1,var2,...,varN),而不仅仅是x和y变量和y从fy0(x)到fy1(x),其中fy0()和fy1()是x的两个函数。每次执行2d积分时,myfunc() - var1,var2,...,varN的其他变量将取一些固定值。

btw:myfunc()相当长,不能用@编写为匿名函数。

我该怎么办?非常感谢!

1 个答案:

答案 0 :(得分:1)

首先,修复所有常量以获得2参数函数:

var1=3
var2=pi
myfunc2=@(x,y)myfunc(x,y,var1,var2)

这种方式myfunc2是一个匿名函数,它使用给定的x和y以及myfunc amd var1的已定义值调用var2。请记住,myfunc2会将变量复制到其自己的范围。如果您在创建匿名函数后修改var1var2,则无法修改myfunc2

现在您可以使用integral2。对于ymin和ymax函数句柄被接受。