Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> тип complex 
:(
    Опции темы
errtu
Дата 20.12.2005, 20:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Привет.
Не подскажете как мне создать двумерный массив комплексных чисел типа Complex?
  Вверх
cardinal
Дата 20.12.2005, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99





--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
errtu
Дата 20.12.2005, 21:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(cardinal @ 20.12.2005, 21:05)
http://forum.vingrad.ru/index.php?showtopi...ndpost&p=588275

понимаете в коде используется объявление типа complex **c .тока чёт не фурычит.
Я имею в виду встроенный тип в С++,а не самодельный...
  Вверх
cardinal
Дата 20.12.2005, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



В С++ нет встроенного типа complex! То, что описывается в <complex> это вообще-то класс, а не двумерный массив!


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
blackofe
Дата 21.12.2005, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 29.11.2005

Репутация: 4
Всего: 4



вопрос, что называть "встроенным".

в stl входит <complex>. содержит шаблоны и определения для работы с комплексными числами. пользуйтесь на здровье! smile
PM MAIL   Вверх
cardinal
Дата 21.12.2005, 02:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Он то имеет в виду что-то наподобии: int, double, char... То есть .h прописывать не надо и тип данных реализуется компилятором. complex не реализован в стандартных С/C++ компиляторах, а другие (если в них реализован), я бы не использовал, т.к. это лишний гемморой. Лучше ИМХО сделать complex самому если речь идет о С (или взять готовый класс из того же STL если речь идет о С++) и закрыть на этом вопрос.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Errtu
Дата 22.12.2005, 21:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А каким макаром перевести на С++ вот это : Powerof2(nx,&m,&twopm) ?
Вообще-то эта строчка есть в преобразовании Фурье (по ссылке с этого сайта) Смысл?
Причём m и twomp не определены (просто созданы) , значит рандомные какие-то.Вообще, вроде как проверяется на равенство степени двойки,а всё-таки может кто встречал?
  Вверх
cardinal
Дата 22.12.2005, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Цитата(Errtu @ 22.12.2005, 19:46)
А каким макаром перевести на С++ вот это : Powerof2(nx,&m,&twopm) ?

А что это? Если это на Си написано, то переводить не надо... Так что в чем вопрос?
Цитата(Errtu @ 22.12.2005, 19:46)
Вообще-то эта строчка есть в преобразовании Фурье (по ссылке с этого сайта) Смысл?

Где ссылка?
Цитата(Errtu @ 22.12.2005, 19:46)
Причём m и twomp не определены (просто созданы) , значит рандомные какие-то.

Предполагаю, что в них будет результат.
Цитата(Errtu @ 22.12.2005, 19:46)
Вообще, вроде как проверяется на равенство степени двойки,а всё-таки может кто встречал?

smile Этот вопрос имеет что-то общее с комплексными числами? Если нет, то создай отдельную тему...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
errtu
Дата 23.12.2005, 09:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ссылка http://astronomy.swin.edu.au/~pbourke/other/fft2d/

Фишка в том, что здесь рассматривается двумерное преобразование Фурье.Но код кривоватый
Как бы его отредактировать?Чтоб работало все как задумано? Можете посмотреть?


[b][/b]
  Вверх
cardinal
Дата 23.12.2005, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Код может и кривой, но я думаю, что он РАБОЧИЙ! То есть тебе просто надо переделать то, что написано в Си (в первую очередь заменить класс complex на структуру complex) и сделать то, чего не хватает. А Powerof2 это просто функция, которая проверяет является ли ny (если не ошибаюсь) 2^х = ny. Если ты скажешь ny = 32 например, то можешь эти строки вообще закомментировать.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Errtu
Дата 24.12.2005, 00:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Блин.Я не пойму как это работает??Чё за параметр m?
Как интересно там делается обратное преобразоавание?Я не нашел обработки dir==-1, которое отвечает за обратное.у меня к тому же коэфф по сравнению с математикой получаются в раза меньше -(

  Вверх
errtu
Дата 24.12.2005, 15:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Или как вам вот это:

/* Do the bit reversal */
i2 = nn >> 1;
j = 0;
for (i=0;i<nn-1;i++) {
if (i < j) {
tx = x[i];
ty = y[i];
x[i] = x[j];
y[i] = y[j];
x[j] = tx;
y[j] = ty;
}
k = i2;
while (k <= j) {
j -= k;
k >>= 1;
}
j += k;

Интересгно в каком случае тело цикла будет выполняться?
Каким образом у нас i<j станет?
...Удивляюсь
  Вверх
cardinal
Дата 24.12.2005, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Цитата(Errtu @ 23.12.2005, 22:27)
Я не нашел обработки dir==-1

Например:
Код

if (dir == 1)
   c2 = -c2;

Цитата(errtu @ 24.12.2005, 13:05)
Каким образом у нас i<j станет?

Например:
Код

j += k;

Цитата(Errtu @ 23.12.2005, 22:27)
Я не пойму как это работает?

Пора бы почитать про Фурье трансформацию от начала до конца... А во-вторых не бери в голову как работает FFT, а разберись с DFT и возьми FFT как есть! FFT в несколько раз быстрее DFT и больше ничего. Т.е. бери и пользуйся и не ломай голову над алгоритмом, над которым поломали голову до тебя, если тебе это не нужно, а просто нужен результат.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Errtu
Дата 24.12.2005, 16:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(cardinal @ 24.12.2005, 15:42)
Цитата(Errtu @ 23.12.2005, 22:27)
Я не нашел обработки dir==-1

Например:
Код

if (dir == 1)
   c2 = -c2;

Цитата(errtu @ 24.12.2005, 13:05)
Каким образом у нас i<j станет?

Например:
Код

j += k;

Цитата(Errtu @ 23.12.2005, 22:27)
Я не пойму как это работает?

Пора бы почитать про Фурье трансформацию от начала до конца... А во-вторых не бери в голову как работает FFT, а разберись с DFT и возьми FFT как есть! FFT в несколько раз быстрее DFT и больше ничего. Т.е. бери и пользуйся и не ломай голову над алгоритмом, над которым поломали голову до тебя, если тебе это не нужно, а просто нужен результат.

Ага.Я читал.
Дело в том, что есть много разных исходников и гни асеп дают разный результат.
[/b]
Чтобы ориентироваться я проверял с результатом в пакете Mathematica.
Там проводится дпф, почему они отличаются, если исходник верен ?
Вот и незнаю.
Могу ли для своих картинок использовать обычное пф или нужно обязательно двумерное.?

  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0847 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.