Mudanças entre as edições de "FIC MATLAB 2016-2"
m (moveu FIC Matlab 2016-2 para FIC MATLAB 2016-2) |
|||
(82 revisões intermediárias por um outro usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
Prof. [http://wiki.sj.ifsc.edu.br/index.php/Bruno_William_Wisintainer Bruno William Wisintainer] [mailto:bruno.wisintainer@ifsc.edu.br e-mail] <br/><br/> | Prof. [http://wiki.sj.ifsc.edu.br/index.php/Bruno_William_Wisintainer Bruno William Wisintainer] [mailto:bruno.wisintainer@ifsc.edu.br e-mail] <br/><br/> | ||
<big><big> Informações Básicas </big></big> <br/><br/> | <big><big> Informações Básicas </big></big> <br/><br/> | ||
− | '''Início:''' 11/Ago/2016 <br /> | + | '''Início:''' 11/Ago/2016 <br/> |
− | '''Término:''' 18/Out/2016 <br /> | + | '''Término:''' 18/Out/2016 <br/> |
− | 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 <br /> | + | 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 <br/> |
+ | Referência Complementar: MORAIS, V.. VIEIRA, C. '''MATLAB Curso Completo'''. FCA, 2013. 644. ISBN 9727227058 <br/> | ||
<big><big>Conteúdos Abordados </big></big> | <big><big>Conteúdos Abordados </big></big> | ||
Linha 35: | Linha 36: | ||
- Lista de Exercícios: <br /> | - Lista de Exercícios: <br /> | ||
− | [[Image:FIC Matlab 2016-2 Lista1.jpeg | 600px]] <br /><br /> | + | [[Image:FIC Matlab 2016-2 Lista1.jpeg | 600px]] <br /><br/> |
− | - Exemplos de ''help'' e ''lookfor'';<br /> | + | - Exemplos de ''help'' e ''lookfor'';<br/> |
− | - Usando o arquivo m (''m file'');<br /> | + | - Usando o arquivo m (''m file'');<br/> |
− | - Comando ''clear all'' para apagar todas variáveis; <br /> | + | - Comando ''clear all'' para apagar todas variáveis; <br/> |
− | - Comando ''clc'' para apagar texto na ''Command Window'';<br /> | + | - Comando ''clc'' para apagar texto na ''Command Window'';<br/> |
− | - Definições de vetores; <br /> | + | - Definições de vetores; <br/> |
− | - Definições de matrizes; <br /> | + | - Definições de matrizes; <br/> |
− | - Definições de matrizes ''eye'', ''zeros'' e ''ones''; <br /> | + | - Definições de matrizes ''eye'', ''zeros'' e ''ones''; <br/> |
− | - Transposição de vetor ou matriz com o ' <br /> | + | - Transposição de vetor ou matriz com o apóstrofo ( ' );<br/><br/> |
− | - Resolução de sistema linear: <br /> | + | - Resolução de sistema linear: <br/> |
:<math>\begin{alignat}{7} | :<math>\begin{alignat}{7} | ||
2x &\; - &\; 3y &\; - &\; \sqrt{2}z &\; = &\; 3,643 \\ | 2x &\; - &\; 3y &\; - &\; \sqrt{2}z &\; = &\; 3,643 \\ | ||
2,3x &\; + &\; \pi y &\; + &\; \sqrt[3]{35}z &\; = &\; 54,181 \\ | 2,3x &\; + &\; \pi y &\; + &\; \sqrt[3]{35}z &\; = &\; 54,181 \\ | ||
\pi x &\; + &\; {\rm e}^{1}y &\; + &\; 2,9z &\; = &\; 64,0368 | \pi x &\; + &\; {\rm e}^{1}y &\; + &\; 2,9z &\; = &\; 64,0368 | ||
− | \end{alignat}</math> | + | \end{alignat}</math><br/> |
+ | |||
+ | - Representação de números complexos. <br/> | ||
+ | - Variáveis e constantes especiais: <br/> | ||
+ | - Utilização do ponto e vírgula (;) para não aparecer na ''Command Window'';<br/> | ||
+ | - Contador de tempo ''tic'' e ''toc'';<br/> | ||
+ | - Variáveis constantes e especiais: <br/><br/> | ||
+ | {| border="4" cellpadding="2" | ||
+ | ! '''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 <math>\sqrt{-1}</math>. | ||
+ | |- | ||
+ | | Inf || Infinito. | ||
+ | |- | ||
+ | | NaN || Indica um resultado numérico indefinido. | ||
+ | |- | ||
+ | | pi || O número <math>\pi</math>. | ||
+ | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{collapse bottom}} | {{collapse bottom}} | ||
Linha 62: | Linha 79: | ||
{{collapse top| bg=lightblue | 16/Ago}} | {{collapse top| bg=lightblue | 16/Ago}} | ||
− | - Formatos de exibição <br /> | + | - Formatos de exibição <br/> |
− | + | {| border="4" cellpadding="2" | |
+ | ! '''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 | ||
+ | |} <br/> | ||
+ | |||
+ | - Funções Matemáticas <br/> | ||
+ | |||
+ | {| border="4" cellpadding="2" | ||
+ | ! '''Função''' | ||
+ | ! '''Sintaxe no Matlab''' | ||
+ | |- | ||
+ | | <math> e^x </math> || exp(x) | ||
+ | |- | ||
+ | | <math>\sqrt{x}</math> || sqrt(x) | ||
+ | |- | ||
+ | | ''ln x'' || log(x) | ||
+ | |- | ||
+ | | <math>\log_{10} x </math> || log10(x) | ||
+ | |- | ||
+ | | ''cos x'' || cos(x) | ||
+ | |- | ||
+ | | ''sen x'' || sin(x) | ||
+ | |- | ||
+ | | ''tan x'' || tan(x) | ||
+ | |- | ||
+ | | cos<sup>-1</sup>''x'' || acos(x) | ||
+ | |- | ||
+ | | sen<sup>-1</sup>''x'' || asin(x) | ||
+ | |- | ||
+ | | tan<sup>-1</sup>''x'' || atan(x) | ||
+ | |} | ||
+ | '''utilizando ''d'' após as funções ''sin'', ''cos'' e ''tan'' e suas inversas, faz o cálculo em graus''' <br/><br/> | ||
− | - | + | - Arranjo de vetor utilizando dois pontos (:);<br/> |
− | + | - Definição de passo; <br/> | |
− | + | - Comando ''plot'' de uma função;<br/> | |
+ | - Comando ''hold on'' para manter a curva no gráfico; <br/> | ||
+ | - Comando ''grid on'' para mostrar linhas em forma de grade; <br/> | ||
+ | - Nomes aos eixos com ''xlabel'' e ''ylabel'' <br/> | ||
+ | - Comando ''close all'' para fechar todas figuras; <br/> | ||
− | - | + | - Exercício: Plotar a função <math>f(x) = x^2 + x - 2 </math> de -4 até 4 e encontrar as raízes por Bhaskara <br/> |
− | - | + | - Raízes de um vetor usando comando ''roots''; <br/> |
− | + | - Comando ''length''; | |
− | - | ||
− | - | ||
− | |||
− | - Comando '' | ||
− | |||
− | |||
− | |||
− | |||
{{collapse bottom}} | {{collapse bottom}} | ||
Linha 107: | Linha 169: | ||
== Aula 4 == | == Aula 4 == | ||
{{collapse top| bg=lightblue | 23/Ago}} | {{collapse top| bg=lightblue | 23/Ago}} | ||
− | |||
− | - Comandos ''mean'', ''ceil'', ''floor'' e ''round'';<br /><br /> | + | Exercício (livro - 16 p. 101): A tabela a seguir mostra o salário por hora, as horas de trabalho e a produção (número de dispositivos produzidos) em uma semana para cinco fabricantes de dispositivos. |
+ | |||
+ | {| border="4" cellpadding="2" | ||
+ | ! ''' ''' | ||
+ | ! '''Trabalhador 1''' | ||
+ | ! '''Trabalhador 2''' | ||
+ | ! '''Trabalhador 3''' | ||
+ | ! '''Trabalhador 4''' | ||
+ | ! '''Trabalhador 5''' | ||
+ | |- | ||
+ | | Salário por hora ($)|| 5 || 5,50 || 6,50 || 6 || 6,25 | ||
+ | |- | ||
+ | | Horas de trabalho || 40 || 43 || 37 || 50 || 45 | ||
+ | |- | ||
+ | | Produção (dispositivos || 1000 || 1100 || 1000 || 1200 || 1100 | ||
+ | |} <br/> | ||
+ | |||
+ | Utilize o MATLAB para responder essas questões: <br/> | ||
+ | a) Quanto cada trabalhador lucrou na semana?<br/> | ||
+ | b) Qual foi o salário total pago?<br/> | ||
+ | c) Quantos dispositivos foram fabricados?<br/> | ||
+ | d) Qual é o custo médio para se produzir um dispositivo?<br/> | ||
+ | e) Quantas horas são necessárias, em média, para se produzir um dispositivo? | ||
+ | f) Assumindo que a produção de cada trabalhador tenha a mesma qualidade, qual trabalhador é o mais eficiente? Qual é o menos eficiente?<br/> | ||
+ | |||
+ | - Comandos ''mean'', ''ceil'', ''floor'' e ''round'';<br/><br/> | ||
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.<br /><br /> | 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.<br /><br /> | ||
Linha 198: | Linha 284: | ||
- 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é ( | + | 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/> | ||
Linha 221: | Linha 307: | ||
- Laços ''while''. <br/> | - Laços ''while''. <br/> | ||
− | Exercício (livro): Determine o tempo necessário para que você acumule pelo menos | + | Exercício (livro - Exemplo 4.6-2 p. 186): Determine o tempo necessário para que você acumule pelo menos $10000 em uma conta bancária se você depositar inicialmente $500 e mais $500 ao final de cada ano, com um rendimento anual de 5%. |
Exercício: Fazer o ''plot'' de um sinal de tensão ''x'' tempo, como da figura abaixo, usando os conceitos da aula de hoje: <br/> | Exercício: Fazer o ''plot'' de um sinal de tensão ''x'' tempo, como da figura abaixo, usando os conceitos da aula de hoje: <br/> | ||
Linha 238: | Linha 324: | ||
- A estrutura ''switch''. <br/> | - A estrutura ''switch''. <br/> | ||
− | Exercício: Complemente o exercício anterior com os ângulos 0, 90, 180, 270 e 360 e as coordenadas. <br/> | + | 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. <br/> |
− | Exercício (livro): 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. <br/> | + | 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. <br/> |
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. <br/> | 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. <br/> | ||
Linha 248: | Linha 334: | ||
== Aula 10 == | == Aula 10 == | ||
{{collapse top| bg=lightblue | 13/Set}} | {{collapse top| bg=lightblue | 13/Set}} | ||
− | Exercício ( | + | 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%).<br/> |
- Tipos de ''axis'': Escala automática, ''equal'', ''square'' e definido manualmente; <br/> | - Tipos de ''axis'': Escala automática, ''equal'', ''square'' e definido manualmente; <br/> | ||
Linha 255: | Linha 341: | ||
- Comando ''fplot'' e comparação com ''plot''; <br/> | - Comando ''fplot'' e comparação com ''plot''; <br/> | ||
− | Exercício (livro): Utilize o comando ''fplot'' para investigar a função <math>tan(cos(x))-sen(tan(x))</math> para <math>0 \leq x \leq 2\pi</math>. Quantos valores de <math>x</math> aproximadamente são necessários para que seja obtida a mesma plotagem utilizando-se o comando ''plot''? <br/> | + | Exercício (livro - T5.1-2 p. 224): Utilize o comando ''fplot'' para investigar a função <math>tan(cos(x))-sen(tan(x))</math> para <math>0 \leq x \leq 2\pi</math>. Quantos valores de <math>x</math> aproximadamente são necessários para que seja obtida a mesma plotagem utilizando-se o comando ''plot''? <br/> |
- Comando ''legend''; <br/> | - Comando ''legend''; <br/> | ||
Linha 344: | Linha 430: | ||
{{collapse top| bg=lightblue | 20/Set}} | {{collapse top| bg=lightblue | 20/Set}} | ||
- Comparação de gráficos: ''plot'', ''loglog'', ''semilogx'' e ''semilogy''; <br/> | - Comparação de gráficos: ''plot'', ''loglog'', ''semilogx'' e ''semilogy''; <br/> | ||
− | Exercício (livro): Escolha um espaçamento adequado para ''t'' e ''v'', e utilize o comando ''subplot'' para plotar a função <math>x=e</math><sup>-0,5t</sup><math>cos(20t-6)</math> para <math>0 \leq t \leq 8</math> e a função <math>u=6 \log_{10}(v</math><sup>2</sup><math>+20)</math> para <math>-8 \leq v \leq 8</math>. Rotule cada eixo. Utilize os comandos ''semilogx'', ''semilogy'' ou ''loglog''. <br/> | + | 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 <math>x=e</math><sup>-0,5t</sup><math>cos(20t-6)</math> para <math>0 \leq t \leq 8</math> e a função <math>u=6 \log_{10}(v</math><sup>2</sup><math>+20)</math> para <math>-8 \leq v \leq 8</math>. Rotule cada eixo. Utilize os comandos ''semilogx'', ''semilogy'' ou ''loglog''. <br/> |
- Gráfico com dois eixos em ''y'' (''plotyy''); <br/> | - Gráfico com dois eixos em ''y'' (''plotyy''); <br/> | ||
− | Exercício (livro - adaptado): 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.<br/> | + | 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.<br/> |
<math>x(t)=10e</math><sup>-0,5t</sup><math>sen(3t+2)</math><br/> | <math>x(t)=10e</math><sup>-0,5t</sup><math>sen(3t+2)</math><br/> | ||
<math>y(t)=7e</math><sup>-0,4t</sup><math>cos(5t-3)</math><br/> | <math>y(t)=7e</math><sup>-0,4t</sup><math>cos(5t-3)</math><br/> | ||
Linha 409: | Linha 495: | ||
== Aula 13 == | == Aula 13 == | ||
− | {{collapse top| bg=lightblue | + | {{collapse top| bg=lightblue | 22/Set}} |
− | + | - Função ''polar'';<br/> | |
Exercício: Plote a função polar: <math>rho = sen(2\theta)*cos(2\theta)</math> de <math>0 \leq \theta \leq 2\pi</math>. <br/> | Exercício: Plote a função polar: <math>rho = sen(2\theta)*cos(2\theta)</math> de <math>0 \leq \theta \leq 2\pi</math>. <br/> | ||
− | Exercício (livro - adaptado): 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)'' <math>\simeq x</math>, 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 <math>0 \leq x \leq 1</math>. No segundo, plote o erro da aproximação ''(sen(x) - x) versus x'' para <math>0 \leq x \leq 1</math>.<br/> | + | |
− | Exercício (livro): As equações paramétricas para uma hélice circular são: <br/> | + | - Mudar a espessura da linha com ''linewidth'';<br/> |
− | <math>x = a cos(t)</math><br/> | + | - Mudar o tamanho da fonte com ''fontsize''; <br/> |
− | <math>y = a sen(t)</math><br/> | + | - Mudar os eixos com ''gca''; <br/> |
− | <math>z = | + | - Mudar a localização com ''location'', orientação com ''orientation'' e tamanho da fonte com ''fontsize'' no quadro da legenda;<br/> |
+ | - Ver a trajetória da função ''comet''; <br/> | ||
+ | - Barras de erro de aproximação com ''errorbar'';<br/> | ||
+ | |||
+ | 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)'' <math>\simeq x</math>, 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 <math>0 \leq x \leq 1</math>. No segundo, plote o erro da aproximação ''(sen(x) - x) versus x'' para <math>0 \leq x \leq 1</math>.<br/> | ||
+ | |||
+ | - Plot em 3 dimensões com ''plot3'';<br/> | ||
+ | |||
+ | Exercício (livro - 28 p. 258): As equações paramétricas para uma hélice circular são: <br/> | ||
+ | <math>x = a*cos(t)</math><br/> | ||
+ | <math>y = a*sen(t)</math><br/> | ||
+ | <math>z = b*t </math><br/> | ||
em que <math>a</math> é o raio do caminho helicoidal e <math>b</math> é uma constante que determina a "estreiteza" do caminho. Além disso, se <math>b > 0</math>, a hélice tem a forma de um parafuso destro; se <math>b < 0</math>, 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 <math>0 \leq t \leq 10\pi</math> e <math>a = 1</math>. <br/> | em que <math>a</math> é o raio do caminho helicoidal e <math>b</math> é uma constante que determina a "estreiteza" do caminho. Além disso, se <math>b > 0</math>, a hélice tem a forma de um parafuso destro; se <math>b < 0</math>, 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 <math>0 \leq t \leq 10\pi</math> e <math>a = 1</math>. <br/> | ||
a) <math> b = 0,1</math>; <br/> | a) <math> b = 0,1</math>; <br/> | ||
b) <math> b = 0,2</math>; <br/> | b) <math> b = 0,2</math>; <br/> | ||
c) <math> b = -0,1</math>. <br/> | c) <math> b = -0,1</math>. <br/> | ||
− | < | + | |
+ | - Criar uma malha 3D com ''meshgrid''; <br/> | ||
+ | - Plot de função de ''f(x,y)'' com ''mesh''; <br/> | ||
+ | - Rótulo no eixo z: ''zlabel'';<br/> | ||
+ | - Curva de níveis com ''contour'', com a possibilidade de escolha do número de curvas; <br/> | ||
+ | - Possibilidade de aparecer ou não os valores das curvas com o comando ''showtext'' seguido de ''on'';<br/> | ||
+ | - Comando para aparecer a malha 3D em apenas um sentido com ''waterfall'';<br/> | ||
+ | - Comando para fazer malha 3D com sombreamento: ''surf'';<br/> | ||
+ | - Comando para fazer malha 3D com sombreamento e curvas de níveis na projeção: ''surfc'';<br/> | ||
+ | - Comando para fazer malha 3D e curvas de níveis na projeção: ''meshc'';<br/> | ||
+ | - Comando para fazer malha 3D se alongar em ''z'' nas extremidades: ''meshz'';<br/> | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | == Aula 14 == | ||
+ | {{collapse top| bg=lightblue | 27/Set}} | ||
+ | Exercício (livro - 30 p. 259): Obtenha as plotagens de superfície e de contorno para a função <math>z = x</math><sup>2</sup><math>- 2xy + 4y</math><sup>2</sup>, mostrando o mínimo em <math>x = y = 0 </math>.<br/> | ||
+ | |||
+ | - Comando ''polyfit'', que ajusta o polinômio de grau ''n'' aos dados descritos por ''x'' e ''y'';<br/> | ||
+ | - Comando ''polyval'', calcula a solução do polinômio a partir da escolha de um ponto; <br/> | ||
+ | |||
+ | 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. <br/> | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! 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; | ||
+ | |||
+ | {{collapse bottom}} | ||
+ | |||
+ | == Aula 15 == | ||
+ | {{collapse top| bg=lightblue | 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. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! 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. <br/> | ||
+ | - Comando ''rank'' saber a singularidade da matriz;<br/> | ||
+ | - Função pseudoinversa (''pinv'') para resolver um sistema cuja solução garante a menor norma.<br/> | ||
+ | |||
+ | Exercício (livro - 11 p. 363): Resolva as seguintes equações: | ||
+ | :<math>\begin{alignat}{7} | ||
+ | 7x &\; + &\; 9y &\; - &\; 9z &\; = &\; 22 \\ | ||
+ | 3x &\; + &\; 2y &\; - &\; 4z &\; = &\; 12 \\ | ||
+ | x &\; + &\; 5y &\; - &\; z &\; = &\; -2 \\ | ||
+ | \end{alignat}</math><br/> | ||
+ | |||
+ | {{collapse bottom}} | ||
+ | |||
+ | == Aula 16 == | ||
+ | {{collapse top| bg=lightblue | 04/Out}} | ||
+ | |||
+ | - Definição de Matriz Aumentada;<br/> | ||
+ | - Comando ''rref'' para escalonar matriz; | ||
+ | |||
+ | Exercício (livro - adaptado - T8.3-1 p. 343): Encontre duas soluções e o escalonamento para o seguinte conjunto: | ||
+ | :<math>\begin{alignat}{7} | ||
+ | x &\; + &\; 3y &\; + &\; 2z &\; = &\; 2 \\ | ||
+ | x &\; + &\; y &\; + &\; z &\; = &\; 4 \\ | ||
+ | \end{alignat}</math><br/><br/> | ||
+ | |||
+ | Exercício (livro - adaptado - 12 p. 363): A tabela a seguir mostra quantas horas de processo são necessárias para que os reatores A e B produzam uma tonelada de cada um dos produtos químicos 1, 2 e 3. Os dois reatores são disponíveis por 35 e 40 horas por semana, respectivamente. | ||
+ | |||
+ | {| border="4" cellpadding="2" | ||
+ | ! '''Horas''' | ||
+ | ! '''Produto 1''' | ||
+ | ! '''Produto 2''' | ||
+ | ! '''Produto 3''' | ||
+ | |- | ||
+ | | Reator A || 6 || 2 || 10 | ||
+ | |- | ||
+ | | Reator B || 3 || 5 || 2 | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | Sejam ''x'', ''y'' e ''z'' o número de toneladas de cada um dos produtos 1, 2 e 3 que podem ser produzidos em uma semana.<br/> | ||
+ | a) Utilize os dados na tabela para escrever duas equações em termos de ''x'', ''y'' e ''z''. Determine se existe um única solução. Encontre as relações entre ''x'', ''y'' e ''z''.<br/> | ||
+ | b) Note que os valores negativos de ''x'', ''y'' e ''z'' não têm significado nesse caso. Encontre as faixas de valores possíveis para ''x'', ''y'' e ''z''. <br/> | ||
+ | c) Suponha que os lucros sejam de $200, $300 e $100 para cada produto 1, 2 e 3, respectivamente. Encontre os valores de ''x'', ''y'' e ''z'' que maximizam os lucros. <br/> | ||
+ | d) Suponha que os lucros sejam de $200, $500 e $100 para cada produto 1, 2 e 3, respectivamente. Encontre os valores de ''x'', ''y'' e ''z'' que maximizam os lucros. <br/> | ||
+ | {{collapse bottom}} | ||
+ | |||
+ | == Aula 17 == | ||
+ | {{collapse top| bg=lightblue | 06/Out}} | ||
+ | |||
+ | Exercício (livro - adaptado - 13 p.364): Veja a figura abaixo. Suponha que os veículos não param dentro da rede. Um engenheiro de tráfego deseja saber se os fluxos de tráfego <math>f_1, f_2, ..., f_7</math> (em veículos por hora) podem ser calculados a partir dos fluxos medidos mostrados na figura. Se não, então determine quantos sensores de tráfego a mais precisam ser instalados e obtenha as expressões para os outros fluxos de tráfego em termos das quantidades medidas.<br/> | ||
+ | |||
+ | [[Image:Exercícios 1 Aula 17 FIC Matlab.jpeg | 600px]] <br/> | ||
+ | |||
+ | - Caracteres especiais: <br/> | ||
+ | {| border="4" cellpadding="2" | ||
+ | ! '''Símbolo''' | ||
+ | ! '''Descrição''' | ||
+ | |- | ||
+ | | \b || ''Backspace'' | ||
+ | |- | ||
+ | | \n || Mudança de linha | ||
+ | |- | ||
+ | | \r || ''Return'' | ||
+ | |- | ||
+ | | \t || Tabulação horizontal | ||
+ | |- | ||
+ | | \\ || Escreve o caracter \ | ||
+ | |- | ||
+ | | \ || Escreve o caracter ' | ||
+ | |- | ||
+ | | %% || Escreve o caracter % | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | - Descritores de formato:<br/> | ||
+ | {| border="4" cellpadding="2" | ||
+ | ! '''Símbolo''' | ||
+ | ! '''Descrição''' | ||
+ | |- | ||
+ | | ''%c'' || Um único caracter | ||
+ | |- | ||
+ | | ''%d'' || Número inteiro | ||
+ | |- | ||
+ | | ''%e'' ou ''%E'' || Número real escrito em notação científica | ||
+ | |- | ||
+ | | ''%f'' || Número real com parte decimal | ||
+ | |- | ||
+ | | ''%g'' || Notação mais compacta de ''%e'' e ''%f'' | ||
+ | |- | ||
+ | | ''%o'' || Número octal sem sinal | ||
+ | |- | ||
+ | | ''%s'' || ''String'' de caracteres | ||
+ | |- | ||
+ | | ''%u'' || Número inteiro sem sinal | ||
+ | |- | ||
+ | | ''%x'' ou ''%X'' || Hexadecimal (com letras minúsculas ou maiúsculas) | ||
+ | |- | ||
+ | |} | ||
+ | <br/> | ||
+ | Exercício: Fazer uma tabela com 3 colunas no Matlab que salve em um arquivo de texto externo, com o ângulo, seno e cosseno. Sendo o ângulo de <math>0 </math> a <math>2\pi</math>.<br/> | ||
+ | |||
+ | - Comando ''msgbox'' para criar caixa de mensagem e opções extras como título, ícone pré-definido ou criado; <br/> | ||
+ | |||
+ | {{collapse bottom}} | ||
+ | |||
+ | == Aula 18 == | ||
+ | {{collapse top| bg=lightblue | 11/Out}} | ||
+ | |||
+ | - Caixa de diálogo de mensagem de aviso (''warndlg'');<br/> | ||
+ | - Caixa de diálogo de mensagem de erro (''errordlg'');<br/> | ||
+ | - Caixa de diálogo de mensagem de interrogação com múltipla escolha (''questdlg'');<br/> | ||
+ | |||
+ | Exercício: Criar uma caixa de interrogação com múltipla escolha com as opções: Candidato A, Candidato B e Branco. Após apresente a escolha. <br/> | ||
+ | |||
+ | - Caixa de diálogo de mensagem de ajuda (''helpdlg'');<br/> | ||
+ | - Caixa de diálogo de introdução de dados (''inputdlg'');<br/> | ||
+ | |||
+ | Exercício: Criar um código Matlab para abrir uma janela com a mensagem "O que você deseja comprar?" com múltiplas escolhas: Arroz, Feijão e Macarrão, quando escolher deve aparecer uma janela com opção para completar com a quantidade. De acordo com a quantidade calcular o preço total considerando o preço unitário do Arroz $6, do Feijão $10 e do Macarrão $5,50. Após a escolha deve aparecer uma terceira janela com opção de "sim" ou "não" para repetir o procedimento. Caso aceite repetir o código deve-se atualizar o cálculo com a nova escolha do produto e da quantidade. <br/> | ||
+ | |||
+ | {{collapse bottom}} | ||
+ | |||
+ | == Aula 19 == | ||
+ | {{collapse top| bg=lightblue | 13/Out}} | ||
+ | |||
+ | - Caixa de diálogo com lista de seleção de múltipla escolha (''listdlg''); | ||
+ | |||
+ | Exercício: Criar um código com uma pergunta sobre preferência de filmes de acordo com o gênero, com múltiplas escolhas. Apresentar as opções escolhidas. | ||
+ | |||
+ | - Caixa de diálogo com lista de seleção de escolha única também usando ''listdlg''; | ||
+ | - Exemplo 1 do uso de ''Graphical User Interface'' (GUI); | ||
+ | |||
+ | {{collapse bottom}} | ||
+ | |||
+ | == Aula 20 == | ||
+ | {{collapse top| bg=lightblue | 18/Out}} | ||
+ | |||
+ | - Término do Exemplo 1 do uso de ''Graphical User Interface'' (GUI); <br/> | ||
+ | - Exemplo 2 do uso de ''Graphical User Interface'' (GUI);<br/> | ||
{{collapse bottom}} | {{collapse bottom}} |
Edição atual tal como às 16h36min de 3 de março de 2017
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
Referência Complementar: MORAIS, V.. VIEIRA, C. MATLAB Curso Completo. FCA, 2013. 644. ISBN 9727227058
Conteúdos Abordados
Aula 1
Aula 2
16/Ago | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
- Formatos de exibição
- Funções Matemáticas
utilizando d após as funções sin, cos e tan e suas inversas, faz o cálculo em graus - Arranjo de vetor utilizando dois pontos (:); - Exercício: Plotar a função de -4 até 4 e encontrar as raízes por Bhaskara |
Aula 3
18/Ago |
---|
Exercício: Fazer o plot de um sinal de tensão x tempo, como da figura abaixo: - Comando axis. |
Aula 4
23/Ago | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Exercício (livro - 16 p. 101): A tabela a seguir mostra o salário por hora, as horas de trabalho e a produção (número de dispositivos produzidos) em uma semana para cinco fabricantes de dispositivos.
Utilize o MATLAB para responder essas questões: - 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; - Comando poly para criar um polinômio a partir de raízes; |
Aula 5
25/Ago |
---|
- Comando input para entrada de dados; Exercício: Criar uma calculadora de IMC com perguntas (input) para massa e altura, aparecendo na sequência o resultado - Criando estruturas; |
Aula 6
30/Ago |
---|
- Funções trigonométricas; 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 (,); |
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
Operadores de curto circuito
- 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). Colocar opção de entrada de dados com input e condição que não existe unidade negativa. - Laços for. |
Aula 8
06/Set |
---|
Exercício: Calcule e armazene a Sequência de Fibonacci, com a possibilidade de escolher o número de termos. Exercício: Criar uma matriz (NxN) em que a diagonal principal é o produto de linha por coluna e nos outros termos é a soma
da linha com a coluna, com a possibilidade de escolher a dimensão N da matriz. Exercício: Calcule o fatorial de um número que pode ser escolhido. - Laços while. Exercício (livro - Exemplo 4.6-2 p. 186): Determine o tempo necessário para que você acumule pelo menos $10000 em uma conta bancária se você depositar inicialmente $500 e mais $500 ao final de cada ano, com um rendimento anual de 5%. Exercício: Fazer o plot de um sinal de tensão x tempo, como da figura abaixo, usando os conceitos da aula de hoje: |
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; 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;
|
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. - 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; - Gráfico com dois eixos em y (plotyy); - Letras gregas nos gráficos:
- Funções stem, stairs e bar; |
Aula 13
22/Set |
---|
- Função polar; - Mudar a espessura da linha com linewidth; 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: - Criar uma malha 3D com meshgrid; |
Aula 14
27/Set | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Exercício (livro - 30 p. 259): Obtenha as plotagens de superfície e de contorno para a função 22, mostrando o mínimo em . - Comando polyfit, que ajusta o polinômio de grau n aos dados descritos por x e y; 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.
- 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.
- Plotar dados da tabela, menu Tools e depois Basic Fitting, para escolher a melhor função que interpola os dados. Exercício (livro - 11 p. 363): Resolva as seguintes equações: |
Aula 16
04/Out | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
- Definição de Matriz Aumentada; Exercício (livro - adaptado - T8.3-1 p. 343): Encontre duas soluções e o escalonamento para o seguinte conjunto: Exercício (livro - adaptado - 12 p. 363): A tabela a seguir mostra quantas horas de processo são necessárias para que os reatores A e B produzam uma tonelada de cada um dos produtos químicos 1, 2 e 3. Os dois reatores são disponíveis por 35 e 40 horas por semana, respectivamente.
Sejam x, y e z o número de toneladas de cada um dos produtos 1, 2 e 3 que podem ser produzidos em uma semana. |
Aula 17
06/Out | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Exercício (livro - adaptado - 13 p.364): Veja a figura abaixo. Suponha que os veículos não param dentro da rede. Um engenheiro de tráfego deseja saber se os fluxos de tráfego (em veículos por hora) podem ser calculados a partir dos fluxos medidos mostrados na figura. Se não, então determine quantos sensores de tráfego a mais precisam ser instalados e obtenha as expressões para os outros fluxos de tráfego em termos das quantidades medidas. - Caracteres especiais:
- Descritores de formato:
- Comando msgbox para criar caixa de mensagem e opções extras como título, ícone pré-definido ou criado; |
Aula 18
11/Out |
---|
- Caixa de diálogo de mensagem de aviso (warndlg); Exercício: Criar uma caixa de interrogação com múltipla escolha com as opções: Candidato A, Candidato B e Branco. Após apresente a escolha. - Caixa de diálogo de mensagem de ajuda (helpdlg); Exercício: Criar um código Matlab para abrir uma janela com a mensagem "O que você deseja comprar?" com múltiplas escolhas: Arroz, Feijão e Macarrão, quando escolher deve aparecer uma janela com opção para completar com a quantidade. De acordo com a quantidade calcular o preço total considerando o preço unitário do Arroz $6, do Feijão $10 e do Macarrão $5,50. Após a escolha deve aparecer uma terceira janela com opção de "sim" ou "não" para repetir o procedimento. Caso aceite repetir o código deve-se atualizar o cálculo com a nova escolha do produto e da quantidade. |
Aula 19
13/Out |
---|
- Caixa de diálogo com lista de seleção de múltipla escolha (listdlg); Exercício: Criar um código com uma pergunta sobre preferência de filmes de acordo com o gênero, com múltiplas escolhas. Apresentar as opções escolhidas. - Caixa de diálogo com lista de seleção de escolha única também usando listdlg; - Exemplo 1 do uso de Graphical User Interface (GUI); |
Aula 20
18/Out |
---|
- Término do Exemplo 1 do uso de Graphical User Interface (GUI); |