声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1595|回复: 8

[其他] 最小二乘法消趋

[复制链接]
发表于 2008-6-29 15:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本人用最小二乘法进行消趋,消趋后数据和原始数据比较,方差是一样一样的,为什么啊?
回复
分享到:

使用道具 举报

发表于 2008-6-29 16:55 | 显示全部楼层
我认为不应该一样,建议再检查一下数据和程序方法。
 楼主| 发表于 2008-6-29 17:44 | 显示全部楼层

回复 2楼 的帖子

消趋程序
fid=fopen('1.txt','r')         
fs=1024
m1=1
x=fscanf(fid,'%f',inf)      
sdatus=fclose(fid)         
n=length(x)               
t=(0:1/fs:(n-1)/fs)'        
a1=polyfit(t,x,m1)           
c1=polyval(a1,t)
y1=x-c1
plot(t,x,'r')               
grid on
hold on
plot(t,y1,'b')
fid=fopen('m1xqhx1.txt','w')
for k=1:n                          
    fprintf(fid,'%f\n',y1(k))
end
sdatus=fclose(fid)
求均值方差程序
fid1=fopen('1.txt','r')
fid2=fopen('m1xqhx1.txt','r')
x1=fscanf(fid1,'%f',inf)
x2=fscanf(fid2,'%f',inf)
v1=var(x1)
v2=var(x2)
m1=mean(x1)
m2=mean(x2)
sdatus=fclose(fid1)
sdatus=fclose(fid2)

有问题吗?
 楼主| 发表于 2008-6-30 19:08 | 显示全部楼层

回复 2楼 的帖子

2楼的
你有解决办法吗?
你可以验证一下
是我的程序写的有问题吗
 楼主| 发表于 2008-7-5 09:26 | 显示全部楼层

最小二乘法消趋

问题已经解决
是数据的类型出了问题
把数据改为精度更高的即可解决

我改后的数据方差在小数点6位后才又不同
而开始只是保留到后3位

嘿嘿:lol

评分

1

查看全部评分

发表于 2008-7-5 15:32 | 显示全部楼层
请问,数据消趋的目的是什么?今天老师说我们也要考虑一下。谢谢!
 楼主| 发表于 2008-7-18 10:37 | 显示全部楼层

回复 6楼 的帖子

趋势项是由于测试仪器温度变化造成的零点漂移产生的,对数据进行变换时,如FFT,它对变换的结果影响比较大,对数据进行二次积分时,变换结果更有可能会失真,直接影响信号分析的正确性。
当然消趋了。
发表于 2008-8-4 15:24 | 显示全部楼层
谢谢!
再问一下
   你的程序中 第三句话m1=1 是什么意思?
   该怎样选取?

[ 本帖最后由 liujia1067 于 2008-8-4 15:26 编辑 ]
 楼主| 发表于 2008-8-30 11:02 | 显示全部楼层

回复 8楼 liujia1067 的帖子

m是多项式趋势项的阶次,可以是0、1、2、3......
m=1时趋势项是线性的,m>1是非线性的,对于某个数据,如果不知道趋势项是线性还是非线性,只好依次尝试了,但是消趋后的数据吆喝原始数据进行比较才能判断m的值是不是合适,现在对于比较的参数还不是很清楚,有很多个版本,这个还要大家共同努力才行了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 04:38 , Processed in 0.053664 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表