![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| errtu |
|
|||
|
Unregistered |
Привет.
Не подскажете как мне создать двумерный массив комплексных чисел типа Complex? |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| errtu |
|
|||
|
Unregistered |
понимаете в коде используется объявление типа complex **c .тока чёт не фурычит. Я имею в виду встроенный тип в С++,а не самодельный... |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
В С++ нет встроенного типа complex! То, что описывается в <complex> это вообще-то класс, а не двумерный массив!
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| blackofe |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 173 Регистрация: 29.11.2005 Репутация: 4 Всего: 4 |
вопрос, что называть "встроенным".
в stl входит <complex>. содержит шаблоны и определения для работы с комплексными числами. пользуйтесь на здровье! |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Он то имеет в виду что-то наподобии: int, double, char... То есть .h прописывать не надо и тип данных реализуется компилятором. complex не реализован в стандартных С/C++ компиляторах, а другие (если в них реализован), я бы не использовал, т.к. это лишний гемморой. Лучше ИМХО сделать complex самому если речь идет о С (или взять готовый класс из того же STL если речь идет о С++) и закрыть на этом вопрос.
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Errtu |
|
|||
|
Unregistered |
А каким макаром перевести на С++ вот это : Powerof2(nx,&m,&twopm) ?
Вообще-то эта строчка есть в преобразовании Фурье (по ссылке с этого сайта) Смысл? Причём m и twomp не определены (просто созданы) , значит рандомные какие-то.Вообще, вроде как проверяется на равенство степени двойки,а всё-таки может кто встречал? |
|||
|
||||
| cardinal |
|
||||||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
А что это? Если это на Си написано, то переводить не надо... Так что в чем вопрос?
Где ссылка?
Предполагаю, что в них будет результат.
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||||||
|
|||||||||
| errtu |
|
|||
|
Unregistered |
ссылка http://astronomy.swin.edu.au/~pbourke/other/fft2d/
Фишка в том, что здесь рассматривается двумерное преобразование Фурье.Но код кривоватый Как бы его отредактировать?Чтоб работало все как задумано? Можете посмотреть? [b][/b] |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Код может и кривой, но я думаю, что он РАБОЧИЙ! То есть тебе просто надо переделать то, что написано в Си (в первую очередь заменить класс complex на структуру complex) и сделать то, чего не хватает. А Powerof2 это просто функция, которая проверяет является ли ny (если не ошибаюсь) 2^х = ny. Если ты скажешь ny = 32 например, то можешь эти строки вообще закомментировать.
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Errtu |
|
|||
|
Unregistered |
Блин.Я не пойму как это работает??Чё за параметр m?
Как интересно там делается обратное преобразоавание?Я не нашел обработки dir==-1, которое отвечает за обратное.у меня к тому же коэфф по сравнению с математикой получаются в раза меньше -( |
|||
|
||||
| errtu |
|
|||
|
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 |
|
||||||||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
Например:
Например:
Пора бы почитать про Фурье трансформацию от начала до конца... А во-вторых не бери в голову как работает FFT, а разберись с DFT и возьми FFT как есть! FFT в несколько раз быстрее DFT и больше ничего. Т.е. бери и пользуйся и не ломай голову над алгоритмом, над которым поломали голову до тебя, если тебе это не нужно, а просто нужен результат. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||||||||
|
|||||||||||
| Errtu |
|
||||||||||||
|
Unregistered |
Ага.Я читал. Дело в том, что есть много разных исходников и гни асеп дают разный результат. [/b] Чтобы ориентироваться я проверял с результатом в пакете Mathematica. Там проводится дпф, почему они отличаются, если исходник верен ? Вот и незнаю. Могу ли для своих картинок использовать обычное пф или нужно обязательно двумерное.? |
||||||||||||
|
|||||||||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |