作者askooen (刺刺的凤梨)
看板MATLAB
标题[讨论] 有关数值积分
时间Mon May 27 01:51:19 2013
请问版上各位高手!
假设今天我有一个函数f(x,y)=exp(x+y)
如果y是一个array,等於[1 2 3 4 5]
若分别代入y=1, y=2,...後的函数阵列为f=[f(x,1), f(x,2),...]
则f的数值积分要怎麽做?
(也就是说我做y为不同值时,对x的数值积分)
我尝试过这样写
y=[1 2 3 4 5]
f=inline('exp(x+y(ii))')
for ii=1:5
integral=quad(f(ii),xmin,xmax)
end
matlab出现了错误讯息
Not enough inputs to inline function.
我猜应该是f(x,y)必须输入两个值才行
但如果f输入了两个值,积分也不用积了 QQ
请问有什麽解决方法吗
烦请各位大大回答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.82.135.248
1F:推 profyang:没用过inline这函数 不过你y(ii)是啥?那时还没进for回圈? 05/27 02:11
2F:→ profyang:是我的话就直接定义成向量用trapz了... 05/27 02:12
3F:→ ejialan:把f改成f=inline('exp(x+y)')或f=@(x,y) exp(x+y) 05/27 08:11
4F:→ ejialan:然後积分改成integral=quad(@(x) f(x,y(ii)),xmin,xmax) 05/27 08:11