• Nenhum resultado encontrado

Exercícios sobre matrizes

N/A
N/A
Protected

Academic year: 2022

Share "Exercícios sobre matrizes"

Copied!
2
0
0

Texto

(1)

Exercícios sobre matrizes

21 de outubro de 2011

Esta lista contém exercícios sobre matrizes. Ela propõe que você implemente uma função para calcular o determinante de uma matrizn x n. O valornserá uma constante definida, por exemplo, como

#define n 10

ou

const int n = 10;

Compilando o programa com valores distintos paranvocê poderá testar o seu programa em diversos casos. (Este não é o modo ideal de lidar com matrizes, mas é o mais simples neste estágio do curso.)

O cálculo do determinante é baseado nas seguintes observações

• Se “a parte de baixo” de uma matrizAfor nula, isto é, seai j=0 parai>j, então o determinante deAé o produto dos elementos da diagonal: detA=∏ni=1aii.

• Se trocarmos duas linhas deAentão o seu determinante muda de sinal, mas o módulo do determinante não muda.

• Se subtrairmos de um linha deAum múltiplo da primeira linha então o determi- nante não se altera.

Isto leva às seguintes tarefas:

Tarefa 1) Escreva uma função

void troqueLinhas(double matriz[n][n], int i, int j) que troca as linhasiejdamatrizdada.

Tarefa 2) Escreva uma função

void combineLinhas(double matriz[n][n], int i, int j, double alpha)

1

(2)

que transformai-ésima linha da matriz nesta linha menosalphavezes aj-ésima linha.

Tarefa 3) Escreva uma função

int elimineAParteDeBaixo(double matriz[n][n]),

que combina e permuta as linhas damatrizdada de modo a zerar os elementos ai jcomi> j, e retorna o número de permutações. Para cadai=0...n - 2esta função deve encontrarjentreiental que matriz[j][i]tem o maior valor absoluto. Sejfor diferente deientão a função deve permutar as linhasiej. A seguir, sematriz[i][i]for diferente de zero, a função deve tomar

alpha = matriz[j][i] / matriz[i][i]

e subtrair alpha vezes a primeira linha dajésima linha. (Pense um pouco e veja que, de fato, o processo acima leva à uma matriz com entradas nulas abaixo da diagonal.)

Tarefa 4) Escreva a função

double determinante(double matriz[n][n])

que retorna o determinante damatrizdada a partir da função da Tarefa 3 e as observações acima.

Para testar o seu cálculo do determinante, faça os seguinte:

Teste 1) Verifique que se amatrizé diagonal então a sua função diz que o determinante dela é o produto dos elementos da diagonal (faça alguns testes colocando zeros na diagonal também, só para ter certeza que a sua função não tenta dividir por zero.)

Teste 2) Gere algumas matrizesMe númerosalphae, para todo par(i,j), verifique que a sua funçãodeterminantecalcula o mesmo valor para cadaMe a matrizM’, obtida ao subtrairalphavezes ai-ésima linha deMdaj-ésima linha deM.

Referências

Documentos relacionados

Diante disso, constatou-se que esse resgate cultural para a sociedade tupanciretanense faz-se necessário e de extrema importância para ajudar no desenvolvimento municipal, como

Os CIV-MR apesar de suas propriedades físicas supe- riores, como maior resistência mecânica e maior tempo de trabalho, se comparados aos CIV convencionais, apresentam

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

Para verificar a eficiência dos marcadores em predizer o desempenho dos híbridos, com base nas estimativas de divergência genética entre os genitores, foram obtidos os coeficientes

Produção (valor das vendas) Conceito de valor-agregado 2 33 ValueLinks Valor- agregado para fornecedores de insumos externos à CV Produtores Primários Fabricantes

Como recursos para a modelagem do problema, serão adotados os conceitos da Análise de Decisão, capazes de interpretar os diversos aspectos envolvidos no contexto de decisão, bem como

Não havia iluminação e “muzzle flash” para os tiros disparados pela arma, além do GameObject “Shooter” (script controlando o disparo de projéteis) estar