颜色不一样的花火 2023-04-11 19:20 采纳率: 41.7%
浏览 53
已结题

关于#傅里叶基#的问题,如何解决?

大家好:
又是相同的问题,因为我知道这是压缩感知相关的东西:

img


我将200001的矩阵进行傅里叶变换,然后再生成一个2000020000的傅里叶基,最后想用np.linalg.lstsq去将稀疏稀疏求出来,但是耗时太多了,想请问一下有什么优化的方法,或者是将20000*1的矩阵进行分解为稀疏基和稀疏系数的方法呢?最好能给出相应的求解稀疏系数的代码,感谢大家

  • 写回答

3条回答 默认 最新

  • 「已注销」 2023-04-11 21:29
    关注

    以下内容部分参考ChatGPT模型:


    首先,将200001的矩阵进行傅里叶变换,得到一个200001的傅里叶系数矩阵。然后,可以生成一个2000020000的傅里叶基,可以使用numpy.fft.fftfreq和numpy.fft.fftshift函数来生成。最后,可以使用numpy.linalg.lstsq函数将稀疏稀疏求出来。下面是一个示例代码:

    import numpy as np
    
    # 生成200001的矩阵
    matrix = np.random.rand(200001, 1)
    
    # 傅里叶变换
    fft_matrix = np.fft.fft(matrix, axis=0)
    
    # 生成2000020000的傅里叶基
    freqs = np.fft.fftfreq(2000020000)
    shifted_freqs = np.fft.fftshift(freqs)
    fourier_basis = np.exp(2j * np.pi * shifted_freqs.reshape(-1, 1) * np.arange(200001))
    
    # 求解稀疏稀疏
    solution = np.linalg.lstsq(fourier_basis, fft_matrix, rcond=None)[0]
    
    print(solution)
    

    注意,这个代码可能需要一些时间才能运行完毕,因为需要生成大量的傅里叶基和进行矩阵运算。


    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月11日
  • 修改了问题 4月11日
  • 赞助了问题酬金20元 4月11日
  • 创建了问题 4月11日

悬赏问题

  • ¥30 使用matlab将观测点聚合成多条目标轨迹
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析