Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de Exercícios de MATLAB Antonio C. Roque, Rodrigo F. O. Pena e Renan O. Shimoura 15 de março de 2017 Os seguintes problemas são comuns em cursos de programação básicos e seu objetivo é mostrar como o MATLAB funciona. A medida que os problemas forem ficando mais complicados é aconselhável resolvê-los com o editor do MATLAB para que seja mais fácil estruturar o código. Neste caso, os programas criados devem ser salvos em arquivos e executados posteriormente. Lembre-se sempre de usar os comandos help e lookfor para melhor entender as funções que você desconhece. 1. Dado x = [1 2 3 4 5 6], escreva esse vetor em Matlab e entenda o significado dos comandos abaixo: (a) x(5) (b) x(2:5) (c) x(1:end) (d) x(1:end-1) (e) x(6:-2:1) (f) x([1 5 2 1 1]) (g) sum(x); mean(x); var(x); std(x) 2. Considere os vetores A = [1 2 3], B = [3 2 1] e a matriz M = [4 5 6 ; 6 5 3], digite os próximos comandos e verifique se sua execução está correta, explique o porquê. Dica: utilize o comando size ou whos. (a) A + B (b) A + M (c) A’ + B (d) M - [A ; B] (e) [A ; B’] (f) [A ; B] (g) M - 3 (h) A*B (i) A’*B ou A*B’ (j) A.*B (k) A./B (l) inv([M ; A]) (m) det([M; A]) 3. Crie um vetor com o comando randi(100,1,10) (procure no help randi). Encontre qual é o maior valor neste vetor e seu índice. Substitua pelo seu quadrado. 4. Considere a matriz M = [10 2 10 5; 2 5 1 6; 2 4 8 10; 4 10 3 5]. Substitua os valores da primeira coluna e da última linha por 1. Utilize o comando find para encontrar na terceira linha desta matriz os índices dos valores que são maiores que 5. Troque estes valores por 5. 5. A função de Fibonacci pode ser definida como F (0) = 0,F (1) = 1, F (n) = F (n − 1) + F (n − 2) para n > 1. Escreva em Matlab um programa que calcule de maneira recursiva até n = 20. 1 6. Chamando o harmônico de um número n de n∑ k=1 1 k , encontrar em Matlab o harmônico de 255. 7. Calcule uma boa aproximação de cosseno de um número n dada por cosx = 1− x 2 2! + x4 4! − x 6 6! + ...+ (−1)k x 2k (2k)! e compare ao resultado do Matlab. 8. Crie gráficos das funções x, x3, ex : (a) Em coordenadas rectangulares. (b) Em coordenadas logaritmicas no eixo y (semilog). (c) Em coordenadas logaritmicas nos dois eixos. 9. A expressão que modela o crescimento da população brasileria pode ser escrita como P (t) = 157, 273, 000/(1 + e−0.0313(t−1913.25)) onde t é dado em anos. Faça um gráfico que mostre o cres- cimento populacional de 1900 a 2100 e encontre neste gráfico a população em 2050. 10. Considere o seguinte polinômio de segundo grau: f(x) = x2 + x− 6, encontre as raízes deste polinômio utilizando Matlab. Dica: utilize help para entender a função roots. 11. Escreva uma função que retorne 1 se um número for primo e 0 se não for primo. Para isto, crie um arquivo externo que contém o mesmo nome da função e utilize help function para entender como escrever funções em Matlab. Crie um arquivo separado para executar esta função. 12. Crie uma função que calcule y de uma equação genérica ax2 + bx + c = y. Desta vez, crie a função no mesmo arquivo de execução. Dica: pode-se escrever uma função em Matlab utilizando a seguinte declaração f = @(x)(x^2 - 2); 13. Utilize a função polyval para avaliar o valor de 5x7 + 3x3 − 2 no ponto x = 87. Caso necessite, utilize help para entender como polyval funciona 14. Em Matlab, números complexos podem ser utilizados com certa facilidade. Um número imaginário i = √−1 pode ser utilizado nas equações e será reconhecido. Tente declarar z = 4+2∗i e visualizar z utilizando o comando compass. Entenda o que está sendo representado. Depois disso, repita o mesmo processo só que iguale uma variável ao plotar o gráfico, por exemplo h=compass(); Isto nos ajudará a salvar o gráfico, utilize o comando saveas para salvar o gráfico (veja o help do saveas). 15. Em Matlab, ao declarar alguma função matemática podemos declarar com variáveis simbólicas, ou seja, onde o número da variável ainda não é conhecido. Procure pela função syms para isto e declare uma variável simbólica x. Depois, declare a seguinte função y=2*sin(x) + 15*x^2 - 3*x e calcule sua primeira e segunda derivada. Procure pelo comando diff. Crie três gráficos na mesma figura e plote valores de 0 à 100 para cada uma dessas funções, utilize o comando subplot para isto. 16. Um experimento de climatologia obteve os seguintes resultados: x=[-55 -25 5 35 65] e y=[-3.25 -3.2 -3.02 -3.32 -3.1]; (a) Declare estes valores no Matlab e salve os dados em um arquivo externo chamado dados.mat, procure pela função save. Agora você pode carregar os dados quando quiser, experimente usar o clear all e carregar seus dados com o comando load. 2 (b) Agora precisamos procurar uma relação entre estes dados. No experimento, acredita-se que um polinômio de grau 4 relaciona x e y, experimente utilizar a função polyfit com grau 4 para obter tal relação, não se esqueça de igualar o polyfit a uma variável c para armazenar os coeficientes do polinômio. Observe que a função polyfit retorna somente os coeficientes da equação que fita os dados em ordem decrescente. (c) Com os coeficientes c em mãos, podemos avaliar a função para vários valores. Crie 100 valores entre -70 e 70 utilizando linspace e iguale a uma variável p. Agora, precisamos avaliar esses valores na funções fitadas c. Para isto, iremos usar polyval. Se você declarou as variáveis com os nomes aqui sugeridos, basta digitar v=polyval(c,p), isto fará com que os 100 valores entre -70 e 70 sejam avaliados no polinômio de quarto grau com coeficiente c. (d) Crie uma figura para plotar os dados obtidos. Plote, no mesmo gráfico, em linha vermelha tracejada o polinômio ( v versus p ) e em bolinhas os valores de x e y obtidos no experimento. Escreva legendas para os valores fitados e para os valores do experimento. Utilize também xlabel e ylabel e salve os gráficos. Adicione também título com o comando title. 3
Compartilhar