Есть такой код:
Код:
for i=1:3
firstDerVec=FirstDerivativeMultivarNumerical(func1,varsVector,curIterValues)
HessianNumericalTemp=HessianNumerical(func1,varsVector,curIterValues)
prod=HessianNumericalTemp\(firstDerVec')
curIterValues=curIterValues-(prod)';
end
answer=curIterValues;
firstDerVec вычисляет частные производные для все переменных, и подставляет
потом туда значения переменных, которые он получил в curIterValues.
HessianNumerical создает Матрицу вторых производных функции func1, с переменными, которые указаны в varsVector, и потом подставляет значения из
curIterValues.
В prod записывается (HessianNumericalTemp)^-1*firstDerVec.
Почему-то prod получает значения в виде a/b где a и b это целые,
а очень желательно, чтобы это было сохранение в виде double, даже с какой-то ошибкой т.к. уже после 2 итераций с числами, представленными в виде a/b ,
это начинает занимать очень много ресурсов компьютера, т.к. числа становятся очень большими ( a и b около 100 знаков).
Пример работы функции:
firstDerVec =[ 17199 18445]
HessianNumericalTemp =[ 3430, 7364; 7364, 5260]
prod =[440/351 646807/369252]
а нужно, чтобы был double, а не частное двух целых чисел.
Как можно сделать, чтобы prod сделать double?
Заранее благодарю.