2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Вычисление в Matlab с произвольной точностью
Сообщение15.10.2013, 21:42 


02/02/09
53
Добрый день!
передо мной стоит следующая задача: необходимо реализовать возможность совершения всех вычислительных операций в Matlab с заданной заранее точностью $n$. Главное, чтобы именно для всех и эта "директива" (вычислять именно с точностью $n$) задавалась глобально и применялась ко всему. Для одноразового решения задачи (например $a+b\ast c$) я конечно могу пользоваться "связкой"
Код:
eval(vpa(eval(vpa(a,n))+eval(vpa(b,n))*eval(vpa(c,n)),n))

но применять такую процедуру к многочисленным вычислениям в файле-программе очень и очень проблемно. Обгуглил все что мог, ничего не нашел - решил вот найти истину на форуме.
Буду весьма признателен за любую помощь!

 Профиль  
                  
 
 Re: Вычисление в Matlab с произвольной точностью
Сообщение15.10.2013, 22:51 


02/02/09
53
При этом изначально моя задача была в том, чтобы наоборот уменьшить точность (от 32 перейти, например, к 4 знакам), но теперь вот думаю наверно полезно было бы и увеличить (если такое конечно же возможно).

Для моей задачи "ухудшения" точности не мудрствуя лукаво решил воспользоваться применением функции округления к результатам любых делений и тому подобных операций (которые могут "увеличить" число значащих цифр):
Код:
function res = f_sd(a)
%данная функция дает результат вычисления "a" с заданной точностью "n" знаков
%после запятой
n=4; %"точность" деления
res=round((10^n)*a)/(10^n);

а на тему улучшения предлагаю порассуждать, ведь и на эту тему во всевидящем гугле мало что есть полезного:(

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

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



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

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


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

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