De MediaWiki do Campus São José
Ir para navegação
Ir para pesquisar
Informações Básicas
- Código: MLB16470
- Professores: Ana Paula Rosa Negri
- Início: 27/08/2019
- Término: 31/10/2019
- Horário: Terças e quintas, das 19h às 22h
- Referência Básica: PALM, William J. Introdução ao MATLAB para engenheiros. Tradução de Tales Argolo Jesus. 3. ed. Porto Alegre: AMGH, 2013. xiv, 562, il. ISBN 9788580552041
- Referência Complementar: MORAIS, V.. VIEIRA, C. MATLAB Curso Completo. FCA, 2013. 644. ISBN 9727227058
- Tutorial: Bernardo Severo da Silva Filho, Curso de MATLAB 5.1
Conteúdos Abordados
Apresentação da disciplina; Interface do MATLAB; Operadores; Funções; Constantes especiais; Formatos de exibição
Aula 1 - 27 de agosto
|
- Command Window;
- Workspace;
- Current Folder;
- Command History;
- Editor;
- Utilização do ponto (.) no lugar de vírgula (,) para números decimais (1,33 -> 1.33);
Operação
|
Notação matemática
|
Sintaxe no MATLAB
|
Adição |
![{\displaystyle a+b}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/a2391acf09244b9dba74eb940e871a6be7e7973a) |
a+b
|
Subtração |
![{\displaystyle a-b}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/1b80866c2bf2f1bc1f2e4c97e7937f5663150ea6) |
a-b
|
Multiplicação |
![{\displaystyle ab}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/49337c5cf256196e2292f7047cb5da68c24ca95d) |
a*b
|
Divisão à direita |
![{\displaystyle {\frac {a}{b}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/9fbb66e57f89debc3cde3213de12228971148a93) |
a/b
|
Exponenciação: |
![{\displaystyle a^{b}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/921151d29231ebd65eea7632a88215273a32234c) |
a^b
|
- ans: Variável temporária que contém a resposta mais recente.
Função
|
Sintaxe no MATLAB
|
![{\displaystyle e^{x}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/841c0d168e64191c45a45e54c7e447defd17ec6a) |
exp(x)
|
![{\displaystyle {\sqrt {x}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/d62b24be305beff66cba9bfbcc01a362ba390f44) |
sqrt(x)
|
![{\displaystyle |x|}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/4eb41e5fd5dc37eaa1718dfbf4bc082edb991936) |
abs(x)
|
![{\displaystyle \ln(x)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/0df055b8e294310e6785701c1c67105e109191d8) |
log(x)
|
![{\displaystyle \log _{10}(x)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/d43b90dcfbeb8f55a2f3d4c54d2157018fe72255) |
log10(x)
|
![{\displaystyle \log _{2}(x)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/588c430372742d0fb65470d9a044a243e20d429a) |
log2(x)
|
![{\displaystyle \cos(x)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/eb9af7ed6f44822021b74bb82b431022c7fd66b3) |
cos(x)
|
![{\displaystyle \mathrm {sen} (x)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/5c57172736b4fe2a01a35b76908c3a4e5f830b65) |
sin(x)
|
![{\displaystyle \mathrm {tg} (x)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/e9a83841b88d99b56864435a0a3e939cd3562e20) |
tan(x)
|
![{\displaystyle \cos ^{-1}(x)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/a4b47b94e7cfe8f96009f53c3fbb28b0946f8240) |
acos(x)
|
![{\displaystyle \mathrm {sen} ^{-1}(x)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/1275c14008f2465598cd6782afdb3649580ed752) |
asin(x)
|
![{\displaystyle \mathrm {tg} ^{-1}(x)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/f01c8f4ffcbe9472542ba170fc0b29f117ef9f36) |
atan(x)
|
(maior inteiro ) |
floor(x)
|
(menor inteiro ) |
ceil(x)
|
(arredondamento para o inteiro maior próximo) |
round(x)
|
(sinal de ) |
sign(x)
|
Observações:
- Utilizando d após as funções sin, cos e tan e suas inversas, faz o cálculo em graus;
- Utilizando h após as funções sin, cos e tan e suas inversas, tem-se suas versões hiperbólicas;
- 1. Calcule no Matlab:
- a)
![{\displaystyle 13\left({\frac {1,2}{4}}\right)+2\times 1,5^{2}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/d99bfe95fe59e236e4a772570ac68f2ccaf66df4)
- b)
![{\displaystyle 42^{3,14}\times {\frac {5,1}{3}}+\left({\frac {1}{4}}\right)^{-{\frac {1}{4}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/61f833c6ecf840d64a0e7069a19ca51cedd4acee)
- c)
![{\displaystyle b+0,5^{1,2}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/f743062e772fa9f4905cfc4a4f254eecaf12380d)
- d) arredonde o item a.
- e)
![{\displaystyle \lfloor b\rfloor }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/c5f3ab1cd4c2e7ff8eacae9a144aac2d4ee88a1b)
- 2. Supondo
e , calcule:
![{\displaystyle a=x+y}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/f303d50037c086b97027d0622e1bdcc87989ef88)
![{\displaystyle b=5(x+2y)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/f1be25653ebfa571e37bc326fcf03ed400bca9cf)
![{\displaystyle c={\frac {x^{2}}{y}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/a5fed8e6893eaeb725332b9695efc597be136ddc)
![{\displaystyle d={\frac {x+y}{e^{\frac {x}{y}}\log _{10}(\pi )}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/4f36d28989156e522735273db01a464722bf4d46)
![{\displaystyle e=5{,}2\cos ^{-1}\left({\frac {x+y}{e^{\frac {x}{y}}\log _{10}(\pi )}}\right)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/5a401a26e85c99c64016205a2595667c499a960c)
- Comandos help, doc e lookfor;
- Utilizando scripts (arquivo .m);
- Limpeza:
- Utilização do ponto e vírgula (;) para não aparecer na Command Window;
- Comando clear para apagar variáveis;
- Comando clc para apagar texto na Command Window;
Comandos
|
Descrições
|
pi |
O número .
|
1i,1j |
A unidade imaginária .
|
Inf |
Infinito.
|
NaN |
Indica um resultado numérico indefinido.
|
- 1. Supondo
e , calcule:
![{\displaystyle a=x+y}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/f303d50037c086b97027d0622e1bdcc87989ef88)
![{\displaystyle b=x\times y}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/cd3608b6cfd32118d15b82ec1ba8b644f8a76405)
![{\displaystyle c={\frac {x}{y}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/4c4cdb4ce6382f8487671f30983d2820f92e0360)
![{\displaystyle d=\left({\frac {x}{y}}\right)\times \pi }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/54a0878799e0bd67ccede2d47308c916d476cf26)
Comando
|
Descrição e exemplo
|
format short |
Quatro dígitos decimais (padrão); 13.6745
|
format long |
16 dígitos; 17.27484029463547
|
format short e |
Cinco dígitos (quatro decimais) mais o expoente; 6.3792e+03
|
format long e |
16 dígitos (15 decimais) mais o expoente; 6.379243784781294e-04
|
format bank |
Dois dígitos decimais; 126.73
|
format + |
Positivo, negativo ou zero; +
|
format rat |
Aproximação racional; 43/7
|
format compact |
Suprime algumas linhas em branco
|
format loose |
Restabelece o modo de exibição menos compacto
|
|
Vetores e matrizes
Aula 2 - 29 de agosto
|
- Utilizando dois pontos (:);
- Comandos linspace e logspace;
- 1. Crie os vetores descritos abaixo usando dois métodos diferentes:
- a) Início: 5, Fim: 28, com 100 elementos regularmente espaçados.
- b) Início: 5, Fim: 14, com passo de 0,2.
- c) Início: -2, Fim: 5, com 50 elementos regularmente espaçados.
- d) Início: 100, Fim: 12, com 100 elementos regularmente espaçados.
- 2. Crie os vetores descritos abaixo:
- a) Início: 10, Fim: 1000, com 50 elementos logaritmicamente espaçados.
- b) Início: 0,01, Fim: 1, com 20 elementos logaritmicamente espaçados.
- 3. Crie um vetor x que tenha 6 valores entre 0 e 10. Em seguida, crie uma matriz A cuja primeira linha contenha os valores 3x e segunda linha contenha os valores 5x - 20.
- 4. Repita o exercício anterior, substituindo a palavra linha por coluna.
- 5. Crie o vetor v = [2 4 8 16 32 ... 512 1024] utilizando o comando logspace.
- Definições de matrizes eye, zeros e ones;
- Usando length e size na criação de matrizes;
- Matriz transposta ( .' ) e matriz Hermitiana (');
|
Operações com matrizes
Plots
Aula 4 - 5 de setembro
|
- Comandos plot, stem, bar e stairs de uma função
- Uso de apenas um parâmetro
- Comando subplot
- Comando hold para manter a curva no gráfico
- Comando grid para mostrar linhas em forma de grade
- Nomes aos eixos com xlabel e ylabel
- Comando title
- Comandos axis, xlim e ylim para ajuste de eixos
- Comando legend
- Especificadores de linha, cores e marcadores:
Tipo de linha
|
Símbolo
|
Sólida (padrão) |
-
|
Tracejada |
--
|
Tracejada com pontos |
-.
|
Com pontos |
:
|
Cores
|
Símbolo
|
Preto |
k
|
Azul |
b
|
Ciano |
c
|
Verde |
g
|
Magenta |
m
|
Vermelho |
r
|
Branco |
w
|
Amarelo |
y
|
Marcadores de dados
|
Símbolo
|
Ponto |
.
|
Asterisco |
*
|
Cruz |
x
|
Círculo |
o
|
Adição |
+
|
Quadrado |
s
|
Losango |
d
|
Triângulo apontando pra cima |
^
|
Triângulo apontando pra baixo |
v
|
Triângulo apontando pra direita |
>
|
Triângulo apontando pra esquerda |
<
|
Estrela de 5 pontas |
p
|
Estrela de 6 pontas |
h
|
- Outros comandos relacionados a plotagem:
- Comando figure
- Comando subplot
- Comando close all para fechar todas figuras
- 1. Plote, em um mesmo gráfico, as funções
![{\displaystyle f(x)={\sqrt {1-(|x|-1)^{2}}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/a07847063e7cb48005d1e86a8618f2aff27dd231)
- e
![{\displaystyle \displaystyle {g(x)=\arccos(1-|x|)-\pi },}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/b62cb9154950039f0414b111883eb26aec300a7c)
- para
.
- 2. Plote a função
de -4 até 4. Para certificar que o plot está correto, calcule na mão as raízes da função, e compare com os pontos onde a curva cruza o eixo horizontal (onde )
- 3. Utilize o MATLAB para plotar a função
ao longo do intervalo . Insira um título na plotagem e rotule adequadamente os eixos. A variável T representa a temperatura em graus Celsius; a variável t representa o tempo em minutos.
- 4. Plote as funções
e ao longo do intervalo . Rotule adequadamente a plotagem e cada uma das curvas, utilizando legend. A variável u representa a velocidade de uma Ferrari em km/h. A variável v representa a velocidade de um Fusca.
- 5. Use a função stem para plotar os sinais abaixo na mesma figura:
, para ![{\displaystyle 0\leq x\leq 2\pi }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/885f336eb66525643b0718a4ccc6899c4bbd1beb)
, para ![{\displaystyle \pi \leq x\leq 3\pi }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/98db3ee84ac9fcfb0295e7d0d6ed40a9b15dca0f)
- 6. A série de Fourier é uma representação em série de funções periódicas em termos de senos e cossenos. A representação em série de Fourier da função
![{\displaystyle f(x)={\begin{cases}-1,&-\pi \leq x\leq 0\\1,&0\leq x\leq \pi \end{cases}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/c3d6e27e0e589d5c8126c5d16a077e3a8c33209d)
- é
.
- Plote, em um mesmo gráfico, a função f(x) e sua representação em série g(x), utilizando os quatro termos explicitados. Considere x na faixa de
até .
- 7. Fazer o plot de um sinal de tensão versus tempo, como da figura:
![{\displaystyle f(t)={\begin{cases}\sin(2\pi t/63),&{\text{de }}t=1s{\text{ ate }}t=63s\\0,&{\text{de }}t=64s{\text{ ate }}t=80s\\1,&{\text{de }}t=81s{\text{ ate }}t=100s\\-1,&{\text{de }}t=101s{\text{ ate }}t=120s\end{cases}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/cfd2b4c3643eb5ceb208b957d86c920d55c1bdd1)
- Não esquecer de nomear os eixos.
- 8. Desafio: Resolva a questão 6, apresentando a resposta para um número genérico "N" de termos.
|
Endereçamento de vetores e matrizes
Aula 5 - 10 de setembro
|
- Endereçamento de vetores e matrizes
-
- Palavra-chave end
- Indexação/submatrizes do lado esquerdo vs do lado direito
- Exclusão de linha ou coluna
- 1. Crie uma matriz A de tamanho 15 x 15 de inteiros.
- a) Extraia o elemento da segunda linha e quarta coluna de A, armazenando na variável u
- b) Crie um vetor v formado pelos elementos da segunda coluna de A
- c) Crie um vetor w formado pelos elementos da última linha de A
- d) Crie uma matriz B formada pelos elementos da segunda até a décima coluna de A
- e) Crie uma matriz C formada pelos elementos da quinta até a penúltima linha de A
- f) Crie uma matriz D formada pelos elementos da sétima até a penúltima linha e das 3 últimas colunas de A
- g) Crie uma matriz E formada pelas linhas pares e colunas múltiplas de 3 de A
- h) Crie uma matriz F formada pelas linhas 1 a 7 e mais a 13 e pelas colunas 4, 5 e 1 de A
- 2. Assuma que a matriz C seja definida como abaixo e determine o conteúdo das seguintes submatrizes. Descubra a saída dos comandos antes de executá-los.
![{\displaystyle C={\begin{bmatrix}1{,}1&-3{,}2&3{,}4&0{,}6\\0{,}6&1{,}1&-0{,}6&3{,}1\\1{,}3&0{,}6&5{,}5&0{,}0\end{bmatrix}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/0ad751b87ab0ab822a22852ae03259aa6aafa540)
- a) C(2, :)
- b) C(:, end)
- c) C(1:2, 2:end)
- d) C(6)
- e) C(4:end)
- f) C(1:2, 2:4)
- g) C([1 3], 2)
- h) C([2 2], [3 3])
- 3. Determine a saída no command window após a execução dos comandos abaixo. Descubra a saída dos comandos antes de executá-los.
- A = [1 2 3; 4 5 6; 7 8 9]
- A([3 1], :) = A([1 3], :)
- A([1 3], :) = A([2 2], :)
- A = A(:, [2 2])
- 4. Determine o conteúdo da matriz A após a execução das seguintes declarações. Descubra a saída dos comandos antes de executá-los.
- a) A = eye(3,3);
- b = [1 2 3];
- A(2, :) = b;
- b) A = eye(3,3);
- b = [4 5 6];
- A(:, 3) = b';
- c) A = eye(3,3);
- b = [7 8 9];
- A(3, :) = b([3 1 2]);
Códigos executados em sala
|
Concatenação de matrizes; Texto; Entrada e saída de dados
Aula 6 - 12 de setembro
|
- Concatenação de vetores e matrizes
- Comandos repmat, reshape, fliplr e flipud
- Trabalhando com texto (string)
- Conversão de dados (comandos double() e char())
- Comando input para entrada de dados
- Comando disp para saída de dados
- Comandos num2str e str2num
- Entrada de dados sem a tecla ENTER
- 1. Criar uma calculadora de IMC com perguntas (input) para massa e altura. Use o disp para exibir o resultado de forma agradável ao usuário.
- Comandos sort, unique
- Comandos union (
), intersect ( ), setdiff ( ), setxor (diferença simétrica)
- Representação de polinômios a partir de vetores
- Comandos polyval, poly e roots
- Comandos conv e deconv para multiplicação e divisão de polinômios
- Comandos polyder e polyint para derivada e integral de polinômios
- Comando randi para valores inteiros uniformemente distribuídos
- Comando rand para valores uniformemente distribuídos
- Comando randn para valores normalmente distribuídos
- Comando hist para cálculo/visualização do histograma
|