我想在matlab中计算int[0,10]int[0,y] f(x,y) dxdy
。当然,我可以使用integral2或quad2d来完成它:integral2(f,0,10,0,@(x)x)
。但是,我也可以处理g(y)=nt[0,y] f(x,y) dx
并执行积分int[0,10] g(y) dy
。而不是使用integral2,我想只使用积分来进行计算。我写的代码是:
g=@(y)integral(@(x)f(x,y),0,y)
integral(g,0,10)
但是,它会显示错误消息
Error using integral (line 85)
A and B must be floating point scalars.
我的问题是:是否可以用单个积分表示双积分?怎么做?此外,我想对积分进行矢量化,以便我可以输入将数字10更改为矢量,比如0:1:10?
答案 0 :(得分:0)