Структуры

Структурами MATLAB (тип struct) являются многомерные массивы. Доступ к ним осуществляется путём указания индексов-имён. Например, можно создать скалярную структуру из двух полей:

>> S.name='мир'; S.order=2

S =

name: 'мир'

Order: 2

Расширение структуры можно выполнить по тому же правилу, что и добавление строк и столбцов в массив:

>> S(2).name='свет'; S(2).order=4

Для пополнения структуры можно также использовать специальную команду struct. Организуем третий элемент структуры S, присвоив полю name значение «волна», а полю order - значение 2.

>> S(3)=struct('name','волна','order',2)

S =

1x3 struct array with fields:

name: 'волна'

Order: 2

Чтобы вывести содержимое отдельных полей структуры, нужно использовать фигурные либо квадратные скобки в зависимости от того, символьные или числовые данные связаны с данным полем:

>> {S.name}

ans = 'мир' 'свет' 'волна'

>> [S.order]

ans = 2 4 2

Преобразование данных в массив символов осуществляется по команде char:

>> char(S.name)

ans =

Мир

Свет

Волна


Краткий обзор встроенных средств решения типовых задач алгебры и анализа

Решение систем линейных уравнений

В системе MATLAB для решения систем линейных уравнений предусмотрены знаки операций - это знаки (/) и (\) [2 - 6]. Рассмотрим систему линейных уравнений вида Ay = b, где А - заданная квадратная матрица N х N, a b - заданный вектор-столбец дли­ны N. Для нахождения неизвестного вектор-столбца у достаточно применить операцию (\) и вычислить выражение А\b. Вот соответствующий пример:

А = [1,-2,3,-1;2,3,-4,4;3,1,-2,-2;1,-3,7,6];

b = [6;-7;9;-7];

у = А \ b

У =

2.0000

-1.0000

-2.0000

В общем случае операция (\) называется левым делением матриц и, будучи примененная к матрицам А и В в виде А\В, примерно эквивалентна вычислению выражения inv(A)*B но при этом вычисляется по-другому. Здесь под inv (А) понимается вычисление матрицы, обратной к матрице А. Операцию (/) называют правым делением матриц. Выражение А/В примерно соответствует вычислению выражения B*inv(A). Значит, эта операция позволя­ет решать системы линейных уравнений вида YA = В, так как решением именно этого уравнения служит выражение B*inv (A).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: