2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Как сделать, чтобы Matlab округлял число?
Сообщение04.02.2011, 11:32 


08/01/11
16
Есть такой код:

Код:
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?

Заранее благодарю.

 Профиль  
                  
 
 Re: Как сделать, чтобы Matlab округлял число?
Сообщение04.02.2011, 13:17 
Заслуженный участник
Аватара пользователя


11/04/08
2748
Физтех
Например так:
Код:
prod = double(prod)


Еще для округления можно воспользоваться функцией vpa (но в тип double он не преобразует):

Код:
prod = vpa(prod,<Количество знаков>)

 Профиль  
                  
 
 Re: Как сделать, чтобы Matlab округлял число?
Сообщение04.02.2011, 19:20 


08/01/11
16
Работает, большое спасибо.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group