sprand

Разреженная равномерно распределенная случайная матрица

Описание

пример

R = sprand(S) создает разреженную матрицу, которая имеет тот же шаблон разреженности как матричный S, но с равномерно распределенными случайными записями.

пример

R = sprand(m,n,density) создает случайный m- n разреженная матрица приблизительно с density*m*n равномерно распределенные ненулевые записи для density в интервале [0,1].

пример

R = sprand(m,n,density,rc) создает матрицу, которая также имеет взаимное число обусловленности, приблизительно равняются rc. Матричный R создается из суммы матриц ранга один.

Примеры

свернуть все

Создайте 60- 60 разреженная матрица смежности графика возможности соединения Бакминстера Фуллера геодезический купол. Постройте шаблон разреженности матричного S.

S = bucky;
spy(S)

Figure contains an axes object. The axes object contains an object of type line.

Создайте другую разреженную матрицу R это имеет тот же шаблон разреженности как матричный S, но с равномерно распределенными случайными записями. Постройте шаблон разреженности R.

R = sprand(S);
spy(R)

Figure contains an axes object. The axes object contains an object of type line.

Создайте случайный 500- 1000 разреженная матрица с плотностью 0.1. Матрица имеет приблизительно 0.1*500*1000 = 50000 равномерно распределенные ненулевые записи.

R = sprand(500,1000,0.1);

Покажите точное количество ненулевых элементов в матричном R.

n = nnz(R)
n = 47663

Создайте случайный 50- 100 разреженная матрица приблизительно с 0.2*50*100 = 1000 равномерно распределенные ненулевые записи. Задайте взаимное число обусловленности матрицы, чтобы быть 0.25.

R = sprand(50,100,0.2,0.25);

Покажите что число обусловленности матричного R равно 1/0.25 = 4.

cond(full(R))
ans = 4.0000

Входные параметры

свернуть все

Введите матрицу в виде полной или разреженной матрицы.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного числа: Да

Количество строк матрицы в виде неотрицательного целого числа.

Количество столбцов матрицы в виде неотрицательного целого числа.

Плотность ненулевых элементов в виде скаляра. density должен быть в интервале [0,1].

Типы данных: double

Взаимное число обусловленности в виде скаляра или вектора. rc должен быть в интервале [0,1].

Если rc вектор из длины lr, где lr <= min(m,n), затем R = sprand(m,n,density,rc) имеет rc как его первый lr сингулярные значения и все другие являются нулем. В этом случае, R сгенерирован случайными плоскими вращениями, применился к диагональной матрице с данными сингулярными значениями. Это имеет большую топологическую и алгебраическую структуру.

Типы данных: double

Ограничения

  • sprand спроектирован, чтобы произвести большие матрицы с маленькой плотностью и значительно сгенерирует меньше ненулевых значений, чем требуемый если m*n мал или density является большим.

Советы

  • sprand использует тот же генератор случайных чисел в качестве rand, randi, и randn функции. Можно управлять этим генератором с rng функция.

Расширенные возможности

Смотрите также

|

Представлено до R2006a