我寫在MATLAB代碼來計算的整體使用高斯 - 切比雪夫正交,但它不工作:Matlab的集成
function int = chebquad('-1i*exp(x+3)',1e-8,-1,1);
f=inline('-1i*exp(x+3)','x')
old_int = inf;
for n=1:1000
x = cos(((2*(1:n) - 1)/(2*n))*pi);
w = pi/n;
fx = f(x);
int = sum(w.*fx);
if abs(int_old-int) < tol
break
end
old_int = int;
end
有什麼建議?
謝謝!
定義「不起作用」。你是否要求它返回一個「int」值?浮點數不是一個更好的主意嗎?你將函數與exp或餘弦整合了嗎?請解釋你正在嘗試做什麼。 – duffymo
我正在試圖計算從-1到1的定積分-i次int e ^(x + 3)/ \ sqrt(1-x^2),也就是說我正在試圖積分指數函數,餘弦是重量函數,它不工作,因爲matlab給這個錯誤錯誤:文件:int.m行:1列:27 意外的MATLAB表達式。 – Monique
對不起,是「我」等於負數的平方根還是循環計數器? – duffymo