Цитата:
Сообщение от
raz
Если тут прописать:
X++:
b = 0.0353731871241599;
То результат: ....
Вот где вкралась неточность в ваших расчётах!
Переменная b, значение которой вы вычисляете как 100 / 2827 на самом деле инициализируется не 0.0353731871241599, а 0.3537318712415989e-1. это легко проверить
X++:
b = 100 / 2827;
info(num2str(10*b, 0, 16, 0, 0));
Дело в том что когда мы говорим о точности в 16 знаков после запятой, на самом деле имеются в виду 16
значащих цифр мантисы. Функция же num2str возвращает непосредственно
первые 16 цифр после запятой, в момент преоброзования отбрасывая все невместившиеся значащие цифры и округляя 17 знак.
Интересно а есть ли в аксапте возможность преобразовать вещественное значение в строку без потери значащих разрядов (т.е в экспоненциальном формате)?