MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

MATLAB\MATLAB

В.Г.Потемкин "Справочник по MATLAB"
Работа с разреженными матрицами

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

Преобразование разреженных матриц

FIND
Определение индексов ненулевых элементов

Синтаксис:

k = find(x) k = find(<условие>)
[i, j] = find(X) [i, j] = find(<условие>)
[i, j, s] = find(X) [i, j, s] = find(<условие>)

Описание:

Функция k = find(x) определяет индексы ненулевых элементов вектора x; если таких элементов нет, то результатом является пустой вектор. Если входом является матрица X, то при данном способе вызова функции find она рассматривается как вектор-столбец x(i), образованный объединением столбцов исходной матрицы.

Функция [i, j] = find(X) возвращает индексы строк и столбцов ненулевых элементов матрицы X; часто используется при работе с разреженными матрицами.

Функция [i, j, s] = find(X) возвращает индексы, а также вектор-столбец s ненулевых элементов матрицы X.

Если в качестве аргумента функции find используется условие, то первые две функции обладают теми же свойствами, а функция [i, j, s] = = find(<условие>) будет формировать в качестве вектора s вектор единиц вместо значений ненулевых элементов.

Пример:

Пусть

            M = magic(3)

M = 8 1 9
3 5 7
4 9 2

Тогда применение функции find в форме

           [i, j, m] = find(M); [i j m]

дает результат

ans = 1 1 8
2 1 3
3 1 4
1 2 1
2 2 5
3 2 9
1 3 6
2 3 7
3 3 2

а в случае

           [i, j, m] = find(M > 6); [i j m]

получим

ans = 1 1 1
3 2 1
2 3 1

Сопутствующие функции: SPARSE, NONZEROS, RELOP (операции отношения).

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

 


Поиск по сайту:

Система Orphus

Яндекс.Метрика