~=, _approxАппроксимированное равенство
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
x ~= y _approx(x,y)
x ~= y символизирует аппроксимированное равенство.
x ~= y эквивалентен вызову функции _approx(x, y).
Оператор ~= возвращает символьное выражение, представляющее аппроксимированное равенство для численных значений x и y. Вызовы bool(x ~= y) и проверка is(x ~= y), удовлетворен ли |float((x - y)/x)| < 10^(-DIGITS), обеспечили x ≠ 0 и y ≠ 0. Таким образом TRUE возвращен, если x и y совпадают в относительной числовой точности, заданной DIGITS. Для x = 0 критерием является |float(y)| < 10^(-DIGITS). Для y = 0 критерием является |float(x)| < 10^(-DIGITS). Если или x или y содержат символьный объект, который не может быть преобразован в действительное или комплексное число с плавающей запятой, функции, bool и is возвращают значение UNKNOWN.
Аппроксимированные равенства имеют два операнда: левая сторона и правая сторона. Используйте lhs и rhs, чтобы извлечь эти операнды.
a ~= b не эквивалентен a - b ~= 0.
В следующем примере отметьте различие между синтаксическим и числовым равенством. Числа 1.5 и
совпадают численно. Однако 1.5 имеет доменный тип DOM_FLOAT, тогда как
имеет доменный тип DOM_RAT. Следовательно, они не рассматриваются как равные в следующем синтаксическом тесте:
1.5 = 3/2; bool(%)
![]()
![]()
Для уравнений с числами с плавающей запятой используйте оператор ~= вместо =. bool функций и is тестируют, совпадают ли приближения с плавающей точкой до относительной точности, данной DIGITS:
1.5 ~= 3/2; bool(1.5 ~= 3/2); is(1.5 ~= 3/2);
![]()
![]()
![]()
|
Произвольные объекты MuPAD® |
Выражение типа "_approx".