Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
#1

Экспонента в комплексной степени - C++

26.05.2013, 00:11. Просмотров 1864. Ответов 5
Метки нет (Все метки)

Подскажите пожалуйста, как вернуть значение экспоненты в комплексной степени? Мне не на выводе нужно подписать эту i, а именно в самой формуле запрограммировать ее. Собственно нужно вернуть значение вот такой формулы:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{exp{i*\left|x-y \right|}}{4*\left|x-y \right|}-\frac{exp{i*\left|x-\bar{y} \right|}}{4*\left|x-\bar{y}\right|}

Я все запрограммировал, проблема только с этой самой мнимой единицей. Вот что у меня получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
_complex Grin(double* x, double* y, double* ys){
    double ry[N], rys[N];
    double sqy = 0.0, sqys = 0.0;
    double mody = 0.0, modys = 0.0;
 
    for (int i = 0; i < N; i++){
        ry[i] += x[i] - y[i];
        rys[i] += x[i] - ys[i];
    }
 
    for (int i = 0; i < N; i++){
        sqy += ry[i] * ry[i];
        sqys += rys[i] * rys[i];
    }
 
    mody = sqrt(sqy);
    modys = sqrt(sqys);
 
    return exp(i * mody)/(4 * M_PI * mody) - exp(i * modys)/(4 * M_PI * modys);
    
}
Добавлено через 6 часов 36 минут
Help me! Как используя стандартный класс комплексных чисел произвести умножение мнимой единицы на число, а то пришлось самописный класс подключать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2013, 00:11     Экспонента в комплексной степени
Посмотрите здесь:

Экспонента и мантисса? C++
C++ n>=a в степени k
C++ 3 во 2 степени .
C++ Написать программу, вычисляющую X в степени Y и Y в степени X
Как записать (экспонента) C++
C++ Экспонента
C++ е в степени x
C++ Как в С++ оформить запись ln (логарифма по основанию е (экспонента)
C++ Экспонента в виде суммы сходящегося ряда
C++ Экспонента в степени
C++ Вычислить с заданной точностью значение заданной комплексной функции
C++ Написать рекурсивную функцию для расчета степени а в степени х, х - любое число

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
27.05.2013, 09:53     Экспонента в комплексной степени #2
Цитата Сообщение от }{@k Посмотреть сообщение
Как используя стандартный класс комплексных чисел произвести умножение мнимой единицы на число
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <cstdlib>
#include <complex>
 
int main()
{
    std::complex<double> c( 0,1 ); // мнимая единица 
    double k = 2.345; // вещественное число
    std::cout << c * k << std::endl; // умножение
    std::system( "pause" );
}
zss
Модератор
Эксперт С++
 Аватар для zss
6117 / 5720 / 1850
Регистрация: 18.12.2011
Сообщений: 14,620
Завершенные тесты: 1
27.05.2013, 10:03     Экспонента в комплексной степени #3
Только создавайте сразу комплексное число
complex<double> c( 0,mody ),d(0,imodys);
и вызывайте функцию exp от комплексного аргумента
return exp(c)/(4 * M_PI * mody) - exp(d)/(4 * M_PI * modys);
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
27.05.2013, 14:32  [ТС]     Экспонента в комплексной степени #4
Всем спасибо. Так я делал. Просто я думал может мнимая единица как то прописана в библиотеке стандартной, на подобие _i или вроде того.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
27.05.2013, 14:42     Экспонента в комплексной степени #5
Цитата Сообщение от }{@k Посмотреть сообщение
Просто я думал может мнимая единица как то прописана в библиотеке стандартной, на подобие _i или вроде того.
Ничего такого нет. Если хочется создавать литералы, описывающие комплексные числа, можно воспользоваться operator "" из C++11 (user-defined literals).
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
27.05.2013, 15:02  [ТС]     Экспонента в комплексной степени #6
Это я уже создал Просто подумал может быть без лишних телодвижений получится.
Yandex
Объявления
27.05.2013, 15:02     Экспонента в комплексной степени
Ответ Создать тему
Опции темы

Текущее время: 13:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru