文章概述
电力系统分析 | Matlab实现独立成分分析
程序设计
在文章 信号去噪之独立成分分析(ICA) 中以 python 代码为例,有读者朋友问 matlab 代码,以下给出示例:
python:
import numpy as np
from sklearn.decomposition import FastICA
import matplotlib.pyplot as plt
生成混合信号
np.random.seed(0)
time = np.linspace(0, 5, 1000)
signal = np.sin(2 * time) # 信号源
noise = np.random.normal(size=s1.shape) # 噪声
s1 = signal + noise
s2 = 0.5 * signal + noise
执行独立成分分析
ica = FastICA(n_components=2)
S = np.c_[s1, s2]
S = ica.fit_transform(S)
绘制混合信号和分离信号
plt.figure()
plt.subplot(4, 1, 1)
plt.title(‘Signal Source s1’)
plt.plot(s1)
plt.subplot(4, 1, 2)
plt.title(‘Signal Source s2’)
plt.plot(s2)