усложнить

Замените атомы ureal суммированием ureal и ucomplex (или ultidyn) атомы

Синтаксис

MC = complexify(M,alpha)
MC = complexify(M,alpha,'ultidyn')

Описание

Команда complexify заменяет атомы ureal на суммы ureal и атомы ucomplex с помощью usubs. Опционально, сумма может состоять из атома ultidyn и ureal.

complexify используется, чтобы улучшить создание условий устойчивых вычислений устойчивости (robstab) для ситуаций, когда существует преимущественно ureal неопределенные элементы.

MC = complexify(M,alpha) приводит к каждому атому ureal в MC, имеющем тот же Name и NominalValue как соответствующий атом ureal в M. Если Range является областью значений одного атома ureal от M, то область значений соответствующего ureal атома в MC

[Range(1)+alpha*diff(Range)/2 Range(2)-alpha*diff(Range)/2]

Результирующий эффект состоит в том, что та же действительная область значений покрыта действительной и комплексной неуверенностью. Действительная область значений параметра уменьшается равными суммами в каждом конце, и alpha представляет (в относительном смысле) сокращение общей области значений. Атом ucomplex добавит это сокращение области значений назад в MC, но как шар с действительными и мнимыми частями.

Атом ucomplex имеет NominalValue 0, и Radius, равный alpha*diff(Range). Его имя является именем исходного атома ureal, добавленного с символами '_cmpxfy'.

MC = complexify(M,alpha,'ultidyn') является тем же самым, за исключением того, что ограниченные усилением атомы ultidyn используются вместо атомов ucomplex. Атом ultidyn имеет свой Bound, равный alpha*diff(Range).

Примеры

свернуть все

Чтобы проиллюстрировать комплексификацию, создайте неопределенный действительный параметр, бросьте ее к неопределенной матрице и примените 10%-ю комплексификацию.

a = umat(ureal('a',2.25,'Range',[1.5 3])); 
b = complexify(a,.1); 
as = usample(a,200); 
bs = usample(b,4000);

Сделайте график рассеивания значений, которые усложненная матрица (скаляр) может принять, а также значения исходного неопределенного действительного параметра.

plot(real(bs(:)),imag(bs(:)),'.',real(as(:)),imag(as(:)),'r.')
axis([1 3.5 -0.2 0.2])

Представленный в R2007a