Symbolic Math Toolbox™ работает с числами или при помощи символьной или при помощи числовой арифметики. Числовая арифметика является или переменной точностью или двойной точностью. Следующая информация выдерживает сравнение символьный, переменная точность и арифметика с двойной точностью.
Символьный | Переменная точность | Двойная точность | |
---|---|---|---|
Пример: Найдите sin (π) | a = sym(pi) sin(a) a = pi ans = 0 | b = vpa(pi) sin(b) b = 3.1415926535897932384626433832795 ans = -3.2101083013100396069547145883568e-40 | pi sin(pi) ans = 3.1416 ans = 1.2246e-16 |
Используемые функции | sym | vpa digits | double |
Ошибки округления | Нет, находит точные результаты | Да, значение зависит от используемой точности | Да, имеет 16 цифр точности |
Скорость | Самый медленный | Быстрее, зависит от используемой точности | Быстрее |
Использование памяти | Самый большой | Корректируемый, зависит от используемой точности | Наименьшее |
По умолчанию Symbolic Math Toolbox использует точные числа, такие как 1/3
, sqrt(2)
, или pi
, чтобы выполнить точные символьные вычисления.
Арифметика переменной точности использование vpa
является рекомендуемым подходом для числовых вычислений в Symbolic Math Toolbox. Для большей точности увеличьте число значительных цифр. Для более быстрых вычислений и уменьшенного использования памяти, сократите число значительных цифр.
Арифметика с плавающей точкой, с двойной точностью использует ту же точность в качестве большинства числовых вычислений в MATLAB®. Эта арифметика рекомендуется, когда вы не имеете Symbolic Math Toolbox или используете функции, которые не принимают символьный вход. В противном случае точные символьные числа и арифметика переменной точности рекомендуются. Чтобы аппроксимировать значение с двойной точностью, используйте функцию double
.