-2

蟒蛇代码:

import numpy as np
from numpy import *

bits=np.array([ 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0])
print(bits)
N_bits=len(bits)
print(N_bits)
N_S=(N_bits/4)+1


delta1=zeros(((N_bits/4)+1,) , dtype=np.complex)
delta2=zeros(((N_bits/4)+1,) , dtype=np.complex)

k=1

C=zeros(((N_bits/4)+1,) , dtype=np.complex)
D=zeros(((N_bits/4)+1,) , dtype=np.complex)

C[0]=2+2j
D[0]=1+1j

请告诉我等效的 C++ 代码是什么

4

2 回答 2

1

您可以使用 std::vector 来表示数组。

#include <vector>
#include <complex>

int numElements = 42;
std::vector<std::complex<double> > x(numElements, 0);

double realPart = 23;
double imgPart = 0;
x.at(0) = std::complex<double>(realPart, imgPart);
于 2013-09-14T06:41:46.637 回答
0

你可以做这样的事情..

#include <complex>
#include <vector>
#include <iostream>

using namespace std;

int main()
{
    int nbits=16;
    vector<complex<float> > arr;
    for(int i=0; i<nbits; i++ )
    {
    arr.push_back(complex<float>(0,0) );
    }
    arr.at(3).real()=5.2;
    arr.at(3).imag()=6.3;
    cout << arr[3] << endl;
    return 0;
}

arr.push_back(complex<float>(0,0) );

是将每个元素初始化为零并构建数组 arr.at(3).real()=5.2; arr.at(3).imag()=6.3; 是将值分配给数组的元素或更好

arr.at(5)=complex<float> (1,-2);

以获得相同的结果。最后:

cout << arr[3] << endl;

打印数组的一个元素

于 2013-09-14T06:56:17.063 回答