|
|
Linha 214: |
Linha 214: |
| - As sentenças ''if'', ''else'' e ''elseif''. <br/> | | - As sentenças ''if'', ''else'' e ''elseif''. <br/> |
| | | |
− | Exercício: Criar um código que calcula o valor total da compra de algumas unidades de arroz (5kg), feijão (1kg) e café (1kg). <br/> | + | Exercício: Criar um código que calcula o valor total da compra de algumas unidades de arroz (5kg), feijão (1kg) e café (500g). <br/> |
| O preço unitário do arroz é R$15,00. Se comprar 3 o preço cai para R$14,00 cada.<br/> | | O preço unitário do arroz é R$15,00. Se comprar 3 o preço cai para R$14,00 cada.<br/> |
| O preço unitário do feijão é R$12,00. Se comprar 4 o preço cai para R$11,50 cada.<br/> | | O preço unitário do feijão é R$12,00. Se comprar 4 o preço cai para R$11,50 cada.<br/> |
Edição das 18h04min de 30 de setembro de 2016
Prof. Bruno William Wisintainer e-mail
Informações Básicas
Início: 11/Ago/2016
Término: 18/Out/2016
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
Conteúdos Abordados
Aula 1
11/Ago
|
- Janela de comandos;
- Inserindo comandos na Command Window;
- Variável ans;
- Ordem de precedência:
Símbolo
|
Operação
|
Forma no Matlab
|
^ |
Exponenciação: ![{\displaystyle a^{b}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/921151d29231ebd65eea7632a88215273a32234c) |
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
|
\ |
Divisão à esquerda: ![{\displaystyle {\frac {b}{a}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/30304b82a801ef33eaf4c0c0306aa6966e83d2f3) |
a\b
|
+ |
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
|
- Lista de Exercícios:
- Exemplos de help e lookfor;
- Usando o arquivo m (m file);
- Comando clear all para apagar todas variáveis;
- Comando clc para apagar texto na Command Window;
- Definições de vetores;
- Definições de matrizes;
- Definições de matrizes eye, zeros e ones;
- Transposição de vetor ou matriz com o apóstrofo ( ' );
- Resolução de sistema linear:
![{\displaystyle {\begin{alignedat}{7}2x&\;-&\;3y&\;-&\;{\sqrt {2}}z&\;=&\;3,643\\2,3x&\;+&\;\pi y&\;+&\;{\sqrt[{3}]{35}}z&\;=&\;54,181\\\pi x&\;+&\;{\rm {e}}^{1}y&\;+&\;2,9z&\;=&\;64,0368\end{alignedat}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/63748388bcab9346823a8fc2a86f26fa2935d6ae)
- Representação de números complexos.
- Variáveis e constantes especiais:
- Utilização do ponto e vírgula (;) para não aparecer na Command Window;
- Contador de tempo tic e toc;
- Variáveis constantes e especiais:
Comandos
|
Descrições
|
ans |
Variável temporária que contém a resposta mais recente.
|
eps |
Verifica a acurácia da precisão do ponto flutuante.
|
i,j |
A unidade imaginária .
|
Inf |
Infinito.
|
NaN |
Indica um resultado numérico indefinido.
|
pi |
O número .
|
|
Aula 2
16/Ago
|
- Formatos de exibição
- Funções Matemáticas
utilizando d após a função, faz o cálculo em graus
- Arranjo de vetor utilizando dois pontos (:);
- Definição de passo;
- Comando plot de uma função;
- Comando hold on para manter a curva no gráfico;
- Comando grid on para mostrar linhas em forma de grade;
- Nomes aos eixos com xlabel e ylabel
- Comando close all para fechar todas figuras;
- Exercício: Plotar a função de -4 até 4 e encontrar as raízes por Bhaskara
- Raízes de um vetor usando comando roots;
- Comando length;
|
Aula 3
Aula 4
23/Ago
|
- Comandos mean, ceil, floor e round;
Exercício: A corda da figura abaixo está presa nos pontos A e B, determine seu comprimento e a sua direção, medidos de A para B.
- Produto escalar (dot) e produto vetorial (cross) de dois vetores;
Exercício: Calcule o produto vetorial e escalar dos vetores:
,
- Comando poly para criar um polinômio a partir de raízes;
- Comparação com comando roots;
- Multiplicação de polinômios (conv);
- Divisão de polinômios (deconv), com ou ser resto;
- Plot de um polinômio a partir de um intervalo de pontos. (polyval)
|
Aula 5
25/Ago
|
- Comando input para entrada de dados;
- Comando disp para mostrar mensagem;
Exercício: Criar uma calculadora de IMC com perguntas (input) para massa e altura, aparecendo na sequência o resultado
- Criando estruturas;
- Criando estruturas com o comando struct;
- Comando rmfield para remover campo da estrutura;
- Comando isfield para identificar se um campo existe ou não;
- Arranjo de células: texto e números;
- Comando celldisp e cellplot;
- Cálculo de determinante de uma matriz (det).
|
Aula 6
30/Ago
|
- Funções trigonométricas;
- Funções hiperbólicas;
- Função definida pelo usuário no arquivo .m;
Exercício: Criar uma função no arquivo .m da definição pelo exponencial do cosseno hiperbólico e do seno hiperbólico, comparando com a funções já existentes (cosh e sinh), plotar as curvas idênticas em 2 figuras (arquivo .m 1). Criar um novo arquivo .m com valores de entrada de até (arquivo .m 2).
- Importar arquivo para o Matlab, pelo menu e pelo comando uiimport;
Exemplo: usar [Celular4g.txt], importar e trabalhar com as funções de matrizes.
- Padronizar para o formato que o Matlab reconhece os números: ponto (.) e (,);
- Converter formato table2array.
- Comando subplot.
|
Aula 7
01/Set
|
Exercício: com o arquivo [Add_user.txt] (Adições Líquidas de Aparelhos 4G das Operadoras no período), calcular a soma dos anos 2014, 2015 e 2016 (até o momento) por operadora e a soma e a média por período.
- Tipos de códigos: Sequenciais, Condicionais e Iterativos;
Operadores relacionais
Operador relacional
|
Significado
|
< |
Menor que
|
<= |
Menor ou igual a
|
> |
Maior que
|
>= |
Maior ou igual a
|
== |
Igual a
|
~= |
Não é igual a
|
Operadores de curto circuito
Operador
|
Nome
|
&& |
E
|
![{\displaystyle ||}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/21f5807306073054891bcdde4e801db2773e82d2) |
OU
|
- As sentenças if, else e elseif.
Exercício: Criar um código que calcula o valor total da compra de algumas unidades de arroz (5kg), feijão (1kg) e café (500g).
O preço unitário do arroz é R$15,00. Se comprar 3 o preço cai para R$14,00 cada.
O preço unitário do feijão é R$12,00. Se comprar 4 o preço cai para R$11,50 cada.
O preço unitário do café é R$10,00. Se comprar 3 o preço cai para R$9,25 cada.
Colocar opção de entrada de dados com input e condição que não existe unidade negativa.
- Laços for.
|
Aula 8
Aula 9
08/Set
|
- A estrutura switch.
Exercício (livro - adaptado - T4.7-1 p. 189): Complemente o exercício anterior (resolvido em sala, exemplo p. 189) com os ângulos 0, 90, 180, 270 e 360 e as coordenadas.
Exercício (livro - Exemplo 4.7-1 p. 189): Utilize a estrutura switch para calcular o total de dias decorridos em um ano. Entrada de dados: o número do mês (1 até 12), o dia e a indicação de o ano ser bissexto ou não.
Exercício: Usando switch, calcule a soma dos ângulos internos de uma figura geométrica. Entrada de dados: o nome da figura, pelo menos até o hexágono.
|
Aula 10
13/Set
|
Exercício (livro - adaptado - 43 p. 215): Utilize a estrutura switch para calcular a quantidade de dinheiro que é acumulada em uma conta durante um ano. O programa deve aceitar as seguintes entradas: a quantidade inicial de dinheiro depositada na conta; a frequência do rendimento (mensal, trimestral, semestral ou anual); e o rendimento. Rode o seu programa para um depósito inicial que pode ser escolhido (por exemplo R$1000); utilize um rendimento a sua escolha (por exemplo 5%).
- Tipos de axis: Escala automática, equal, square e definido manualmente;
- Comando title;
- Plot de número complexo;
- Comando fplot e comparação com plot;
Exercício (livro - T5.1-2 p. 224): Utilize o comando fplot para investigar a função para . Quantos valores de aproximadamente são necessários para que seja obtida a mesma plotagem utilizando-se o comando plot?
- 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
|
|
Aula 11
15/Set
|
Exercício (livro): Plote a parte imaginária versus a parte real da função n para . Escolha uma quantidade suficiente de pontos para obter uma curva suave. Rotule cada eixo e insira um título. Utilize o comando axis para alterar o espaçamento entro os rótulos dos tick-marks.
Exercício (1 - livro adaptado): A análise de equilíbrio determina o volume de produção para qual o qual o custo de produção total é igual à receita total. No ponto de equilíbrio, não há lucro nem perda. Em geral, os custos da produção consistem em custos fixos e custos variáveis. Os custos fixos incluem salários daqueles não diretamente envolvidos com a produção, custos de manutenção de fábrica, seguros, e assim por diante. Os custos variáveis dependem do volume de produção e incluem custos de material, trabalho e energia. Na análise a seguir, considere que nós produzimos apenas o que podemos vender; assim, a quantidade de produção é igual à quantidade de vendas. Q é a quantidade de produção, em galões por ano.
Considere os seguintes custos para um determinado produto químico:
- Custo fixo: $10 mil por ano.
- Custo variável: 25 centavos por galão de produto.
- O preço de venda é de 65 centavos por galão.
Utilize esses dados para plotar o custo total e a receita versus Q, e determine graficamente o ponto de equilíbrio. Para qual faixa de Q a produção gera lucro?
- Comandos gtext para colocar texto na figura com um clique e text para colocar texto em uma coordenada definida.
|
Aula 12
20/Set
|
- Comparação de gráficos: plot, loglog, semilogx e semilogy;
Exercício (livro - T5.2-1 p. 228): Escolha um espaçamento adequado para t e v, e utilize o comando subplot para plotar a função -0,5t para e a função 2 para . Rotule cada eixo. Utilize os comandos semilogx, semilogy ou loglog.
- Gráfico com dois eixos em y (plotyy);
Exercício (livro - adaptado - 15 p. 254): As seguintes funções descrevem as oscilações em circuitos elétricos e as vibrações de máquinas e estruturas. Sobreponha as plotagens dessas funções no mesmo eixo. Como elas são similares, defina qual é a melhor forma de plotá-las e de rotulá-las para evitar confusão.
-0,5t![{\displaystyle sen(3t+2)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/158d2313b9b726017e139f8eadb2b63be184c084)
-0,4t![{\displaystyle cos(5t-3)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/e4d592ce202ea7bf3baa5ab1f03cde083a0fb26f)
- Letras gregas nos gráficos:
Letra
|
Representação
|
![{\displaystyle \alpha }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/b79333175c8b3f0840bfb4ec41b8072c83ea88d3) |
\alpha
|
![{\displaystyle \beta }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/7ed48a5e36207156fb792fa79d29925d2f7901e8) |
\beta
|
![{\displaystyle \gamma }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/a223c880b0ce3da8f64ee33c4f0010beee400b1a) |
\gamma
|
![{\displaystyle \delta }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/c5321cfa797202b3e1f8620663ff43c4660ea03a) |
\delta
|
![{\displaystyle \epsilon }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/c3837cad72483d97bcdde49c85d3b7b859fb3fd2) |
\epsilon
|
![{\displaystyle \kappa }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/54ddec2e922c5caea4e47d04feef86e782dc8e6d) |
\kappa
|
![{\displaystyle \lambda }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/b43d0ea3c9c025af1be9128e62a18fa74bedda2a) |
\lambda
|
![{\displaystyle \mu }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/9fd47b2a39f7a7856952afec1f1db72c67af6161) |
\mu
|
![{\displaystyle \nu }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/c15bbbb971240cf328aba572178f091684585468) |
\nu
|
![{\displaystyle \omega }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/48eff443f9de7a985bb94ca3bde20813ea737be8) |
\omega
|
![{\displaystyle \phi }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/72b1f30316670aee6270a28334bdf4f5072cdde4) |
\phi
|
![{\displaystyle \pi }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/9be4ba0bb8df3af72e90a0535fabcc17431e540a) |
\pi
|
![{\displaystyle \chi }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/656111758322ace96d80a9371771aa6d3de25437) |
\chi
|
![{\displaystyle \psi }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/45e5789e5d9c8f7c79744f43ecaaf8ba42a8553a) |
\psi
|
![{\displaystyle \rho }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/1f7d439671d1289b6a816e6af7a304be40608d64) |
\rho
|
![{\displaystyle \sigma }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/59f59b7c3e6fdb1d0365a494b81fb9a696138c36) |
\sigma
|
![{\displaystyle \tau }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/38a7dcde9730ef0853809fefc18d88771f95206c) |
\tau
|
![{\displaystyle \upsilon }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/d3d9773c30e2bda2ecb0af8fa63f9e0e537f0fc4) |
\upsilon
|
![{\displaystyle \Sigma }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/9e1f558f53cda207614abdf90162266c70bc5c1e) |
\Sigma
|
![{\displaystyle \Pi }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/eed3e3db6cc2028a183af948212ed2551d25c954) |
\Pi
|
![{\displaystyle \Lambda }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/0ac0a4a98a414e3480335f9ba652d12571ec6733) |
\Lambda
|
![{\displaystyle \Omega }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/24b0d5ca6f381068d756f6337c08e0af9d1eeb6f) |
\Omega
|
![{\displaystyle \Gamma }](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/4cfde86a3f7ec967af9955d0988592f0693d2b19) |
\Gamma
|
- Funções stem, stairs e bar;
Exercício: Plote em uma figura as funções , usando stem; , usando stairs e em uma segunda figura , usando bar. Use um vetor com no máximo 100 posições.
|
Aula 13
22/Set
|
- Função polar;
Exercício: Plote a função polar: de .
- Mudar a espessura da linha com linewidth;
- Mudar o tamanho da fonte com fontsize;
- Mudar os eixos com gca;
- Mudar a localização com location, orientação com orientation e tamanho da fonte com fontsize no quadro da legenda;
- Ver a trajetória da função comet;
- Barras de erro de aproximação com errorbar;
Exercício (livro - adaptado - 10 p.253): Muitas aplicações utilizam a seguinte aproximação de "ângulo pequeno" para o seno com a finalidade de se obter um modelo mais simples que seja fácil de ser entendido e analisado. A aproximação estabelece que sen(x) , em que x deve ser em radianos. Investigue a precisão desta aproximação com dois plotes. No primeiro, plote sen(x) versus x para . No segundo, plote o erro da aproximação (sen(x) - x) versus x para .
- Plot em 3 dimensões com plot3;
Exercício (livro - 28 p. 258): As equações paramétricas para uma hélice circular são:
![{\displaystyle x=a*cos(t)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/a947cfdc43340bc169c9559272de28b779d26a6d)
![{\displaystyle y=a*sen(t)}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/fa0a9b84095b2d5f3807a9cd8ddee260688beb75)
![{\displaystyle z=b*t}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/5e49e7fd1e5b9b9dad46fb3f0f2d5239886c074e)
em que é o raio do caminho helicoidal e é uma constante que determina a "estreiteza" do caminho. Além disso, se , a hélice tem a forma de um parafuso destro; se , a hélice tem a forma de um parafuso canhoto. Obtenha uma plotagem tridimensional da hélice para os três casos a seguir e compare-os. Utilize e .
a) ;
b) ;
c) .
- Criar uma malha 3D com meshgrid;
- Plot de função de f(x,y) com mesh;
- Rótulo no eixo z: zlabel;
- Curva de níveis com contour, com a possibilidade de escolha do número de curvas;
- Possibilidade de aparecer ou não os valores das curvas com o comando showtext seguido de on;
- Comando para aparecer a malha 3D em apenas um sentido com waterfall;
- Comando para fazer malha 3D com sombreamento: surf;
- Comando para fazer malha 3D com sombreamento e curvas de níveis na projeção: surfc;
- Comando para fazer malha 3D e curvas de níveis na projeção: meshc;
- Comando para fazer malha 3D se alongar em z nas extremidades: meshz;
|
Aula 14
27/Set
|
Exercício (livro - 30 p. 259): Obtenha as plotagens de superfície e de contorno para a função 2 2, mostrando o mínimo em .
- Comando polyfit, que ajusta o polinômio de grau n aos dados descritos por x e y;
- Comando polyval, calcula a solução do polinômio a partir da escolha de um ponto;
Exercício (livro - adaptado - Exemplo 6.2-1 p. 277): Os dados da tabela a seguir correspondem ao número de veículos (em milhões) que cruzam uma ponte a cada ano durante 10 anos. Ajuste um polinômio aos dados até a ordem 4, calcule o coeficiente de ajuste. Plote a "melhor" curva.
Ano
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10
|
Fluxo de veículos (milhões)
|
2,1 |
3,4 |
4,5 |
5,3 |
6,2 |
6,6 |
6,8 |
7 |
7,4 |
7,8
|
- Comando flip, representa o vetor de trás pra frente;
|
Aula 15
29/Set
|
Exercício (livro - adaptado - exemplo 6.2-2 p. 278): A tabela a seguir fornece dados de crescimento de uma determinada população de bactérias com o tempo. Ajuste uma equação para esses dados, calcule o coeficiente de ajuste e estime o fluxo no tempo 18 min. Plote a curva escolhida.
Tempo (min)
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15
|
Bactérias (ppm)
|
6 |
13 |
23 |
33 |
54 |
83 |
118 |
156 |
210 |
282 |
350 |
440 |
557 |
685 |
815 |
990
|
- Plotar dados da tabela, menu Tools e depois Basic Fitting, para escolher a melhor função que interpola os dados.
- Comando rank saber a singularidade da matriz;
- Função pseudoinversa (pinv) para resolver um sistema cuja solução garante a menor norma.
Exercício (livro - 11 p. 363): Resolva as seguintes equações:
![{\displaystyle {\begin{alignedat}{7}7x&\;+&\;9y&\;-&\;9z&\;=&\;22\\3x&\;+&\;2y&\;-&\;4z&\;=&\;12\\x&\;+&\;5y&\;-&\;z&\;=&\;-2\\\end{alignedat}}}](https://en.wikipedia.org/api/rest_v1/media/math/render/svg/7490598fe1aee4d4143b130d3aabe6a1e5c020e4)
|