Моделирование в системе MATLAB. Часть 1. Основы работы в MATLAB. Терёхин В.В. - 181 стр.

UptoLike

Составители: 

179
testnum: 'Test 1'
xdata: [4 2 8]
ydata: [7 1 6]
Сравните эти результаты с обращением к оператору A.nest:
A.nest
ans =
testnum: 'Test 1'
xdata: [4 2 8]
ydata: [7 1 6]
ans =
testnum: 'Test 2'
xdata: [3 4 2]
ydata: [5 0 9]
Сопутствующие функции: SETFIELD, FIELDNAMES.
SETFIELD - Установить содержимое поля
Синтаксис:
s = setfield(s, '<имя_поля>', V)
s = setfield(S, {i, j}, '<имя_поля>', {k}, V)
Описание:
Функция s = setfield(s, '<имя_поля>', V), где элемент струк-
туры или структура s должны иметь размер 1х1, присваивает указан-
ному полю значение V
.
Функция s = setfield(S, {i, j}, '<имя_поля>', {k}, V) равносильна сле-
дующему оператору присваивания S(i, j).<имя_поля>(k) = V. Все
индексы передаются как массивы ячеек и заключаются в фигурные
скобки; имена полей передаются как строки.
Пример. Задана следующая структура A размера 1х2:
A(1).data = [3 4 7; 8 0 1];
A(1).nest.testnum = 'Test 1';
A(1).nest.xdata = [4 2 8];
A(1).nest.ydata = [7 1 6];
A(2).data = [9 3 2; 7 6 5];
A(2).nest.testnum = 'Test 2';
A(2).nest.xdata = [3 4 2];
A(2).nest.ydata = [5 0 9]
Присвоить новое значение полю A(1).nest.xdata:
A = setfield(A(1), 'nest.xdata', [5 3 9]);
getfield(A(1), 'nest')
ans =
testnum: 'Test 1'
xdata: [5 3 9]
ydata: [7 1 6]
       testnum: 'Test 1'
       xdata: [4 2 8]
       ydata: [7 1 6]
Сравните эти результаты с обращением к оператору A.nest:
    A.nest
     ans =
       testnum: 'Test 1'
       xdata: [4 2 8]
       ydata: [7 1 6]
     ans =
       testnum: 'Test 2'
       xdata: [3 4 2]
       ydata: [5 0 9]
       Сопутствующие функции: SETFIELD, FIELDNAMES.

            SETFIELD - Установить содержимое поля
        Синтаксис:
       s = setfield(s, '<имя_поля>', V)
       s = setfield(S, {i, j}, '<имя_поля>', {k}, V)
        Описание:
        Функция s = setfield(s, '<имя_поля>', V), где элемент струк-
туры или структура s должны иметь размер 1х1, присваивает указан-
ному полю значение V.
Функция s = setfield(S, {i, j}, '<имя_поля>', {k}, V) равносильна сле-
дующему оператору присваивания S(i, j).<имя_поля>(k) = V. Все
индексы передаются как массивы ячеек и заключаются в фигурные
скобки; имена полей передаются как строки.
        Пример. Задана следующая структура A размера 1х2:
    A(1).data = [3 4 7; 8 0 1];
        A(1).nest.testnum = 'Test 1';
        A(1).nest.xdata = [4 2 8];
        A(1).nest.ydata = [7 1 6];
        A(2).data = [9 3 2; 7 6 5];
        A(2).nest.testnum = 'Test 2';
        A(2).nest.xdata = [3 4 2];
        A(2).nest.ydata = [5 0 9]
Присвоить новое значение полю A(1).nest.xdata:
        A = setfield(A(1), 'nest.xdata', [5 3 9]);
        getfield(A(1), 'nest')
        ans =
           testnum: 'Test 1'
           xdata: [5 3 9]
           ydata: [7 1 6]
                                                                   179