在线跪求大佬帮忙看一下这个s-g卷积平滑程序,一直改不好

qq_45131204 qq_45131204 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
import numpy as np
import xlrd
import xlwt
xls = xlwt.Workbook(encoding='utf-8')
sht = xls.add_sheet(u'sheet1',cell_overwrite_ok=True)
workbook=xlrd.open_workbook(r'E:\\7.11-1平均.xlsx')
table=workbook.sheets()[int(0)]
nrows=table.nrows
ncols=table.ncols


def create_x(size, rank):
x = []
for i in range(int(2)*int(size)+int(1)):
m = i - size
row = [m**j for j in range(rank)]
x.append(row)
x = np.mat(x)
return x

def savgol(data, window_size, rank):
m = int((window_size-int(1))/int(2))
#odata = data[:]
# 处理边缘数据,首尾增加m个首尾项
for t in range(m):
data.insert(int(0),data[int(0)])
data.insert(len(data),data[len(data)-int(1)])
# 创建X矩阵
x = create_x(int(m),int(rank))
# 计算加权系数矩阵B
b = (x * (x.T * x).I) * x.T
a0 = b[m]
a0 = a0.T
# 计算平滑修正后的值
ndata = []

y=[]
for i in range(len(data)):
for j in range(window_size):
y.append(data[i+j])
y1= np.mat(y)*a0
y1= float(y1)
ndata.append(y1)
y.clear()
return ndata

for p in range(int(1),nrows):
l=[]
for n in range(int(1),ncols):
alldata=table.col_values(n)
l.append(alldata[p])
savgol(l,int(5),int(3))
for o in range(int(1),ncols):
sht.write(p,o,ndata[o])
xls.save('F:\\python\\chengxu\\excel\\123.xls')


...全文

相关推荐

matlab中的S-G平滑算法

在实际应用中,S-G平滑算法常用于去除噪声,改善信号质量,或者作为其他分析方法的预处理步骤。例如,在信号分析中,S-G平滑可能用于提取信号的局部趋势,以便后续的特征检测或频率分析。

sinat_22629985

图卷积(7)——过平滑现象(2)

图卷积(7)——过平滑现象(2) 空间域图卷积局限性分析: 上一份博客中提到的那篇论文,提出了三个观点。论文中也将其总结一下。 GCNs优势:    图卷积(拉普拉斯平滑)使分类问题更容易    多层神经网络具备强大的特征提取功能 GCNs劣势:    多次拉普拉斯平滑使输出特征过度平滑    浅层神经网络的感受野、特征提取能力有限 解决方案:    基于随机游走的协同训练(Co-Training)    自训练(Self-Training) 基于随机游走的协同训练 定义吸收概率矩阵P=(L+αΛ)−1P

maplezys

通俗易懂的理解卷积

通俗易懂的理解卷积在图像上的运用 先来看一个例子: 有这么一副图像,可以看到,图像上有很多噪点 高频信号,就好像平地耸立的山峰:看起来很显眼。平滑这座山峰的办法之一就是,把山峰刨掉一些土,填到山峰周围去。用数学的话来说,就是把山峰周围的高度平均一下。 由此,我们可以把图片转换成矩阵 然后用下面这个平均矩阵(说明下,原图的处理实际上用的是正态分布矩阵,这里为了简单,就用了算术平均矩阵)来平滑图像 比如我要平滑a1,1 点,就在矩阵中,取出a1,1 点附近的点组成矩阵f,和 g进行卷积计算后,再填回去:

夸克喵

savgol.zip_S-G_S-G 代码_matlab savgol_s-g平滑_sg平滑代码

标题中的"S-G_S-G"和描述中的"s-g平滑"指的是Savitzky-Golay滤波器(Savitzky-Golay Filter),这是一种在信号处理领域广泛应用的平滑算法,尤其适用于去除噪声并保持数据的局部特性

Janice Lu

采用简单的S_G平滑算法(Savizkg_Golag)多项式平滑信号去噪附matlab代码.zip

Savitzky-Golay (S_G) 平滑算法是一种广泛应用在信号处理中的方法,主要用于去除噪声并平滑数据序列。

Matlab科研辅导帮
评论
收藏 已收藏
分享
返回顶部
qq_45131204
脚本语言 37,737 成员 34,208 内容