Автор вопроса: AWP | Web-сайт:xawp.narod.ru | ICQ: 345685652
Собрал несколько полезных функций и откомпилировал в библиотеку.
http://xawp.narod.ru/simth.zip
Пример на VB6 с описанием и декларациями
Исходники на FB
Код в студию. Хотя я бы использовал формулу Герона или Ньютона потому как они ближе моим математическим корням, но по скорости они сильно уступают всем встроенным алгоритмам.
Вот то на что хватило мозга, особо не вникая перевести.
http://exfile.ru/168616
Declare Function Fib (n as integer) as long 'Вычисление числа Фибоначи
Declare Function NOD (n1 as integer, n2 as integer) as integer 'НОД
Declare Function ExpandNumb (n as integer) as string 'Разложить число на простые множители
Declare Function Dig (n1 as integer, n2 as integer, count as integer) as string 'Деление с заданной точностью
Declare Function Fact (n as integer) as long 'Вычисление факториала (количество перестановок)
Declare Function Accom (n as integer, m as integer) as integer 'Число размещений из n элементов по m
Declare Function Comb (n as integer, m as integer) as integer 'Число сочетаний из n элементов по m
Declare Function LaguerreCalc(n As Long, x As Double) As Double 'Расчет значения полинома Ляггера
Declare Function LaguerreSum(C() As Double, n As Long, x As Double) As Double 'Суммирование Ляггера по формуле Кленшоу
Есть еще куча всего типа: Преобразования координат везде где можно, решение систем линейных уравнений методом гаусса, вращения, интерполяции в том числе и по Лагранжу, функции для работы с локальными сплайнами, решение нелинейных уравнений и их систем, вычисление производной и всего что с ней связано, вычисление коэфициентов чувствительности, интегральное исчисление, решения дифференциальных уравнений и еще много чего.
Дело в том что это мои студенческие-школьные зарисовки (распечатки) на qb, и вот так на коленке довольно сложно вспомнить о чем речь (учитывая что GOTO в то время я очень любил).
СанСаныч пишет:
сть еще куча всего типа: Преобразования координат везде где можно, решение систем линейных уравнений методом гаусса, вращения, интерполяции в том числе и по Лагранжу, функции для работы с локальными сплайнами, решение нелинейных уравнений и их систем, вычисление производной и всего что с ней связано, вычисление коэфициентов чувствительности, интегральное исчисление, решения дифференциальных уравнений и еще много чего.
Это все на бумажных носителях. Напряжно переводить нечто такое:
10 rem runge-kutt
11 input "h=" h: input "x0=" x
12 input "y0=" z : y=z
13 gosub 18: a=f*h : x=x+h/2 : y=z+a/2
14 gosub 18: b=f*h : y=z+b/2
15 gosub 18: c=f*h : x=x+h/2 : y=z+c
16 gosub 18: y=z+(a+2*(b+c)+h*f)/6 : z=y
17 print "x=" x : print "y=" y : goto 13
18 f=-y : return : end
в нормальный код. Здесь еще не сложно, а вот допустим реализация интерполяции таблиц с произвольным числом узлов меня просто в тупик ставит.