Выделить массив комплексных чисел значения 0 + 0i?

Эта команда

Y1 = repmat(0+0i, 10, 1);

похоже, создает массив удвоений, тогда как эта команда

Y2 = repmat(0.0001+0.0001i, 10, 1);

правильно создает массив сложного двойника.

Есть ли способ в MatLab выделить для последующего использования массив комплексных удвоений с величинами нуля или мне нужно начать с очень малых величин, как я сделал выше?

2 ответа

zeros(10,1,'like',1i)

Я нашел это довольно быстро, посмотрев файл справки для zeros.


complex(zeros(10,1)) кажется, делает трюк для меня. Проблема в том, что ваш литерал 0i фактически оценивает значение real 0, тогда как complex(0) будет способом получить скаляр с явными нулевыми реальными и мнимыми компонентами.

licensed under cc by-sa 3.0 with attribution.