hcharlie 发表于 2017-5-31 15:29

如果你这条曲线是某种数据的拟合曲线,将它微分,再微分,绝对是瞎胡闹!

brimel 发表于 2017-5-31 16:52

hcharlie 发表于 2017-5-31 15:29
如果你这条曲线是某种数据的拟合曲线,将它微分,再微分,绝对是瞎胡闹!

那我要是想提取这条曲线的曲率的频谱信息还有其他办法吗?

hcharlie 发表于 2017-5-31 17:27

brimel 发表于 2017-5-31 16:52
那我要是想提取这条曲线的曲率的频谱信息还有其他办法吗?

是拟合曲线就做不成。

hcharlie 发表于 2017-6-1 07:31

LZ只说一个曲线,一个函数,不说是精确的函数还是拟合的近似函数。
拟合的曲线和精确函数不同,一不能微分,二不能外推。微分会无限放大误差,外推会啼笑皆非。
拟合的曲线,是用最小二乘法找出误差较小的所谓最近真值,但不是真值本身,真值指函数本身,不是其微分或函数的变化。举例,比如股市,气候,江河水位,我们可以用拟合法画出曲线本身,曲线已经被摸平了,用它的微分来得到其变化规律,是极其不可的。

Eminem 发表于 2017-6-6 13:07

brimel 发表于 2017-5-28 22:04
我也想过将数据离散化,但是离散化的这些数据也还是从曲线的函数表达式里得到的,所以就直接将函数表达式 ...

个人感觉是可以的不必离散化

Eminem 发表于 2017-6-6 13:08

Eminem 发表于 2017-6-6 13:07
个人感觉是可以的不必离散化

输入x不就是离散的点吗

brimel 发表于 2017-6-11 11:16

本帖最后由 brimel 于 2017-6-11 11:24 编辑

Eminem 发表于 2017-6-6 13:08
输入x不就是离散的点吗
您好,感谢您的回复!目前我在做一条曲线的功率谱分析的时候还是存在问题,请问您能指点一下吗?不胜感激!


nfft=1024;Fs=1000;%曲线的函数表达式(坐标单位均为长度/m),不知道这样处理对不对x=0:1/Fs:0.13;y=(0.0012*(x*100).^4-0.00849472*(x*100).^3-0.03144991*(x*100).^2+0.58530388*(x*100))/100;figure(1)subplot(211)y=y-mean(y);%零均值化plot(x,y);%曲线形状(坐标单位为长度/m)title('曲线')window=boxcar(length(y));=periodogram(y,window,nfft,Fs);subplot(212)plot(f,Pxx);title('曲线的功率谱')

syms x;y=(0.0012*(x*100).^4-0.00849472*(x*100).^3-0.03144991*(x*100).^2+0.58530388*(x*100))/100;y1=diff(y,x);y2=diff(y1,x);r=y2/(1+y1^2)^(3/2);%求曲线的曲率Fs=1000;xx=0:1/Fs:0.13;rr=zeros(size(xx));fori=1:length(xx)rr(i)=abs(subs(r,x,xx(i)));endfigure(2)subplot(211)rr=rr-mean(rr);plot(xx,rr);title('曲线的曲率')nfft=1024;Fs=1000;window=boxcar(length(rr));=periodogram(rr,window,nfft,Fs);subplot(212)plot(f,Pxx);title('曲线曲率的功率谱')

Pseudo-lover 发表于 2017-6-13 13:19

brimel 发表于 2017-6-11 11:16
您好,感谢您的回复!目前我在做一条曲线的功率谱分析的时候还是存在问题,请问您能指点一下吗?不胜感激 ...

我看代码是没有问题 关键你这么做有多大意义 会不会像楼上所说将误差放大最后获得的结果有多大的参考意义

brimel 发表于 2017-6-19 15:31

Pseudo-lover 发表于 2017-6-13 13:19
我看代码是没有问题 关键你这么做有多大意义 会不会像楼上所说将误差放大最后获得的结果有多大的参考意 ...

谢谢指导!以上这个程序所求得功率谱的横坐标应该是空间频率吧?
页: 1 [2]
查看完整版本: 能否求某一曲线的功率谱?