Jump to content
Feight

Matriz simétrica

Recommended Posts

Feight

Queria fazer um programa que criasse uma matriz em que as suas linhas são iguais às colunas. Por exemplo:

0 1 0 0 0

1 0 1 1 1

0 1 0 0 1

0 1 0 0 1

0 1 1 1 0

A matriz é composta unicamente por 0 e 1.

Alguém tem alguma dica? Desde já obrigada.

Share this post


Link to post
Share on other sites
Rui Carlos

Assim à primeira vista, parece-me que pretendes uma matriz simétrica.

Gera uma matriz aleatória, e coloca todos os elementos da diagonal ou abaixo a zero. Depois soma essa matriz com a sua transposta.

Share this post


Link to post
Share on other sites
Feight

Como coloco todos os elementos abaixo da diagonal a zero sem predefinir o tamanho da matriz? É que eu queria que fosse o utilizador a seleccionar o tamanho que ele quer para a matriz.

Share this post


Link to post
Share on other sites
filipe3632

Então vais saber sempre pela variável que usares para o utilizador introduzir o tamanho que queres...


Peace, Love & Empathy by: Kurt Cobain

Share this post


Link to post
Share on other sites
Feight

Já descobri que o comando para pôr tudo a zeros abaixo da diagonal é o triu.

Experimentei a resolução proposta pelo Rui Carlos mas não funcionou.  :dontgetit:

Share this post


Link to post
Share on other sites
pedrosorio

Assim à primeira vista, parece-me que pretendes uma matriz simétrica.

Gera uma matriz aleatória, e coloca todos os elementos da diagonal ou abaixo a zero. Depois soma essa matriz com a sua transposta.

Percebo a ideia de colocar os elementos da diagonal e abaixo a zero, para evitar que se somem 1's e deixes de ter uma matriz binária, mas com esse procedimento a matriz resultante tem sempre apenas zeros na diagonal...

O que eu recomendaria é que gerasses a tal matriz aleatória (A) de 0's e 1's com randint(n), e a transformasses em triangular superior (isto é mantendo a diagonal com triu(A)) e a somasses à matriz que resulta de achar a sua transposta e manter a parte triangular inferior, removendo a diagonal, com tril(A',-1).


Não respondo a dúvidas por mensagem.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.