Функция математической операции Delphi
Автор:lyboy99
электронная почта:[email protected]
URL: http://hnh.126.com
Вот некоторые общие функции для вас, я надеюсь, что они могут быть вам полезны.
Вы можете легко спроектировать мощную машину для научных вычислений, используя следующие функции.
функция rnd(arg1:double):double;
Начинать
результат: = Случайный * int(arg1);
конец;
функция arcsinh(arg1:double):double;
начинать
результат:=Ln(arg1+sqrt(1+power(arg1,2)));
конец;
функция arccosh(arg1:double):double;
начинать
результат :=Ln(arg1+sqrt(power(arg1,2)-1));
конец;
функция arctanh(arg1:double):double;
начинать
результат :=Ln((1+arg1)/(1-arg1))/2;
конец;
функция arcsech(arg1:double):double;
начинать
результат :=Ln((1/arg1)+sqrt(power((1/arg1),2)-1));
конец;
функция arccosech(arg1:double):double;
начинать
результат :=Ln((1/arg1)+sqrt(1+power((1/arg1),2)));
конец;
функция arccoth(arg1:double):double;
начинать
результат :=Ln((1+(1/arg1))/(1-(1/arg1)))/2;
конец;
функция degarcsin(arg1:double):double;
начинать
результат:=arcsin(DegToRad(arg1));
конец;
функция arcsec(arg1:double):double;
начинать
результат:= arccos(1/arg1);
конец;
функция degarcsec(arg1:double):double;
начинать
результат: = RadToDeg(arccos(1/arg1));
конец;
функция arccosec(arg1:double):double;
начинать
результат: = arcsin(1/arg1);
конец;
функция degarccosec(arg1:double):double;
начинать
результат: = RadToDeg(arcsin(1/arg1));
конец;
функция degarccos(arg1:double):double;
начинать
результат:=arccos(DegToRad(arg1));
конец;
функция arccot(arg1:double):double;
начинать
результат:= arctan(1/arg1);
конец;
функция degarccot(arg1:double):double;
начинать
результат: = RadToDeg(arctan(1/arg1));
конец;
функция cosech(arg1:double):double;
начинать
результат:= 2/(exp(arg1)-exp(-arg1));
конец;
функция sech(arg1:double):double;
начинать
результат:= 2/(exp(arg1)+exp(-arg1));
конец;
функция tanh(arg1:double):double;
начинать
результат := (exp(arg1)-exp(arg1))/(exp(arg1)+exp(-arg1));
конец;
функция coth(arg1:double):double;
начинать
результат := (exp(arg1)+exp(arg1))/(exp(arg1)-exp(-arg1));
конец;
функция degarctan(arg1:double):double;
начинать
результат: = RadToDeg(arctan(arg1));
конец;
функция arg(arg1,arg2:double):double;
начинать
если arg1 < 0, то
результат:= arctan(arg2/arg1)+Pi
еще
если arg1>0, то
результат:= arctan(arg2/arg1)
еще
если arg2 > 0, то
результат:= 0,5 * Пи
еще
результат:= -0,5 * Пи;
конец;
функция sinh(arg1:double):double;
начинать
результат: = (exp(arg1)-exp(-arg1))*0,5;
конец;
функция cosh(arg1:double):double;
начинать
результат:= (exp(arg1)+exp(-arg1))*0,5;
конец;
функция раскладушка(arg1:double):double;
начинать
если Abs(arg1)>0.000000001, то результат := cotan(arg1) else result :=100000;
конец;
функция cotrad(arg1:double):double;
начинать
результат: = cotan(DegToRad(arg1));
конец;
функция sec(arg1:double):double;
начинать
результат: = 1/cos(arg1);
конец;
функция cosec(arg1:double):double;
начинать
если Abs(arg1)>0.000000001, то результат:= 1/sin(arg1) else result:=1000000;
конец;
функция tanrad(arg1:double):double;
начинать
результат: = tan(DegToRad(arg1));
конец;
функция sinrad(arg1:double):double;
начинать
результат: = sin(DegToRad(arg1));
конец;
функция cosrad(arg1:double):double;
начинать
результат: = cos(DegToRad(arg1));
конец;
функция cosecrad(arg1:double):double;
начинать
результат:= 1/sin(DegToRad(arg1));
конец;
функция secrad(arg1:double):double;
начинать
результат: = 1/cos(DegToRad(arg1));
конец;
функция blanc(arg1:double):double;
Вар
темп, разрешение: расширенный;
количество: целое число;
начинать
Начинать
рез:=0;
для количества: = от 0 до 49 делать
начинать
arg1:=arg1-int(arg1-(Ord(arg1<0)));
если (arg1)<0,5, то temp:=(arg1) else temp:=(1-arg1);
res:=res+ temp/(power(2,count));
arg1:=2*arg1;
конец;
конец;
результат:=рез;
конец;
функция min(arg1,arg2:double):double;
начинать
если arg1 < arg2, то
результат := arg1
еще
результат: = arg2;
конец;
функция max(arg1,arg2:double):double;
начинать
если arg1 < arg2, то
результат := arg2
еще
результат: = arg1;
конец;
функция heaviside(arg1:double):double;
начинать
если arg1 < 0, то
результат := 0
еще
результат:= 1;
конец;
знак функции(arg1:double):double;
начинать
если arg1 < 0, то
результат := -1
еще
если arg1 > 0, то
результат := 1,0
еще
результат:= 0,0;
конец;
функция ноль(arg1:double):double;
начинать
если arg1 = 0,0, то
результат := 0.0
еще
результат: = 1,0;
конец;
функция ceil(arg1:double):double;
начинать
если дробь(arg1) > 0, то
результат:= int(arg1 + 1)
еще
результат: = int(arg1);
конец;
функция Floor(arg1:double):double;
начинать
если frac(arg1) < 0, то
результат:= int(arg1 - 1)
еще
результат: = int(arg1);
конец;
функция радиус(arg1,arg2:double):double;
начинать
результат: = sqrt(sqr(arg1)+sqr(arg2));
конец;