как установить точность округления в математике - PullRequest
0 голосов
/ 21 апреля 2011

Я хочу проиллюстрировать стабильность некоторых численных алгоритмов.Я хочу использовать Mathematica для округления чисел с плавающей запятой в соответствии с обычным правилом, например:

myRound[3/80.]=0.038, если я укажу точность в 2 цифры.

Еще одна

myRound[89/47.]=1.89

Итак, учитывая число точности, как написать функцию myRound?Пожалуйста помоги.Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 21 апреля 2011

Я не уверен, что это то, что вам нужно:

In[34]:= customRound[x_Real] := 
 Round[x, 10^Round[RealExponent[x]]*0.01]

In[35]:= customRound[3/80.]

Out[35]= 0.038

In[36]:= customRound[89/47.]

Функция фактически меняет число, а не просто меняет способ его отображения.

3 голосов
/ 21 апреля 2011

Вы должны посмотреть на NumberForm.Например:

NumberForm[89.0/47.0, 3]

Возвращает 1,89.

На самом деле мне приходит в голову, что, если вы действительно хотите проиллюстрировать проблемы округления, вам следует изучить пакет ComputerArithmetic.Это хорошо задокументировано, поэтому я оставлю это на этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...