Имя: Пароль:
IT
 
Вычисление натурального алгоритма комплексного числа
0 Vitus
 
28.11.08
05:01
Товарищи, помогите!
1 Kraft
 
28.11.08
05:17
ИМХО, у тебя где то опечатка :)
2 Chum
 
28.11.08
06:02
(0) ты хоть сам понял вопрос?
3 Chum
 
28.11.08
06:05
4 ФарПост
 
28.11.08
06:30
(0) Ты это, проспись, а потом похмелись... и всё пройдет
5 Vitus
 
28.11.08
07:24
Ну опечатался. Интересует алгоритм вычисления натурального логарифма комплексного числа
6 Irbis
 
28.11.08
07:28
Приведи к экспоненциальному виду число и вычисляй. Только про период не забудь.
7 0xFFFFFF
 
28.11.08
07:46
В ряд Тейлора разложи и вычисли - делов то.
8 Vitus
 
28.11.08
07:47
а немного поточнее можно? :)
9 Irbis
 
28.11.08
07:58
Ты что вышку прогуливал?
LN(W*exp(i*FI))=LN(ABS(W))+i*(FI±2*PI*K), K=1,2...
При FI в интервале от -PI до PI имеем главное значение логарифма.
10 Vitus
 
28.11.08
08:27
Посещал из редка, получил на экзамене 5. С годами все забылось напрочь!
В целом задачу решил:
 r:=sqrt(sqr(x.re)+sqr(x.im));
 fi:=arctan(x.im/x.re)
 re:=Ln(sqrt(sqr(x.re)+sqr(x.im)));
 im:=arctan(x.im/x.re);
Осталось понять что делать с частным случаем, когда действительная часть равна 0?
11 Irbis
 
28.11.08
08:32
А какие проблемы? Главное что модуль числа не нуль, только в этом  случае логарифм не существует.
12 Vitus
 
28.11.08
08:34
А нет :) Понял, сейчас оформлю и напишу!
13 Vitus
 
28.11.08
08:37
function LnC(x: Complex): Complex;
var
 r, fi: real;
begin
 r:=sqrt(sqr(x.re)+sqr(x.im));
 LnC.re:=Ln(r);
 if x.re<>0 then begin
   fi:=arctan(x.im/x.re);
   LnC.im:=arctan(x.im/x.re);
 end else
   LnC.im:=pi/2;
end;
Всем спасибо за помощь!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан