Ответ : 1
Среда : -
Операционная система : любая
Зависимости : -
Источник : http://freepascal.ru/forum/viewtopic.php?f=23&t=3704#p27402
Теги : числа, возведение в степень
- Код: Выделить всё
X^Y = exp(ln(X)*Y)
Модератор: Модераторы
X^Y = exp(ln(X)*Y)
fZi:=EXP(3*LN(Zi))-SQR(Zi)*((b*P)/(R*T)+1)+(Zi*a*P)/(SQR(R)*SQR(T))-(a*b*SQR(P))/(EXP(3*LN(R))*EXP(3*LN(T)));
var fZi, Zi, b, P, R, T, l, k, a: Extended;
begin
Zi := 3; b := 3; P := 3; R := 3; T := 3; a := 3;
fZi:=EXP(3*LN(Zi))-SQR(Zi)*((b*P)/(R*T)+1)+(Zi*a*P)/(SQR(R)*SQR(T))-(a*b*SQR(P))/(EXP(3*LN(R))*EXP(3*LN(T)));
Odyssey писал(а):http://www.freepascal.org/docs-html/rtl/math/intpower.html
http://www.freepascal.org/docs-html/rtl/math/power.html
function stp(Osnovan,Stpn:real):real; //Подпрограмма вычисления степени
var pow:real;
begin
if (Stpn=0) then pow:=1 else
if (Osnovan > 0) then pow:= Exp(Stpn*Ln(Abs(Osnovan))) else
if (Osnovan < 0) then pow:= (-1)*Exp(Stpn*Ln(Abs(Osnovan))) else
if (Osnovan=0) then pow:=0;
stp:=pow;
end;
kosteek писал(а):А можно ли содрать ф-цию power из модуля math?
VSL писал(а): В целом все работает, но не возводит отрицательное число в дробную степень.
Little_Roo писал(а):А разве подкоренное (число в дробной степени) выражение не должно быть НЕОТРИЦАТЕЛЬНЫМ ?????
Курим ОДЗ
daesher писал(а):Не совсем. Например, корень нечётной степени будет действительным для любого действительного аргумента. С отрицательным аргументом стандартная функция power не работает.
Выражения (-2)^(1/3), (-243)^(3/5), (-16)^(2/3) не имеют смысла, так как по определению основание степени с рациональным показателем может быть только неотрицательным.
absdjfh писал(а):Выражения (-2)^(1/3), (-243)^(3/5), (-16)^(2/3) не имеют смысла, так как по определению основание степени с рациональным показателем может быть только неотрицательным.
sv503 писал(а):Результатами приведённых выражений будут комплексные числа.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2