КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Применение функций и операторов9 8 7 1 0 1 1 2 3 9 8 7 1 2 3 4 5 6 7 8 9 10 1 0 1 1 2 4 2 3 Замена списка переменных массивами ячеек 6 2 Size(B) 3 4 Size(A) Изменение формы (размерностей) массива ячеек Удаление ячеек Вы можете удалить полностью любую размерность массива ячеек с использованием одного выражения. Как и в стандартном случае удаления массивов, нужно использовать векторное индексирование при удалении строк или столбцов массива ячеек, с приравниванием данной размерности пустой мастрице, например . A(:, 2) = [ ]
При удаленни ячеек, фигурные скобки вообще не используются в соответствующих выра-жениях. Ка и в случае любых других массивов, для изменения формы массива ячеек можно приме-нить функцию reshape. При этом общее число ячеек должно остаться тем же, то есть вы не можете использовать данную функцию для добавления или удаления ячеек.
A = cell(3, 4); ans = B = reshape(A,6,2); ans = Массивы ячеек могут быть ипользованы для замены списка переменных MATLAB-а в сле-дующих случаях:
Если вы используете оператор двоеточия для индексации набора ячеек в сочетании с фигур-ными скобками, то MATLAB обращается с каждой ячейкой как с отдельной переменной. Например, допустим вы имеете массив ячеек T, где каждая ячейка содержит отдельный век-тор. Выражение T{1:5} эквивалентно списку векторов в первых пяти ячейках массива T, то есть оно равносильно записи
[ T{1}, T{2}, T{3}, T{4}, T{5} ]
Рассмотрим массив ячеек C:
C(1) = {[1 2 3]}; C(2) = {[1 0 1]}; C(3) = {1:10}; C(4) = {[9 8 7]}; C(5) = {3};
Для свертки векторов в C(1) и C(2) с использованием функции conv, нужно записать
d = conv(C{1:2}) d =
Для вывода на дисплей векторов со второго по четвертый введем
C{2:4}
Это даст
ans = ans = ans =
Аналогично, вы можете создать новый числовой массив используя выражение
B = [ C{1}; C{2}; C{4} ]
что приводит к
B = Вы можете также использовать соответствующую индексацию в левой части оператора при-сваивания для создания нового массива ячеек, где каждая ячейка содержит один выходной аргумент
[D{1:2}] = eig (B) D = [3x3 double] [3x3 double] Напомним, что при задании двух выходных аргументов, выходом функции eig(B) является модальная матрица, составленная из нормированных собственных векторов матрицы B и ди-агональная матрица собственных значений. Вы можете вывести в командное окно действи-тельные значения собственных векторов и значений вводя D{1} и D{2}. Для применения функций или операторов к содержимому ячеек нужно воспользоваться со-ответствующей индексацией. Например, зададим массив ячеек А
A{1, 1} = [1 2; 3 4]; A{1, 2} = randn (3,3); A{1, 3} = 1: 5;
Тогда, для применения функции sum к содержимому первой ячейки массива запишем
B = sum (A{1,1})
Что приводит к следующему результату
B =
Дата добавления: 2014-10-15; Просмотров: 485; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |