Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [matlab]Генерация матрицы и её изменение 
:(
    Опции темы
ddj
Дата 22.3.2012, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 26.2.2008

Репутация: нет
Всего: 1



Добрый день,
Генерирую матрицу:

Код

n = 4;  
p = 0.15; 

G = rand(n,n) < p;
full(G)


Получаю матрицу. Например:
0 1 1 1
1 0 0 0
1 0 0 0
0 1 0 0

Как сейчас с этой матрицы получить такую:

0 1/3 1/3 1/3
1   0    0    0
1   0    0    0
0   1    0    0

Поясню: сумма строк ровна 1, тоесть  1/k, где k - количество едениц в строке.
Спасибо.

Это сообщение отредактировал(а) ddj - 22.3.2012, 17:30
--------------------
#iddj
PM MAIL   Вверх
W4FhLF
Дата 22.3.2012, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: нет
Всего: 121



Это вы хотите сделать?

Код

>> v = [0 1 1 1];
>> v/size(find(v==1),2)

ans =

                         0         0.333333333333333         0.333333333333333         0.333333333333333



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
ddj
Дата 23.3.2012, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 26.2.2008

Репутация: нет
Всего: 1



в этом направлении.
Только визде в матрице, если например 2 и 3 строки матрицы имели бы не по одной 1 а по две, то там тоже нада было уменшить на k.

0 1 1 0
1 1 1 1
0 0 0 0
1 1 1 0

--->

0     1/2  1/2   0
1/4  1/4  1/4  1/4
0      0     0     0
1/3  1/3  1/3   0
--------------------
#iddj
PM MAIL   Вверх
W4FhLF
Дата 23.3.2012, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: нет
Всего: 121



Пройдитесь по строкам и примените операцию к каждой строке. Отдельно нужно учесть случай когда единиц нет вообще, чтобы не получилось деление на ноль.


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
ddj
Дата 23.3.2012, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 26.2.2008

Репутация: нет
Всего: 1



Код

>> v = [0 1 1 1];
>> v/size(find(v==1),2)


что сдесь значет эта двойка ? (find(v==1),2) ?

Цитата

Пройдитесь по строкам и примените операцию к каждой строке. 


А как с матрицы достать все строки ?
Если их будет например: 100 - 500
--------------------
#iddj
PM MAIL   Вверх
W4FhLF
Дата 23.3.2012, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: нет
Всего: 121



Цитата
что сдесь значет эта двойка ? (find(v==1),2) ?


> doc size

Строки достать в цикле. i-ый вектор со строкой из матрицы можно получить так: row_i = A(i,: )

Это сообщение отредактировал(а) W4FhLF - 23.3.2012, 17:54


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Одуванчик
Дата 29.5.2013, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 29.5.2013

Репутация: нет
Всего: нет



Помогите написать программу в МатЛабе чтобы:

Заменить столбцы,имеющие четное количество отрицательных элементов столбцом,где находится минимальный элемент матрицы 9х14.

П.С. Без вас не справлюсь( 

Это сообщение отредактировал(а) Одуванчик - 30.5.2013, 08:47
PM MAIL   Вверх
Google
  Дата 20.5.2019, 03:45 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Математические пакеты | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.