-
斯托克韦尔的**有一个程序,你自己下去。 或者留下电子邮件地址...
-
n=1:1000;
时域中的数据点数。
y=a;a 是 1,000 个点的数据向量。
您需要键入或粘贴。
yf=fft(y);
快速傅里叶变换。
ya=abs(yf(1:1000));
振幅 yp=angle(yf(1:1000))% 相位图(n,ya);
情节(n,yp);
-
t= % 时域点。
y= % 正弦信号。
yf = fft(y)% 快速傅里叶变换。
MAGF = ABS(YF)*2 2001% 振幅 FS = (0:2000)*400000 2001% 频率图(FS,MAGF)% 图。
您的程序存在大问题。
你要找的是正弦信号采样序列的FFT,首先是采样的整个周期,然后如果你想找到单边频谱,FFT之后,你应该乘以2 N,如果是双边频谱,除以N,FFT点数最好是2, 从而突出FFT的效率,并给出一个典型的程序供大家亲眼看看:
fs=1024;% 采样频率 n=1024; 采样点数%t=(0:n-1) fs; %采样时间序列 sf=30; %设置信号频率 hzx=cos(2*pi*f*t); 生成信号子图(211);
plot(t,x);
xlabel('t/s');
xf=fft(x,n)/n;
xf=fftshift(xf);双侧复合光谱 df=fs n; %频率分辨率 hz% 绘制双边振幅谱。
f=(-n/2:n/2-1)*df;%频域序列子图(212);
plot(f,abs(xf));
xlabel('f/hz');
-
function [a,b,f]=fseries(f,x,n,a,b)
if nargin==3, a=-pi; b=pi; end
l=(b-a)/2;
if a+b, f=subs(f,x,x+l+a);结束变量区域交换。
a=int(f,x,-l,l)/l; b=; f=a/2;% 计算为 a0
for i=1:n
an=int(f*cos(i*pi*x/l),x,-l,l)/l;
bn=int(f*sin(i*pi*x/l),x,-l,l)/l; a=[a, an]; b=[b,bn];
f=f+an*cos(i*pi*x/l)+bn*sin(i*pi*x/l);
endif a+b, f=subs(f,x,x-l-a);end 被换回变量区域。
-
在MATLAB中,FFT有1D和2D,FFT获得信号的频谱,即T>>F
如清除
由罗瑶撰写。 fs=1000
t=0:1/;
f1=100;
f2=300;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t);
subplot(711)
plot(x);
title('F1 (100Hz) F2 (300Hz) 正弦信号,初始相位 0')
xlabel('序列 (n)。')
grid on
资源。
-
只需在线进行 FFT。
y=fft(y);
如果要添加窗口,y=fft(y..)*hann(length(y)))
ts=t(2)-t(1);
fs=1/ts;
l=length(y);
f=-fs/2:fs/l:fs/2-fs/l;
plot(f,abs(fftshift(y)))
我不明白你**,不完整。
-
i=imread('');
i=rgb2gray(i);
ffti=fft2(i);% 二维离散傅里叶变换。
sffti=fftshift(ffti);% DC 分量移动到频谱的中心。
rr=real(sffti);% 取自傅里叶变换的实部。
ii=imag(sffti);以傅里叶变换的虚部为例。
a=sqrt(rr.^2+ii.^2);计算频谱振幅。
b=(a-min(min(a)))/(max(max(a))-min(min(a)))225;% 归一化。
pha=angle(ffti);
图(1)%设置窗口。
subplot(1,4,1),imshow(i);title('原始图像');
subplot(1,4,2),imshow(b);title('原始图像的光谱');显示原始图像的光谱。
subplot(1,4,3),imshow(log(b),)title('原始图像的光谱');显示原始图像的光谱。
subplot(1,4,4),imshow(pha);title('相位谱')
figure(2)
x=abs(ifft2(ffti));
magif=ifft2(abs(ffti));
phaif=ifft2(exp(1i*pha));
subplot(1,3,1),imshow(phaif,);title('相谱重建图像');
subplot(1,3,2),imshow(x,);title('原始图像的光谱重建')
subplot(1,3,3),imshow(magif,);title('振幅谱重建图像')
-
操作步骤如下:
阅读图片(将其更改为您自己的图片)。
figure(1); imshow(orgimage);
使用 fft2 转换。
fftimage = fftshift(fft2(orgimage));2d fft
ampimage= abs(fftimage);
显示**。 figure(2); imshow(ampimage, [0 10000 ])
这是 FFT2 的**,它是在频域中处理的,你不需要它。
convolution (low-pass filtering)
filter = fspecial('gaussian',[10 10], 4); gaussian kernel
filterimage = conv2(orgimage, filter); convolution
figure(3); imshow(filterimage, [0 250]);
2d fft of filtered image
fftfilterimage = fftshift(fft2(filterimage));
ampfilterimage= abs(fftfilterimage);
figure(4); imshow(ampfilterimage, [0 10000 ])
-
问题不是很清楚,不同的方法测量值和深度的关系,你用什么方法确定关系,相关性还是其他方法,小波是无法确定这种关系的。 如果在确定关系后分析相关性,最好使用相关性分析。
总结。 您好,很高兴您的问题不一定取决于噪音的类型和强度。 在值滤波方法中去噪的目的是用相邻像素的平均值替换图像中的噪声,以减少图像中的噪声,从而提高图像质量。 >>>More
给定函数有问题,不符合您想要的系数。 该函数应更改为 y=a(1)*x。*exp(-a(2)*x)+a(3) 是合理的。 >>>More
如果用数学建模的话,每个版本的教程之间没有区别,无非就是速度相当快,而且图表好看,买基础的,任何版本的matlab教程都可以,其中的函数现在学习和使用,太多了,记住了, 多做有目标的节目,慢慢熟悉,当时我参与的是数字模式,这是编辑的主要管理。