Casa
Top.Mail.Ru Yandeks.Metrika
Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

Para baixo

Equação do terceiro grau. Encontre agências semelhantes


mashinist   (2001-12-16 23:16) [0]

Я тут, похоже всех уже задолбал со своей математикой, но все же. У кого-нибудь есть кусок кода для решения уравнения третьей степени вида ax^3 + bx^2 + cx + d = 0, причем a,b,c,d: extended;

Ajuda



Builder   (2001-12-17 02:35) [1]

А не легче ли чем долбать, сесть и написать самому ?

Берещь любую книжку по численным методам - это есть в первом разделе.



mashinist   (2001-12-17 11:58) [2]

Не получается.
Уже пробовал.



Romkin   (2001-12-17 12:19) [3]

http://alglib.chat.ru/equat/index.html#cube
По-моему, исчерпывающе
Но, вообще-то, уравнения выше второй степени обычно решают не по точным формулам, а по алгоритмам нахождения корней полиномов n-й степени



savva   (2001-12-17 12:31) [4]

вот что предложил редактор блок схем

Procedure CubeEquation(a,b,c:real; var nr:byte; x:array[1..3] of real);
// тока почему то не описаны параметры 8)) сам опишешь
begin
p:=-a*a/3+b;
q:=2*a/3*a/3*a/3-a*b/3+c;
QH:=(p/3)*(p/3)*(p/3)+(q/2)*(q/2);
if QH=0
then
begin
nr:=3;
AH:=abs(q/2);
if AH<>0
then
begin
AH:=sign (q)*exp(ln(AH)/3)
end;
x[1]:=2*AH-a/3;
x[2]:=-AH-a/3;
x[3]:=-AH-a/3
end
else
begin
if QH>0
then
begin
AH:=-q/2+sqrt(QH);
AH:=sign (AH)*exp(ln(abs(AH))/3);
BH:=-q/2-sqrt(QH);
BH:=sign (BH)*exp(ln(abs(BH))/3);
x[1]:=AH+BH-a/3;
if AH=BH
then
begin
nr:=3;
x[2]:=-(AH+BH)/2-a/3;
x[3]:=-(AH+BH)/2-a/3
end
else
begin
nr:=1;
x[2]:=-(AH+BH)/2-a/3;
x[3]:=(AH-BH)/2*sqrt(3)
end;
end
else
begin
nr:=3;
u:=-q/2/sqrt(-p*p*p/27);
u:=arccos(u);
x[1]:=2*sqrt(abs(p/3))*cos(u/3)-a/3;
x[2]:=-2*sqrt(abs(p/3))*cos(u/3+Pi/3)-a/3;
x[3]:=-2*sqrt(abs(p/3))*cos(u/3-Pi/3)-a/3
end;
end;
end;


не знаю, стоит ли доверять...



SergVlad   (2001-12-17 13:58) [5]

To mashinist
Все еще борешься со своими регуляторами ?



Юрий Зотов   (2001-12-17 14:59) [6]

> Romkin © (17.12.01 12:19)

Позволю себе поправку - выше третьей, а не второй. Для кубических же уравнений есть точные формулы - например, формула Кардано. Это намного проще, быстрее и точнее.



mashinist   (2001-12-17 15:40) [7]

Obrigado !!!




Страницы: 1 filial inteira

Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

em cima









Memória: 0.83 MB
Hora: 0.046 c
7-22434
tomas2001
2001-09-24 14:04
2002.01.08
Transferência de arquivos via modem


6-22306
Maamed
2001-10-09 12:57
2002.01.08
Ativação da janela do programa antigo lançado 2-th tempo!


4-22488
Arick
2001-10-31 09:20
2002.01.08
como descobrir o nome da dll carregada


14-22336
Ivan Shikhalev
2001-11-02 23:31
2002.01.08
Золотой банан


4-22513
Oxy2
2001-10-23 23:23
2002.01.08
Como criar formulários com controles diferentes em uma API pura?





afrikaans albanês Arabic armênio azerbaijano basco belarusian Bulgarian catalão Chinês simplificado) Chinês tradicional) croata checo dinamarquês Dutch Inglês estoniano filipino Finnish French
Galego georgiano German grego crioulo haitiano hebraico hindi húngaro islandês Indonesian irlandês Italian Japanese Korean letão lituano macedónio Malay maltês Norwegian
persa polonês Portuguese romeno Russa sérvio Slovak esloveno espanhol swahili sueco tailandês turco ucraniano urdu vietnamita galês ídiche bengali bósnio
cebuano esperanto gujarati hausa hmong igbo javanês kannada khmer lao latino maori marata mongol Nepali punjabi somali tâmil telugu yoruba
zulu
Английский francês Alemão Italiano Португальский russo Espanhol