請問matlab中函數求積分,要傳遞參數給積分函數怎麼辦?

題目:

請問matlab中函數求積分,要傳遞參數給積分函數怎麼辦?
Error using ==> f
Too many input arguments.
Error in ==> D:\應用軟體\Matlab6.5\toolbox\matlab\funfun\quad8.m
On line 58 ==> y = feval(funout,x,varargin{:});
Error in ==> D:\應用軟體\Matlab6.5\work\SPI.m
On line 36 ==> [f2(i),m]=quad8('f',gm,x(i),[],[],beta,alpha,gm);
quad8函數,beta,alpha,gm是要傳遞給f函數的參數.
function f=f(x)
f=((x-gm)./alpha).^(beta-1).*exp(-(x-gm)./alpha);

解答:

應這樣寫函數:
function f(x,beta,alpha,gm)
f=((x-gm)./alpha).^(beta-1).*exp(-(x-gm)./alpha);
f
%保存這個函數文件名爲:f.m
%其中x,beta,alpha,gm參數都在matlab命令窗口中輸入;
如下:f(x,beta,alpha,gm)加回車 %參數爲據體的數據

添加新評論

暱稱
郵箱
網站