广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 如何将两个实数矩阵合并为一个复数矩阵
  • 542
分享到

python 如何将两个实数矩阵合并为一个复数矩阵

python实数矩阵合并复数矩阵 2022-06-02 22:06:27 542人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

问题描述: 有时需要把两个实数矩阵,一个作为实部,一个作为虚部,合并为一个复数矩阵,该如何操作? 解决办法: 假如是在第二个维度上进行合并(real: Data[:, 0, :, :] imag: Data[:, 1

问题描述:

有时需要把两个实数矩阵,一个作为实部,一个作为虚部,合并为一个复数矩阵,该如何操作?

解决办法:

假如是在第二个维度上进行合并(real: Data[:, 0, :, :] imag: Data[:, 1, :, :]),有两种方法

第一种、


result = Data[:, 0, :, :] + 1j*Data[:, 1, :, :]

第二种、


result = 1j*Data[:, 1, :, :]
result += Data[:, 0, :, :]

第二种方法更节省内存~

补充:python numpy 分离与合并复数矩阵实部虚部的方法

在进行数字信号处理的过程中,我们往往有对短时傅里叶变换频谱(spectrogram)进行分析的需求。

常见的分析手段对应欧拉公式分为两种,要么使用模与相位的形式,要么使用实部虚部。

本文分享一个简单的将复数光谱图分解为实部与虚部以及将两个部分重新合并为一个复数矩阵的过程,以下为python代码。


import numpy as np
import librosa

# load the original wav
test_wave, _ = librosa.load("../RecFile_1_20200617_153719_Sound_Capture_DShow_5_monoOutput1.wav", sr=44100)
# calculate the complex spectrogram stft
spectrogram_test_wav = librosa.stft(test_wave, n_fft=735*2, win_length=735*2, hop_length=735)

# calculate the real part of the spectrogram
real_spectrogram = spectrogram_test_wav.real
# calculate the imaginary part of the spectrogram
imaginary_spectrogram = spectrogram_test_wav.imag

# combine these two parts
reconstruction_spectrogram = real_spectrogram + 1j * imaginary_spectrogram
print(np.array_equal(spectrogram_test_wav, reconstruction_spectrogram))

其中librosa库为常用的音频处理库。

上述代码实现了对wavfile进行短时傅里叶变换,分离出实部虚部并重新合并的过程。

最终的输出为True, 证明了经过这些步骤过后,重构的复数矩阵与初始的光谱图是一致的。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: python 如何将两个实数矩阵合并为一个复数矩阵

本文链接: https://www.lsjlt.com/news/10694.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 如何将两个实数矩阵合并为一个复数矩阵
    问题描述: 有时需要把两个实数矩阵,一个作为实部,一个作为虚部,合并为一个复数矩阵,该如何操作? 解决办法: 假如是在第二个维度上进行合并(real: Data[:, 0, :, :] imag: Data[:, 1...
    99+
    2022-06-02
    python 实数矩阵合并 复数矩阵
  • python怎么将两个实数矩阵合并为一个复数矩阵
    这篇文章主要介绍python怎么将两个实数矩阵合并为一个复数矩阵,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题描述:有时需要把两个实数矩阵,一个作为实部,一个作为虚部,合并为一个复数矩阵,该如何操作?解决办法:假...
    99+
    2023-06-15
  • numpy如何实现数组合并和矩阵拼接
    这篇文章给大家分享的是有关numpy如何实现数组合并和矩阵拼接的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Numpy中提供了concatenate,append, stack类(包括hsatck、vstack、...
    99+
    2023-06-14
  • php如何将两个数组去掉重复值后合并
    这篇文章主要讲解了“php如何将两个数组去掉重复值后合并”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何将两个数组去掉重复值后合并”吧!实现方法:1、用“array_unique(数...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作