我试图在matlab中使用haar小波逼近函数。在尝试近似f(x)= x时,我得到正确的Haar系数,但是当我尝试将系数的乘积与缩放函数相加时,该函数完全关闭。有人可以帮帮我吗?
function approxx(j)
f=@(x)x;
phi = @(x)(0 <= x < 1); %scaling function
psi = @(x)(0 <= x < 0.5) - (0.5 <= x < 1);
b=@(j,t,k)phi((power(2,j)*t)-k);
a=@(x,j,k)(f(x).*b(x,j,k));
sum=@(x)0;
for k=0:9
ak=integral(@(x)a(x,j,k),power(2,-j)*k,(power(2,-j)*k)+1);
c=@(x)ak*phi((power(2,j)*x)-k);
sum=@(x)(sum(x)+c(x));
end
fplot(f,[0,10]);hold on;
fplot(sum,[0,10]);
end
答案 0 :(得分:1)
Matlab不是Python,表达式0 <= x < 1
可能不会达到预期效果。例如:
>> 0 <= 10 <= 1
ans =
1