И другие программы этой серии
Закон распределения не является равномерным; значения случайных элементов симметричны относительно 0 и находятся в пределах [–1 1]. Если rc – вектор размера n, то матрица R имеет собственные значения, равные элементам вектора rc. Таким образом, если элементы вектора rc положительны, то матрица R является положительно определенной. В любом случае матрица R генерируется с помощью случайного вращения по Якоби диагональных
матриц с заданными собственными значениями и числом обусловленности. Такие матрицы играют важную роль при анализе алгебраических и топологических структур.
• 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.
Начало в части 1