Изменение Решение Эдрика :
absTol = 1e-3; % You choose this value to be what you want!
relTol = 0.05; % This one too!
absError = x(:)-y(:);
relError = absError./x(:);
relError(~isfinite(relError)) = 0; % Sets Inf and NaN to 0
same = all( (abs(absError) < absTol) & (abs(relError) < relTol) );
Переменная same будет иметь значение false, если либо абсолютная или относительная погрешность любого элемента больше, чем любые допуски, которые вы выбираете. Кроме того, если какие-либо элементы x окажутся точно равными 0, то некоторые элементы relError могут оказаться либо бесконечными, либо не числовыми, поэтому я использовал ISFINITE функция игнорировать эти значения, устанавливая их в 0.
Я бы не советовал использовать IMAGESC для сравнения графиков, поскольку 1) данные масштабируются, когда они отображаются, 2) цветовая карта для дисплея имеет дискретное количество значений цвета (что, я думаю, по умолчанию 256, следовательно, много округлений), и 3) едва заметные различия в цвете могут быть не столь очевидны при визуальном сравнении двух графиков.