Проверяйте, является ли аргумент неопределенным типом класса
B = isuncertain(A)
Возвращает true если входной параметр неопределенен, false в противном случае. Неопределенные классы umat, ufrd, uss, ureal, ultidyn, umargin, ucomplex, ucomplexm, и udyn.
В этом примере вы проверяете правильность операции isuncertain на double, ureal, ss, и uss objects.
isuncertain(rand(3,4))
ans =
0
isuncertain(ureal('p',4))
ans =
1
isuncertain(rss(4,3,2))
ans =
0
isuncertain(rss(4,3,2)*[ureal('p1',4) 6;0 1])
ans =
1
isuncertain проверяет только класс входного параметра и на самом деле не проверяет, что входной параметр действительно неопределен. Создайте umat путем подъема постоянной (то есть не неопределенной) матрицы в umat класс.
A = umat([2 3;4 5;6 7]);
Обратите внимание, что хотя A находится в umat классов, на самом деле это не неопределенно. Тем не менее, исходя из класса, результат isuncertain(A) является true.
isuncertain(A)
ans =
1
Результат simplify(A) является doubleи, следовательно, не неопределенно.
isuncertain(simplify(A))
ans =
0