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

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

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

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

26.05.2013, 00:11. Просмотров 1984. Ответов 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++
Есть цикл, не возводит экспоненту в степень for (i = 0; i &lt; n; i++) { f = 10 * k*(cos(k*x) + sin(k*x))*pow(exp,0.3*k*x); ...

Экспонента - C++
Как вывести число 1234567.89 в форме экспоненты?

Экспонента и мантисса? - C++
Люди...помогите пожалуйста. Объясните по подробнее о мантиссе и экспоненте. Желательно именно на СИ. Просто вот в универ поступил, и...

Как записать (экспонента) - C++
ребята, как записать e^2.8*a?

Написать программу, вычисляющую X в степени Y и Y в степени X - C++
Написать программу, вычисляющую X в степени Y и Y в степени X. Основная программа запрашивает X и Y и передает их в функцию. Функция...

Экспонента в виде суммы сходящегося ряда - C++
Мне нужно построить экспоненту в виде суммы сходящегося ряда. {e}^{x}=\sum_{k=0}^{}\frac{{x}^{k}}{k!} Слаживать до тех пор, пока k-ая...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
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
Модератор
Эксперт С++
6322 / 5906 / 1913
Регистрация: 18.12.2011
Сообщений: 15,189
Завершенные тесты: 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
46 / 46 / 5
Регистрация: 30.03.2009
Сообщений: 521
27.05.2013, 14:32  [ТС]     Экспонента в комплексной степени #4
Всем спасибо. Так я делал. Просто я думал может мнимая единица как то прописана в библиотеке стандартной, на подобие _i или вроде того.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
27.05.2013, 14:42     Экспонента в комплексной степени #5
Цитата Сообщение от }{@k Посмотреть сообщение
Просто я думал может мнимая единица как то прописана в библиотеке стандартной, на подобие _i или вроде того.
Ничего такого нет. Если хочется создавать литералы, описывающие комплексные числа, можно воспользоваться operator "" из C++11 (user-defined literals).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.05.2013, 15:02     Экспонента в комплексной степени
Еще ссылки по теме:

Как в С++ оформить запись ln (логарифма по основанию е (экспонента) - C++
Здравствуйте, собственно вопрос описан ещё в заголовке, добавить могу только то, что находил несколько вариантов, но они не подходили, на...

е в степени x - C++
я пытаюсь написать программу для вычисления е в степени x используя формулу изложенную ниже + нужно задавать количество цифр после точки ...

3 во 2 степени . - C++
Чет решить не могу затык .. ошибка . #include &lt;iostream&gt; using namespace std; void main () { setlocale( LC_ALL,&quot;Russian&quot; ); ...

n>=a в степени k - C++
вот решил задачу таким образом: задача: Напишите программу, находящую для заданных числел n и k максимальное число a, такое, что ak≤ n ...

Вывести A в степени N - C++
Дано вещественное число A и целое число N (N &gt; 0). Вывести A в степени N: AN =A•A•...•A (числа A перемножаются N раз). Использовать цикл...

Вычислить 1+2+4+8+...+2 в степени 10 - C++
Вычислить. 1+2+4+8+...+2 в степени 10


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

Или воспользуйтесь поиском по форуму:
nullpointer
46 / 46 / 5
Регистрация: 30.03.2009
Сообщений: 521
27.05.2013, 15:02  [ТС]     Экспонента в комплексной степени #6
Это я уже создал Просто подумал может быть без лишних телодвижений получится.
Yandex
Объявления
27.05.2013, 15:02     Экспонента в комплексной степени
Ответ Создать тему
Опции темы

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