И другие программы этой серии
• R = sprandn(m,n,density,rc) в дополнение к этому имеет своим пара
метром число обусловленности по отношению к операции обращения, при
близительно равное rc. Если вектор rc имеет длину lr (lr?min(m,n)), то
матрица R имеет rc в качестве своих первых lr сингулярных чисел, все
другие значения равны нулю. В этом случае матрица R генерируется с по
мощью матриц случайных плоских вращений, которые применяются к диа
гональной матрице с заданными сингулярными числами.
Пример:
>> f=sprandn(3,4,0.3)
f=
(2,1)
-0.4326
(2,2)
-1.6656
(2,3)
0.1253
(2,4)
0.2877
матриц с заданными собственными значениями и числом обусловленности.
Такие матрицы играют важную роль при анализе алгебраических и тополо
гических структур.
• R = sprandsym(n,density,rc,kind) возвращает положительно опре
деленную матрицу. Аргумент kind может быть следующим:
– kind=1 – матрица R генерируется из положительно определенной диа
гональной матрицы с помощью случайных вращений Якоби. R имеет
точно заданное число обусловленности;
– kind=2 – матрица R генерируется как смещенная сумма матриц вне
шних произведений. Число обусловленности матрицы приблизительно,
но структура более компактна (по сравнению с предыдущим случаем);
– kind=3 – генерируется матрица R той же структуры, что и S, а число
обусловленности приближенно равно 1/rc. Значение density игнори
руется.
Пример:
>> a=sprandsym(4,0.3,0.8)
a=
(1,1)
0.9818
(3,1)
0.0468
(2,2)
-0.9283
(1,3)
0.0468
(3,3)
0.8800
(4,4)
-0.8000
5.1.3. Преобразование разреженных матриц
Теперь рассмотрим функции преобразования разреженных матриц. Они пред
ставлены ниже:
• k = find(X) возвращает индексы вектора x для его ненулевых элементов.
Если таких элементов нет, то find возвращает пустой вектор.
find(X>100) возвращает индексы элементов вектора с X>100;
• [i,j] = find(X) возвращает индексы строки и столбца для ненулевого
элемента матрицы X;
• [i,j,v] = find(X) возвращает вектор столбец v ненулевых элементов
матрицы X и индексы строки i и столбца j.