Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2013, 23:39   #11
dar3dev1l26
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 58
По умолчанию

Сделал как Вы сказали (8.06 * (cos(-29.74) + jsin(-29.74)))
Код:
test[i] = (new Complex(A[i], 0)) * (new Complex(Math.Cos(PH[i]), Math.Sin(PH[i])));
Результат:
=== A(k) ===
Complex: (7, -4)
=== AMPLITUDE ===
8.06225774829855
=== PHASE ===
-29.7448812969422
=== A(k) = A*e^jf ===
Complex: (-0.806879480331235, 8.02177944749296)

(-0.806879480331235, 8.02177944749296) это же совсем не (7, -4)

Последний раз редактировалось dar3dev1l26; 04.05.2013 в 23:49.
dar3dev1l26 вне форума Ответить с цитированием
Старый 04.05.2013, 23:45   #12
dar3dev1l26
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 58
По умолчанию

"Брр.. Не понимаю, что Вы делаете."
На просторах интернета нашел формулу для поднесения экспоненты в комплексную степень e^(a+ib) = e^a * (cos b + i sin b)
http://files.school-collection.edu.r...s11_3.2-1.html
В нашем случае e^i будет: e^(0+ib) = e^0 * (cos b + i sin b) = 1*(cos b + i sin b). То есть e^fi = e^f * (cos b + i sin b)
dar3dev1l26 вне форума Ответить с цитированием
Старый 04.05.2013, 23:47   #13
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Почему так-то?
new Complex(A[i], 0) инициализирует структуру (A[i], 0), а Вам нужно умножать синус и косинус на модуль комплексного числа. Не знаю, что у Вас там в A[i], но получается что-то типа (A[i] + j * 0) * (...)
Хотя должно быть (в случае приведенных выше чисел) r * (...)
т.е., если у Вас в массиве A хранятся модули комплексных чисел, должно быть
Код:
test[i] = new Complex(A[i] * Math.Cos(PH[i]), A[i] * Math.Sin(PH[i]));

Цитата:
То есть e^fi = e^f * (cos b + i sin b)
Вы ошибаетесь.. e^fi не равно e^i * e^f.
Μολὼν λαβέ

Последний раз редактировалось alexander13; 04.05.2013 в 23:49.
alexander13 вне форума Ответить с цитированием
Старый 04.05.2013, 23:55   #14
dar3dev1l26
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 58
По умолчанию

Цитата:
Сообщение от alexander13 Посмотреть сообщение
Почему так-то?
Код:
test[i] = new Complex(A[i] * Math.Cos(PH[i]), A[i] * Math.Sin(PH[i]));
Да, в А модули. Результат тот же у Вас получается, что и у меня тут
Код:
test[i] = (new Complex(A[i], 0)) * (new Complex(Math.Cos(PH[i]), Math.Sin(PH[i])))
Те же Complex: (-0.806879480331235, 8.02177944749296)
dar3dev1l26 вне форума Ответить с цитированием
Старый 05.05.2013, 00:03   #15
alexander13
Форумчанин
 
Аватар для alexander13
 
Регистрация: 07.02.2013
Сообщений: 267
По умолчанию

Хм.. Аргументы функций sin и cos надо перевести в радианы. Что-то вроде PH[i] * pi / 180
Все-таки лучше использовать мой вариант, как мне кажется.. в данном случае они эквивалентны, это да.. но дело в том, что Вы умножаете на модуль комплексного числа. Зачем для этого создавать еще одно комплексное число?
Μολὼν λαβέ

Последний раз редактировалось alexander13; 05.05.2013 в 00:06.
alexander13 вне форума Ответить с цитированием
Старый 05.05.2013, 01:44   #16
dar3dev1l26
Пользователь
 
Регистрация: 06.10.2011
Сообщений: 58
По умолчанию

Спасибо, работает. Я уже пробовал в радианы переводить, но тогда я не знал что j это мнимая единица и код был там неправильный. Спасибо Вам огромное, у меня уже руки почти опустились =) Не надо было мне алгебру пропускать.
dar3dev1l26 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комплексные числа в С++ AntonE Помощь студентам 2 05.05.2011 23:51
Комплексные числа в С++ Slavytich Помощь студентам 0 25.12.2010 03:34
Комплексные числа Оля_1991 Помощь студентам 1 19.09.2010 21:10
Комплексные числа shtuceron Помощь студентам 2 21.01.2010 23:47
Комплексные числа 777UFO777 Общие вопросы Delphi 0 21.12.2008 23:48