MATLAB中如何对含有多个变量的函数,只对其中一个或两个变量进行数值积分

MATLAB中如何对含有多个变量的函数,只对其中一个或两个变量进行数值积分,而其他变量为设定的定值呢?

最好用的方法

由于对一个或两个变量进行积分方法类似,下面通过一个对两个变量进行积分的案例来介绍这种方法。
案例问题描述:有函数f=x+y+z,在z值为3的条件下,对x和y进行积分,x的积分范围为0到1,y的积分范围为0到2.
求解代码:

f = @(x,y,z)x+y+z;
res = integral2(@(x,y)f(x,y,3),0,1,0,2);

执行结果为: res=9


  • 上面为求解此案例最好的方法,但是有时候存在函数f并非这样简单的一个函数,可能是通过其他数值解法求出来的函数,这时f可能存在于一个单独的函数文件中,这种情况下同样可以完成积分的求解。
  • 文件myfun.m中的代码
function res = myfun(x,y,z)
	res = x+y+z;	%这里替换需要求解的函数的代码块
end
  • 主函数中代码
res = integral2(@(x,y)myfun(x,y,3),0,1,0,2);

结果同样为: res=9

扩展方法

还有另一中方法是将需要设置为常量的参数定义为全局变量,不作为函数myfun的传参,这样可以直接在integral2中调用myfun函数进行传参,不过这种方法并不是很好用。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值