【发布时间】:2012-05-13 01:51:34
【问题描述】:
我在 matlab 中编写了一个代码来使用 Gauss-Chebyshev 正交计算积分,但它不起作用:
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 或余弦集成?请解释您要做什么。
-
我正在尝试从 -1 到 1 计算定积分 -i 乘以 int e^(x+3) / \sqrt(1-x^2),即我正在尝试整合指数函数,余弦是权重函数,它不起作用,因为matlab给出了这个错误Error: File: int.m Line: 1 Column: 27 Unexpected MATLAB expression.
-
抱歉,“i”是负一的平方根还是循环计数器?
-
确实 i 是复数 i= √-1
-
这就是我的假设 - 请参阅下面的一些答案。
标签: matlab integration