ROTEIRO DE AULA 1
MODELAGEM MATEMÁTICA
Prof. Dr. Catalunha
Atualizado em 3 de Julho de 2013
1 Este
roteiro contém textos de minha autoria e outros retirados das bibliografias indicadas, ou textos
correlatos no assunto, sempre que possı́vel citadas as fontes. Tais notas não excluem a consulta ao
conteúdo na integra da bibliografia original e são apenas uma forma de guia de conteúdo dentro de sala
de aula. Notas iniciadas em julho/2009
Conteúdo
I
II
Ementa e Conteúdo Programático
Primeira Etapa do Curso
4
7
1 Introdução
8
2 Funções de 1 variável
2.1 Ajuste de Modelo - Regressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Exercı́cios Resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Exercı́cios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
13
14
24
3 Derivada
3.1 Exercı́cios Resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Exercı́cios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
26
29
4 Integral
4.1 Exercı́cios Resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Exercı́cios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
30
30
5 Funções de 2 variável
5.1 Exercı́cios Resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Exercı́cios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
31
32
III
33
Segunda Etapa do Curso
6 Taxa de Variação
6.1 Exercı́cios Resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Exercı́cios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
34
34
7 Otimização
7.1 Exercı́cios Resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Exercı́cios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
35
35
8 Equações Diferenciais
8.1 Exercı́cios Resolvidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Exercı́cios Propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
38
38
2
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
IV
Administração da Disciplina
9 Procedimentos de avaliação
9.1 Divisão do conteúdo e quantidade de avaliações
9.2 Preparação da sala para a prova . . . . . . . . .
9.2.1 Estrutura da prova: . . . . . . . . . . . .
9.2.2 Estrutura do trabalho . . . . . . . . . .
9.2.3 Outras disposições: . . . . . . . . . . . .
10 Elaboração das Tarefas
10.1 Introdução . . . . . . . . . . . . . . . . . . . . .
10.2 Tarefa exemplo . . . . . . . . . . . . . . . . . .
10.2.1 Tarefa: ajustemodelo . . . . . . . . . . .
10.3 Resolução digital . . . . . . . . . . . . . . . . .
10.3.1 Estrutura de pastas . . . . . . . . . . . .
10.3.2 Relação de arquivos básicos por exercı́cio
11 Formulários e Softwares
Atualizado em 3 de Julho de 2013
40
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
41
42
43
43
.
.
.
.
.
.
45
45
45
45
46
46
46
54
3
Parte I
Ementa e Conteúdo Programático
4
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Ementa de disciplina do curso de Engenharia Ambiental conforme Plano Polı́tico Pegagógico
aprovado em 2007.
DISCIPLINA:
Modelagem Matemática de Sistemas Ambientais
CH Total
CH Teórica
CH Prática
Créditos
60
15
45
4
PERÍODO:
PRÉ-REQUISITOS:
5
Informática das Engenharias
OBJETIVO:
Formulação de um modelo matemático (estrutura básica). Estudo do comportamento de modelos matemáticos. Otimização. Aplicações de integral. Sistemas lineares e Matrizes. Equações
diferenciais. Modelagem computacional para integração de modelos matemáticos.
CONTEÚDO BÁSICO:
Formulação de um modelo matemático (estrutura básica). Estudo do comportamento de modelos matemáticos. Otimização. Aplicações de integral. Sistemas lineares e Matrizes. Equações
diferenciais. Modelagem computacional para integração de modelos matemáticos.
METODOLOGIA DE ENSINO:
O ensino será ministrado de forma expositiva em sala de aula, utilizando os recursos audiovisuais
disponı́veis, com consulta ao material bibliográfico e debates sobre o tema. A disciplina será
administrada utilizando todos os recursos disponı́veis no sistema Moodle.
PROCEDIMENTOS DE AVALIAÇÃO:
Trabalhos e provas.
BIBLIOGRAFIA BÁSICA:
* BASSANEZI, Rodney Carlos. Ensino-aprendizagem com modelagem matemática. 3 ed. São Paulo : Ed. Contexto. 2006. ISBN 85-7244-207-3
* BIEMBERGUT, Maria Sallet. Modelagem Matemática no ensino Maria Sallet Biembergut,
Nelson Hein. 4 ed. 1 reimpressão - São Paulo : Contexto, 2007. ISBN 85-7244-136-0
* FIGUEIREDO, D.G. Análise de Fourier e equações diferenciais
* BATSCHELE, E. Introdução à matemática para biocientistas. Ed. Interciência (RJ). Ed.
USP (SP). 1978.
BIBLIOGRAFIA COMPLEMENTAR:
* Modelos hidrológicos. Carlos E. M. Tucci . Ed. Da UFGRS – ABRH. 1998.
* Ecologia. Eugene P. Odum. Ed. Guanabara. 1983.
Atualizado em 3 de Julho de 2013
5
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Na Tabela 1 temos as datas conforme calendário do periodo vigente. Na Tabela 2 o encontro
que será realizado na referida data.
Data
23-05-2013
06-06-2013
13-06-2013
20-06-2013
27-06-2013
04-07-2013
11-07-2013
01-08-2013
08-08-2013
15-08-2013
22-08-2013 P
29-08-2013
05-09-2013
12-09-2013
19-09-2013
26-09-2013
03-10-2013 P
10-10-2013 E
-2013 R
-2013 R
Encontro
1
2
3
4
5
6
7
8
10
11
9
12
13
14
15
16
18
20
17
19
Tabela 1: Datas
Encontro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Conteúdo Planejado
Apresentação da disciplina.
Função de 1 variável. Parte I
Função de 1 variável. Parte II
Função de 1 variável. Parte III
Ajuste de Modelo, Derivada e Integral
Função de 2 variável. Parte I
Função de 2 variável. Parte II
Função de 2 variável. Parte III
Prova 01
Modelagem ...
Taxa de variação I
Taxa de variação II
Otimização I
Otimização II
Equações Diferenciais Ordinárias I
Equações Diferenciais Ordinárias II
Trabalho em sala
Prova 02
Reposição de Prova
Exame Final
Tabela 2: Conteúdo
Legenda: R: indica data de reposição de aula. E: indica data de exame final. P: indica data
de prova.
Observação: Horário de atendimento aos alunos será na quinta de 08h as 11h30, Bloco II, Sala
10, Ramal 8229 ou Telefone 32328229.
6
Atualizado em 3 de Julho de 2013
Parte II
Primeira Etapa do Curso
7
Capı́tulo 1
Introdução
Aconselho que durante o curso o aluno vá adquirindo as bibliografias citadas para montagem de sua
biblioteca particular. É sempre importante compreender e saber onde se encontra o conhecimento,
muito mais do que sabê-lo de memória, tendo em vista a imensidão de teorias e formulações de
que se trabalha na área ambiental.
A modelagem matemática consiste na arte de transformar problemas da realidade em problemas matemáticos e resolvê-los interpretando suas soluções.
A modelagem matemática, em seus vários aspectos, é um processo que alia teoria e prática,
motivaseu usuário na procura do entendimento da realidade que ocorre e na busca de meios para
agir sobre ela e transformá-la.
A busca do conhecimento em qualquer campo, deve consistir essencialmente, em:
1. Aceitar somente aquilo que seja tão claro em nossa mente, que exclua qualquer dúvida;
2. Dividir os grandes problemas em problemas menores. Teoria do Dificil é coisa fácil junta;
3. Argumentar, partindo do simples para o complexo;
4. Verificar o resultado final.
Não queremos dizer que todo fenômeno possa ser matematizado ou convertido numa forma
que seja processado num computador.
Quando se procura refletir sobre uma porção da realidade, na tentativa de explicar, de entender, ou de agir sobre ela - o processo usual é selecionar, no sistema, argumentos ou parâmetros
considerados essenciais e formalizá-los através de um sistema artificial: O MODELO.
MODELO OBJETO é a representação de um objeto ou fato concreto, suas caracterı́sticas predominantes são a estabilidade e homogeneidade das variaveis. A representação por estes modelos
é sempre parcial deixando escapar variações individuais e pormenores do fenômeno ou do objeto.
1. Pictórica: Um desenho um esquema compartimental, um mapa, etc.
2. Conceitual: Fórmula matemática.
3. Simbólica:
MODELO TEÓRICO é aquele vinculado a uma teoria geral existente - será construı́do entorno de
um modelo objeto. Ele deve conter as mesmas caracterı́sticas de um sistema real. Suas relações
são obtidas através de hipóteses
8
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Chamaremos simplesmente de MODELO MATEMÁTICO um conjunto de sı́mbolos e relações
matemática que representam de alguma forma o objeto estudado.
Os modelos matemáticos podem ser formulados de acordo com a natureza dos fenômenos ou
situações analisados classificados conforme o tipo de matemática utilizada:
1. Linear ou não linear. conforme suas equações básicas tenham estas caracterı́sticas;
2. Estático. quando representam a forma de um objeto;
3. Dinâmico. quando simula variações de estágios do fenômeno;
4. Educacional quando é baseado em um número pequeno ou simples de suposições, tendo,
quase sempre, soluções analı́ticas. Geralmente estes modelos não representam a realidade
com o grau de fidelidade adequada para se fazer previsões.
5. Aplicativo é aquele baseado em hipóteses realisticas, envolve interrelações de um grande
número de variáveis, fornecendo em geral sistemas de equações com numerosos parâmetros.
Neste caso, um tratamento analı́tico pode ser impossı́vel e os métodos utilizados para obtenção das soluções devem ser computacionais.
6. Determinı́sticos. são baseados na suposição de que se existem informações suficientes em
um determinado instante ou num estágio de algum processo, então todo o futuro do sistema
pode ser previsto precisamente.
7. Estocástico. são aqueles que descrevem a dinâmica de um sistema em termo probabilı́sticos.
A MODELAGEM MATEMÁTICA consiste, essecialmente, na arte de transformar situações da
realidade em problemas matemáticos cujas soluções devem ser interpretadas na linguagem usual.
A modelagem é eficiente a partir do momento que nos concientizamos que estamos sempre
trabalhando com aproximações da realidade, ou seja, que estamos elaborando sobre representações
de um sistema ou parte dele.
A modelagem não deve ser utilizada como uma panacéia descritiva adaptada a qualquer situação da realidade.
O conteúdo e a linguagem matemática utilizados devem ser equilibrados e circunscritos tanto
ao tipo de problema como ao objetivo que se propõe alcançar.
Algumas atividades intelectuais da Modelagem Matemática podem ser definidas como:
1. Experimentação- É uma atividade essencialmente laboratorial onde se processa a obtenção
de dados.
2. Abstração - É procedimento que deve levar à formulação dos modelos. Nesta fase procura-se
estabelecer:
(a) Seleção de variáveis - A distinção entre as variáveis de estado que descrevem a evolução
do sistema e as variáveis de controle que agem sobre o sistema. Uma das exigências
fundamentais da pesquisa é que os conceitos (variáveis) com as quais se lida sejam
claramente definidos.
Atualizado em 3 de Julho de 2013
9
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
(b) Formulação de hipóteses - Dirigem a investigação e são comumente formulações gerais
que permitem ao pesquisador deduzir manifestações empı́ricas especı́ficas. A geração de
hipóteses se dá de vários modos: observação de fatos, comparação com outros estudos,
dedução lógica, experiência pessoal do modelador, analogia de sistemas. Dois sistemas
são formalmente análogos quando podem ser representados pelo mesmo modelo matemático o que implica numa correspondência entre as propriedades dos elementos de
ambos os sistemas. A engenharia elétrica é uma das maiores fontes de contribuições para
os sistemas análogos pelos três componentes Resistência, Capacitância e Indutância. A
montagem do modelo matemático, que se dá nesta fase do processo de modelagem depende substancialmente do grau de complexidade das hipóteses e da quantidade das
variáveis interrelacionadas. E acima de tudo da capacidade do analista em manipulá-las
matematicamente.
(c) Simplificação - Os fenômenos que se apresentam para o estudo matemático são, em
geral, excessivamente complexos se os considerarmos em todos os seus detalhes. O
método cientı́fico analı́tico, iniciado por Galileu (1564-1642) e o método da razão de
descartes, consistem exatamente em restringir e isolar o campo de estudo apropriadamente de tal modo que o problema seja tratável e, ao mesmo tempo, mantem sua
relevância. Como diz Mark Kac (1914-1983), um extraordinário matemático polonés.
”Se vc não consegue resolver o problema a que se propôs, então tente simplificá-lo. A
condição única é esta: você não deve simplificá-lo demasiadamente a ponto de perder
as informações essenciais”.
(d) Resolução O modelo matemático é obtido quando se substitui a linguagem natural das
hipóteses por uma linguagem matemática coerente. A resolução esta vinculada ao grau
de complexidade empregado em sua formulação e muitas vezes só pode ser viabilizada
através de métodos computacionais dando uma solução numérica aproximada.
(e) ”Validação”Este termo validar deve ser visto com muito critério. Pois não tem como
vc validar um modelo. È o mesmo que dizer que o modelo é perfeitamente coerente em
todas as situações para o qual ele foi proposto. Um modelo deve prever, no mı́nimo, os
fatos que o originaram. Um bom modelo é aquele que tem capacidade de previsão de
novos fatos ou relações suspeitas.
i. ”Modificação”Quando os modelos são obtidos considerando simplificações idealizações da realidade, suas soluções geralmente não conduzem às previsões corretas
e definitivas. Algumas razões para isto são:
ii. Algumas hipóteses podem ser falsas ou não suficientemente próximas da verdade;
iii. Alguns dados experimentais ou informações podem ser obtidos de maneira incorreta;
iv. As hipóteses e os dados são verdadeiros mas insuficientes, e nossa intuição da
realidade é inadequada;
v. Existem outras variáveis envolvidas na situação real que não foram utilizadas no
modelo teórico;
vi. Foi cometido algum erro no desenvolvimento do matemático do modelo.
Uma série de pontos podem ser levantados para destacar a relevância da modelagem matemática quando utilizada como instrumento de pesquisa:
10
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
1. Podem sugerir novas idéias e técnicas experimentais;
2. Pode dar informações em diferentes aspectos dos inicialmente previstos;
3. Pode ser um método para se fazer interpolações, extrapolações e previsões;
4. Pode sugerir tomada de decisão;
5. Pode preencher lacunas onde existe falta de dados experimentais;
6. Pode servir de recurso para melhor entender a realidade;
Alguns outros materias podem ser consultados como: (Pág. 15 até 38, bassanezi) e (Pág. 9 a
30, biembergut)
Na modelagem o inı́cio é apenas o tema de estudo escolhido quando ainda não se tem idéia do
conteúdo matemático que será utilizado. Nesse estágio, colocamos para os iniciantes que quando
não se tem nenhuma idéia do que fazer, comece ”contando”ou ”medindo- com este procedimento,
é natural aparecer uma tabela de dados e isto pode ser o começo da modelagem.
Da mesma forma que só se pode aprender a jogar futebol, jogando, só se aprende modelagem,
modelando!
Por mais que se treine matemática pelo estudo das teorias, é possı́vel que boa parte dos
estudantes não demonstre habilidades para empregar matemática em outras áreas.
Tal esquema, Figura 2.1, não revela como se pode desenvolver habilidades de matemático
aplicado nem tampouco como adquirı́-las, o que nos leva ao questionamento: é possı́vel ensinar
modelagem matemática?
Por isto o conhecimento matemático e o prazer pela pesquisa de soluções em matemática deverá
ser o ponto de partida. Pois quando se tem preguiça ou desmotivação para relembrar as leis e
fundamentos dos logaritmos ou geometria analı́tica.
A formulação do problema é uma das etapas mais importantes. Pois saber formular uma
pergunta, já é um passo muito importante no processo de modelagem. E a habilidade de se
fazer boas perguntas como ja dissemos é um hábito. A escolha do tema vem logo em seguida.
Basicamente qualquer tema nos permite uma modelagem. Podendo té-la um grau maior ou menor
de aceitação. A escolha de temas depende muito da equipe em que se estrutura para a solução da
pergunta feita, e depende também de fatores como disponibilidade de instrumentação, medição,
coleta de dados e etc, ou seja da coleta dos dados.
A coleta de dados pode ser feito por entrevista, pesquisa bibliográfica, instrumentação. A
qualidade e quantidade dos dados proporciona muito o sucesso no processo de modelagem.
Na formulação dos problemas podemos ter duas situações básicas:
1. Formulação estática - São formulações envolvendo equações ou funções com uma ou mais
variáveis onde os modelos matemáticos traduzem uma correspondência biunı́voca entre as
variáveis da formulação e as variáveis fı́sicas do sistema caracterizado. As formulações
estáticas utilizam, geralmente, conceitos ligados à área de geometria onde a variável tempo
náo tem interesse.
2. Formulação dinâmica - A formulação de modelos dinâmicos, em geral, envolve dois tipos
de variáveis (dependentes e independentes) onde a variável independente é geralmente o
tempo. O conceito de uma relação entre duas variáveis é bem conhecido, mas podemos fazer
distinção entre uma relação funcional e uma relação estatı́stica.
Atualizado em 3 de Julho de 2013
11
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
(a) A relação funcional entre duas variáveis é expressa por uma fórmula matemática: y =
f (x) em que x é a variável independente e y é a variável dependente.
(b) Relações estatı́sticas são frequentemente utilizadas quando não se tem a exatidão de
uma relação funcional.
É importante também, no caso da modelagem, analisar a sensibilidade do modelo aos valores dos
parâmetros, o que é tratado através de análises estatı́sticas. Este ponto náo será tratado neste
semestre.
12
Atualizado em 3 de Julho de 2013
Capı́tulo 2
Funções de 1 variável
Desenvolver conteúdo da seguinte bibliografia: [?], Capı́tulo 01. Item 1.1-1.8
2.1
Ajuste de Modelo - Regressão
Desenvolver conteúdo da seguinte bibliografia: [?], Páginas 323 até 356. [?], Páginas 54 até 85.
Walpole 2009, Capı́tulo 11 e 12.
Uma regressão ou curva de tendência pode ser o primeiro passo para uma modelagem. Uma
relação funcional, obtida através de uma ajuste dos dados, propicia condições para a elaboração
de hipóteses que levam à formulação dos modelos.
Os modelos são relaçoes funcionais que incorporam as particularidades do fenômeno analisado.
Um reta ou curva ajustada não pode ser considerado um modelo matemático para uma determinada situação. Neste caso, a reta ou curva simplesmente descreve uma tendência dos fatos no
intervalo pesquisado.
Mesmo que uma curva possa fazer alguma previsão de futuros valores para o fenômeno estudado, ainda assim, tal formulação não poderia ser considerado um modelo matemático do
fenômeno enquanto seus parâmetros não tiverem algum significado biológico, quimico ou fı́sico
com o fenômeno!
Contudo o processo de ajuste de curvas é um dos mais importantes passos para o treinamento
em modelagem e entendimento do comportamento de um fenômeno que não seja aleatório.
A teoria apresentada no Capı́tulo 7 do [?] apresenta a matriz normal como preparatória para
obtenção dos parâmetros do modelo. Esta matriz normal é obtida por somatórios conforme apresenta aquela teoria. Contudo esta matriz de somatórios pode ser facilmente obtida utilizando
operações matriciais como a apresentada a seguir. Considere o seguinte modelo múltiplo genérico.
y = c0 + c1 x1 + c2 x2 + ... + cp xp
13
(2.1)
(2.2)
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Na forma matricial temos:







y1
y2
y3
..
.

 
 
 
=
 
 
yn
| {z }
Y

1 x11
1 x12
1 x13
.. ..
. .
1 x1n
|
x21
x22
x23
..
.
. . . xp1
. . . xp2
. . . xp3
.
. . . ..
 
 
 
 
∗
 
 
c0
c1
c2
..
.







(2.3)
x2n . . . xpn
cp
{z
} | {z }
c
X
Para obter os parametros sem efetuar as somas preparamos os dados conforme a matriz anterior
e calculamos c = (X 0 X)−1 .(X 0 Y )
Ou representamos a matriz normal para resolução do sistema na forma {X 0 X = X 0 Y .
2.2
Exercı́cios Resolvidos
1. O Número de bactérias por unidade de volume, y, existente em uma cultura após algumas
horas, x é apresentado na Tabela 2.1. . Pede-se:
Tabela 2.1: Experimento bacteriano.
x 1
2
3
4
5
6
y 47 65 92 132 190 275
(a) Determine os parâmetros a e b para o modelo y = abx .
Resposta: y = 32.2747 ∗ 1.4257x .
Efetuando as transformações teremos:
y = abx
ln y = ln a + x ln b
yt = at + xbt
(2.4)
(2.5)
(2.6)
A somas para montagem da matriz normal serão:
octave:6> x=1:6
x =
1
2
3
4
5
6
octave:7> y=[47,65,92,132,190,275]
y =
47
65
92
132
190
275
octave:25> yt=log(y)
yt =
3.8501
4.1744
4.5218
4.8828
5.2470
5.6168
octave:8> mx=[length(x),sum(x);sum(x),sum(x.^2)]
mx =
14
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
6
21
21
91
octave:26> my=[sum(yt);sum(x.*yt)]
my =
28.293
105.231
Ficando a matriz normal na forma:
6 21
a
28.293
∗
=
21 91
b
105.231
(2.7)
octave:27> mc=mx**-1*my
mc =
3.47428
0.35463
Potanto mc é a matriz de coeficiente do modelo transformado, e
ln a
e =e e =a
bt = ln b
bt
e = eln b
ebt = b
at
at =
ln a at
(2.8)
(2.9)
(2.10)
(2.11)
(2.12)
Precisamos aplica exp() para obter os modelos originais.
octave:28> exp(mc)
ans =
32.2747
1.4257
Então o valor dos coeficientes é a = 32.2747 e b = 1.4257 ficando o modelo y =
32.2747 ∗ 1.4257x conforme Figura 2.1
(b) Determine os parâmetros a e b para o modelo y = axb .
Resposta: y = 38.839 ∗ x0.96309
Efetuando as transformações teremos:
y = axb
ln y = ln a + b ln x
yt = at + bxt
(2.13)
(2.14)
(2.15)
A somas para montagem da matriz normal serão:
octave:6> x=1:6
x =
1
2
3
4
5
6
octave:7> y=[47,65,92,132,190,275]
Atualizado em 3 de Julho de 2013
15
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
y =
47
65
92
132
190
275
octave:31> yt
yt =
3.8501
4.1744
4.5218
4.8828
5.2470
5.6168
octave:32> xt=log(x)
xt =
0.00000
0.69315
1.09861
1.38629
1.60944
1.79176
octave:25> yt=log(y)
yt =
3.8501
4.1744
4.5218
4.8828
5.2470
5.6168
octave:33> mx=[length(xt),sum(xt);sum(xt),sum(xt.^2)]
mx =
6.0000
6.5793
6.5793
9.4099
octave:34> my=[sum(yt);sum(xt.*yt)]
my =
28.293
33.139
Ficando a matriz normal na forma:
6.0000 6.5793
a
28.293
∗
=
6.5793 9.4099
b
33.139
(2.16)
octave:35> mc=mx**-1*my
Figura 2.1: Modelo y = abx
16
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
mc =
3.65942
0.96309
Potanto mc é a matriz de coeficiente do modelo transformado, e
at = ln a
eat = eln a
eat = a
(2.17)
(2.18)
(2.19)
Precisamos aplica exp() para obter os modelos originais.
octave:36> exp(mc(1))
ans = 38.839
Então o valor dos coeficientes é a = 38.839 e b = 0.96309 ficando o modelo y =
38.839 ∗ x0.96309 conforme Figura 2.2
Figura 2.2: Modelo y = axb
(c) Calcule o coeficiente de ajustamento r2 para o modelo y = abx
Resposta: 0.99943 ou 99.9%
octave:1> x=1:6
x =
1
2
3
4
5
6
octave:2> y=[47,65,92,132,190,275]
y =
Atualizado em 3 de Julho de 2013
17
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
47
65
92
132
190
275
octave:11> f=@(x) 32.2747*1.4257.**x
f =
@(x) 32.2747 * 1.4257 .^ x
octave:12> ye=f(x)
ye =
46.014
65.602
93.529
133.344
190.109
271.039
octave:13> y
y =
47
65
92
132
190
275
octave:14> num=sum((y.-ye).^2)
num = 21.185
octave:15> den=sum(y.^2)-(sum(y))^2/6
den = 3.7114e+04
octave:16> 1-num/den
ans = 0.99943
(d) Calcule o coeficiente de ajustamento r2 para o modelo y = axb
Resposta: 0.88940 ou 88.9%
octave:1> x=1:6
x =
1
2
3
4
5
6
octave:2> y=[47,65,92,132,190,275]
y =
47
65
92
132
190
275
octave:17> f=@(x) 38.83871.*x.**0.96309
f =
@(x) 38.83871 .* x .^ 0.96309
octave:18> ye=f(x)
ye =
38.839
75.715
111.886
147.606
182.994
218.119
octave:19> num=sum((y.-ye).^2)
18
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
num = 4104.9
octave:20> den=sum(y.^2)-(sum(y))^2/6
den = 3.7114e+04
octave:21> 1-num/den
ans = 0.88940
(e) Utilizando o gnuplot ajuste os dados aos modelos propostos e analise o ajustamento.
Resposta: g(x) = 31.278 ∗ 1.4359x e h(x) = 20.2854 ∗ x1.42529
O ajuste não-linear de um modelo pode ser feito utilizando o gnuplot de forma muito
simples.
Apesar de bastante otimizado, este procedimento depende do número
de dados, do tipo de equação a ser ajustada e das estimativas iniciais
dos coeficientes, podendo não convergir satisfatoriamente em alguns
casos.
Inicialmente devemos definir o arquivo de dados para o ajuste. Conforme arquivo a
seguir:
1
2
3
4
5
6
7
#x;y;
1.00;47.00
2.00;65.00
3.00;92.00
4.00;132.00
5.00;190.00
6.00;275.00
O script do gnuplot para ajustamento pode ser como a seguir. Note que o processo de
ajustamento não linear precisa de um valor inicial para melhor convergencia, que neste
caso foram os valores encontrados no ajuste pelos mı́nimos quadrados.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Comentario
reset
set term pngcairo
set output ’ graficoE1 . png ’
set grid
set key outside center bottom title ’ Legenda ’
set title " Ajuste pelo Gnuplot "
set xlabel " x - horas "
set ylabel " y - bac / vol unitario "
set datafile separator ";"
g ( x ) = a * b ** x
a =32.2747; b =1.4257;
fit g ( x ) " grafico . pts " using ( $1 ) :( $2 ) via a , b
h ( x ) = c * x ** d
c =38.839; d =0.96309;
fit h ( x ) " grafico . pts " using ( $1 ) :( $2 ) via c , d
plot " grafico . pts " using ( $1 ) :( $2 ) title " Pontos " , \
Atualizado em 3 de Julho de 2013
19
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
18
g ( x ) title " modelo g ( x ) = a * b ** x " , h ( x ) title " modelo h ( x ) = a *
x ** b "
Apresentando o gráfico conforme Figura 2.3.
Figura 2.3: Ajustando modelo a dados com Gnuplot
O gnuplot também fornece uma arquivo, chamado ”fit.log”de resultados do ajustamento
com alguma análise estatı́stica, onde os parâmetros do modelo são g(x) = 31.278 ∗
1.4359 ∗ ∗x e h(x) = 20.2854 ∗ x ∗ ∗1.42529 segundo aquele arquivo.
1 ********************************************************************
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
20
Tue Feb 5 10:17:28 2013
FIT :
data read from " grafico . pts " using ( $1 ) :( $2 )
format = x : z
# datapoints = 6
residuals are weighted equally ( unit weight )
function used for fitting : g ( x )
fitted parameters initialized with current variable values
Iteration 0
WSSR
: 21.1851
delta ( WSSR ) / WSSR
: 0
delta ( WSSR ) : 0
limit for stopping : 1e -05
lambda
: 402.364
initial set of free parameter values
a
= 32.2747
b
= 1.4257
After 6 iterations the fit converged .
final sum of squares of residuals : 7.49092
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
18 rel . change during last iteration : -1.40997 e -08
19 degrees of freedom
( FIT_NDF )
: 4
20 rms of residuals
( FIT_STDFIT ) = sqrt ( WSSR / ndf )
:
1.36848
21 variance of residuals ( reduced chisquare ) = WSSR / ndf
:
1.87273
22 Final set of parameters
Asymptotic Standard
Error
23 =======================
==========================
24 a
= 31.2783
+/ - 0.5109
(1.633%)
25 b
= 1.4359
+/ - 0.004443
(0.3094%)
26 correlation matrix of the fit parameters :
27
a
b
28 a
1.000
29 b
-0.975 1.000
30
31 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Tue Feb 5 10:17:28 2013
FIT :
data read from " grafico . pts " using ( $1 ) :( $2 )
format = x : z
# datapoints = 6
residuals are weighted equally ( unit weight )
function used for fitting : h ( x )
fitted parameters initialized with current variable values
Iteration 0
WSSR
: 4104.76
delta ( WSSR ) / WSSR
: 0
delta ( WSSR ) : 0
limit for stopping : 1e -05
lambda
: 158.054
initial set of free parameter values
c
= 38.839
d
= 0.96309
After 8 iterations the fit converged .
final sum of squares of residuals : 1380.79
rel . change during last iteration : -2.67689 e -08
degrees of freedom
( FIT_NDF )
: 4
rms of residuals
( FIT_STDFIT ) = sqrt ( WSSR / ndf )
:
18.5795
51 variance of residuals ( reduced chisquare ) = WSSR / ndf
:
345.197
52 Final set of parameters
Asymptotic Standard
Error
53 =======================
Atualizado em 3 de Julho de 2013
21
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
54
55
56
57
58
59
==========================
c
= 20.2854
+/ - 6.334
(31.23%)
d
= 1.42529
+/ - 0.1919
(13.46%)
correlation matrix of the fit parameters :
c
d
c
1.000
d
-0.988 1.000
A analise de ajustamento por r2 pode ser feita calculando, como a seguir para g(x) =
31.278 ∗ 1.4359 ∗ ∗x:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
octave :1 > x =1:6
x =
1
2
3
4
5
6
octave :2 > y =[47 ,65 ,92 ,132 ,190 ,275]
y =
47
65
92
132
190
275
octave :22 > g = @ ( x ) 31.278*1.4359.** x
g =
@ ( x ) 31.278 * 1.4359 .^ x
octave :28 > ye = g ( x )
ye =
44.912
64.489
92.600
132.965
274.147
octave :29 > num = sum (( y . - ye ) .^2)
num = 7.4909
octave :30 > den = sum ( y .^2) -( sum ( y ) ) ^2/6
den = 3.7114 e +04
octave :31 > 1 - num / den
ans = 0.99980
octave :32 >
190.924
A analise de ajustamento por r2 pode ser feita calculando, como a seguir para h(x) =
20.2854 ∗ x ∗ ∗1.42529:
1
2
3
4
5
6
7
8
9
10
22
x =
1
2
3
4
5
6
octave :2 > y =[47 ,65 ,92 ,132 ,190 ,275]
y =
47
65
92
132
190
275
octave :33 > h = @ ( x ) 20.2854.* x .**1.42529
h =
@ ( x ) 20.2854 .* x .^ 1.42529
octave :34 > ye = h ( x )
ye =
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
11
12
13
14
15
16
17
20.285
54.480
97.100
146.317
260.780
octave :35 > num = sum (( y . - ye ) .^2)
num = 1380.8
octave :36 > den = sum ( y .^2) -( sum ( y ) ) ^2/6
den = 3.7114 e +04
octave :37 > 1 - num / den
ans = 0.96280
201.103
(f) Utilizando o R ajuste os dados aos modelos propostos e analise o ajustamento.
Resposta: g(x) = 31.279 ∗ 1.436x e h(x) = 20.289 ∗ x1.425
O ajuste não-linear de um modelo pode ser feito utilizando o R de forma muito simples.
Apesar de bastante otimizado, este procedimento depende do número
de dados, do tipo de equação a ser ajustada e das estimativas iniciais
dos coeficientes, podendo não convergir satisfatoriamente em alguns
casos.
Consulte o resumo do R, tutoriais e manuais, para outros detalhes.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
> y < - c (47 ,65 ,92 ,132 ,190 ,275
+ );
> y
[1] 47 65 92 132 190 275
> x < - c (1 ,2 ,3 ,4 ,5 ,6)
> x
[1] 1 2 3 4 5 6
> dados < - data . frame (x , y )
> dados
x
y
1 1 47
2 2 65
3 3 92
4 4 132
5 5 190
6 6 275
> nls ( ’ y ~ a * b ** x ’ , data = dados , start = list ( a =32.2747 , b =1.4257) )
Nonlinear regression model
model : y ~ a * b ^ x
data : dados
a
b
31.279 1.436
residual sum - of - squares : 7.491
Number of iterations to convergence : 3
Achieved convergence tolerance : 1.06 e -06
> nls ( ’ y ~ a * x ** b ’ , data = dados , start = list ( a =38.839 , b =0.96309) )
Nonlinear regression model
Atualizado em 3 de Julho de 2013
23
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
29
model : y ~ a * x ^ b
30
data : dados
31
a
b
32 20.289 1.425
33
residual sum - of - squares : 1381
34
35 Number of iterations to convergence : 8
36 Achieved convergence tolerance : 4.802 e -06
Os parâmetros do modelo são g(x) = 31.279 ∗ 1.436x e h(x) = 20.289 ∗ x1.425
(g) Faça uma tabela comparativa com os valores dos parâmetros e r2 e um gráfico com
todos os modelos e os pontos originais.
Resposta: ...
O Tabela 2.2 apresenta os valores anteriormente obtidos:
Tabela 2.2: Comparativo de Ajustes
Modelo y = abx
Parâmetros
Mı́nimos Quadrados
y = 32.2747 ∗ 1.4257x
Gnuplot (Não linear) g(x) = 31.278 ∗ 1.4359x
R (Não linear)
f (x) = 31.279 ∗ 1.436x
Modelo y = axb
Parâmetros
Mı́nimos Quadrados
y = 38.839 ∗ x0.96309
Gnuplot (Não linear) h(x) = 20.2817 ∗ x1.42541
R (Não linear)
f (x) = 20.289 ∗ 1.425x
r2
0.99943
0.99980
r2
0.88940
0.96280
O gráfico da Figura 2.4 apresenta os modelos em questão.
2.3
Exercı́cios Propostos
1. Tarefa: funcao. Veja bibliografia FERREIRA, 1999. item 1.1.4, Pags 32-34 Exercı́cios: 6,
7, 8, 9, 11
2. Tarefa: linear. Veja bibliografia FERREIRA, 1999. item 1.2.3, Pags 40-42, Exercı́cios: 1, 2,
5, 6, 7, 8, 9, 10.
3. Tarefa: polinomial. Veja bibliografia FERREIRA, 1999. item 1.3.4, Pags 48-50 Exercı́cios:
1, 2, 3, 4, 5, 6.
4. Tarefa: racional. Veja bibliografia FERREIRA, 1999. item 1.4.3, Pags 57 Exercı́cios: 1, 2,
3, 4, 5.
5. Tarefa: exponencial1. Veja bibliografia FERREIRA, 1999. item 1.5.4, Pags 64-65 Exercı́cios:
1, 2, 3, 4, 5.
24
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
6. Tarefa: logarı́tmica. Veja bibliografia FERREIRA, 1999. item 1.6.4, Pags 71-72 Exercı́cios:
1, 2, 3, 4, 5, 7, 8, 11, 12, 13, 14, 15.
7. Tarefa: exponencial2. Veja bibliografia FERREIRA, 1999. item 1.7.3, Pags 79 Exercı́cios:
1, 2, 3, 4, 5, 6, 7, 8, 9.
8. Tarefa: potencia. Veja bibliografia FERREIRA, 1999. item 1.8.4, Pags 84-85 Exercı́cios:
1,2,3,4,5,6,7,8
Figura 2.4: Modelo y = abx
Atualizado em 3 de Julho de 2013
25
Capı́tulo 3
Derivada
Desenvolver conteúdo da seguinte bibliografia: [?]. Capı́tulo 02, item 2.1.1 até 2.1.3, 2.2.5 até
2.2.7, 2.6.1 até 2.6.4, 2.7.1 até 2.7.4.
3.1
Exercı́cios Resolvidos
A seguir descrevo os passos necessários para elaboração do estudo do comportamento de um
modelo.
Determine as caracterı́sticas do seguinte modelo: x3 − 3x + 1
1. Inserindo o modelo como variável máxima:
1 (% i1 ) f : x ^3 -3* x +1;
2
3 (% o1 )
3
x
- 3 x + 1
2. Definindo as raı́zes do modelo. Pontos que tocam o eixo x.
1 (% i2 ) allroots ( f ) ;
2 (% o2 ) [ x = 0.34729635533386 , x = 1.532088886237956 , x = 1.879385241571817]
3. Definindo pontos que tocam o eixo y. Para isto faço e peço o cálculo do valor de y numericamente.
1 (% i3 ) at (f , x =0) ;
2 (% o3 )
1
4. Determinando os pontos crı́ticos. Para isto preciso da derivada 1a de f. Coloco este cálculo
na variável der1f
1 (% i4 ) der1f : diff (f ,x ,1) ;
2
3 (% o4 )
2
3 x
26
- 3
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
5. Agora calculo as raı́zes de f 0 que serão meus pontos crı́ticos.
1 (% i5 ) allroots ( der1f ) ;
2 (% o5 )
[ x = 1.0 , x = - 1.0]
6. Pontos de máximo e mı́nimo. Para determiná-los preciso da derivada 2a de f.
1 (% i6 ) der2f : diff (f ,x ,2) ;
2 (% o6 )
6 x
7. Aplicando os pontos crı́ticos sabemos se serão máximo ou mı́nimo. Aplicando x = 1
1 (% i7 ) at ( der2f , x =1) ;
2 (% o7 )
6
8. Deu positivo, este ponto x = 1 é mı́nimo. Aplicando x = −1
1 (% i8 ) at ( der2f , x = -1) ;
2 (% o8 )
- 6
9. Deu negativo, este ponto x = −1 é máximo. A análise anterior me permite decidir que existe
uma concavidade em x = 1, para cima e uma em x = −1 para baixo.
10. O ponto de inflexão existe na raiz da derivada 2a , portanto.
1 (% i9 ) allroots ( der2f ) ;
2 (% o9 )
[ x = 0.0]
11. Agora que já calculamos todos os valores numéricos podemos esboçar o gráfico, Figura
3.1,usando o gnuplot.
12. O script que gerou o gráfico pode ser visto logo em seguida. Arquivo contendo o processamento do programa, Arquivo 3.1
1
2
3
4
5
6
7
8
9
10
11
12
Arquivo 3.1: mm roteiro arqs/grafico1.txt
# Exemplo de e s t u d o do comportamento de modelos
reset
#s e t term pop
set term png
set output ” g r a f i c o 1 . png”
set grid
set key r i g h t bottom t i t l e ’ Legenda ’ box 3
set xlabel ”x”
set ylabel ”y”
set t i t l e ” G r a f i c o modelo xˆ3−3x+1”
set l a b e l ” f , t o c a e i x o x” a t 1 . 0 5 , − 2 . 0 5 l e f t t e x t c o l o r r g b c o l o r ”
red ”
set arrow from 1 . 5 3 2 0 8 8 , 0 t o 1,−2
Atualizado em 3 de Julho de 2013
27
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Figura 3.1: Modelo x3 − 3x + 1
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
arrow from −1.879385 ,0 t o 1,−2
arrow from 0 . 3 4 7 2 9 6 , 0 t o 1,−2
l a b e l ” f , t o c a e i x o y” a t 0 . 0 7 , 3 l e f t t e x t c o l o r r g b c o l o r ” re d ”
arrow from 0 , 1 t o 0 . 0 5 , 3
l a b e l ”minimo de f ” a t 1 . 1 2 , 0 . 3 5 l e f t t e x t c o l o r r g b c o l o r ”
green ”
set arrow from 1 . 1 2 , 0 . 3 5 t o 1,−1
set l a b e l ”maximo de f ” a t −1 ,3.5 l e f t t e x t c o l o r r g b c o l o r ” g r e e n ”
set arrow from −1 ,3.5 t o −1,3
set l a b e l ” Ponto de i n f l e x a o de f ” a t − 0 . 1 3 , 0 . 3 6 r i g h t t e x t c o l o r \
rgbcolor ” blue ”
set arrow from − 0 . 1 3 , 0 . 3 6 t o 0 , 1
set xrange [ − 2 : 2 ]
set yrange [ − 7 : 5 ]
f ( x )=x∗∗3−3∗x+1
d e r 1 f ( x ) =3∗x∗∗2−3
set
set
set
set
set
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
28 d e r 2 f ( x ) =6∗x
29 plot f ( x ) t i t l e ”y=xˆ3−3x+1” , d e r 1 f ( x ) t i t l e ”y=3xˆ2−3” , d e r 2 f ( x )
\
30
t i t l e ”y=6x”
31 set output
Um quadro resumo pode facilitar o estudo do comportamento dos modelos:
3.2
Exercı́cios Propostos
1. Veja bibliografia FERREIRA, 1999. item 2.1.3, Pags 108 Exercı́cios: 1,2,3,4
2. Veja bibliografia FERREIRA, 1999. item 2.2.7, Pags 117 Exercı́cios: 3,4,5,6,7,8
3. Veja bibliografia FERREIRA, 1999. item 2.7.4, Pags 149 Exercı́cios: 3,4,5,6,7
Atualizado em 3 de Julho de 2013
29
Capı́tulo 4
Integral
Desenvolver conteúdo da seguinte bibliografia: [?]. Capı́tulo 3, item 3.1.1 até 3.1.4, 3.2.1 até 3.2.2,
3.4.1, 3.4.2, 3.5.1 até 3.5.4
4.1
Exercı́cios Resolvidos
4.2
Exercı́cios Propostos
1. Veja bibliografia FERREIRA, 1999. item 3.2.5, Pags 167-169 Exercı́cios: 2,3,4,5,6,7,8,9,10,11,12
2. Veja bibliografia FERREIRA, 1999. item 3.5.5, Pags 193-195 Exercı́cios: 1,2,3,4
30
Capı́tulo 5
Funções de 2 variável
Desenvolver conteúdo da seguinte bibliografia: [?]. Capı́tulo 4, item 4.1.1 até 4.1.2, 4.2.1 até 4.2.2,
4.3.1 até 4.3.3, 4.4.1 até 4.4.3, 4.5.1 até 4.5.3, 4.6.1 até 4.6.2, 4.7.1 até 4.7.2, 4.8.1 até 4.8.2, 4.9.1
até 4.9.4
5.1
Exercı́cios Resolvidos
Ferreira, 1999. Pag 266. Exemplo 1
1. Consideramos inicialmente que o custo para colocar uma quantidade de 20 litros de combustı́vel num automóvel dependia somente do preço deste produto. Pode-se entretanto tratar
esta situação de uma forma mais geral, considerando também a quantidade de litros um valor
qualquer. Pede-se:
(a) Determine o modelo matemático para esta situação.
Resposta: .
Considerando x (reais) o preço e y (litros) a quantidade de combustı́vel, o custo (reais)
para abastecer um automóvel depdenderá de x e y de forma diretamente proporcional.
O modelo fica:
z = f (x, y) = xy
(5.1)
(b) Determine um domı́nio para esta situação
Resposta: .
Neste caso x (preço) pode variar entre 0 ≤ x ≤ 1 para uma boa referência de cotação. a
quantidade y (litros) pode ser 0 ≤ y ≤ 60 pois um tanque médio cabe esta capacidade.
Assim o domı́no ficaria:
D = (x, y) ∈ R2 | 0 ≤ x ≤ 1, 0 ≤ y ≤ 60
(5.2)
(c) Determine o gráfico do modelo no domı́nio especificado.
Resposta: .
O gráfico da Figura 5.1 apresenta a seguinte imagem:
I = {z ∈ R | 0 ≤ z ≤ 60}
31
(5.3)
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
5.2
Exercı́cios Propostos
1. Veja bibliografia FERREIRA, 1999. item 4.3.4, Pags 230-231 Exercı́cios: 2,6,7,8
2. Veja bibliografia FERREIRA, 1999. item 4.4.4, Pags 238-239 Exercı́cios: 2,3,4,5,6
3. Veja bibliografia FERREIRA, 1999. item 4.5.4, Pags 244-245 Exercı́cios: 1,2,3,4,5,6,9
4. Veja bibliografia FERREIRA, 1999. item 4.7.3, Pags 254-255 Exercı́cios: 1,2,3,4,5,6
5. Veja bibliografia FERREIRA, 1999. item 4.8.4, Pags 263-264 Exercı́cios: 1,3,4,5,6,7
6. Veja bibliografia FERREIRA, 1999. item 4.9.5, Pags 272-273 Exercı́cios: 1,5,6
Figura 5.1: Modelo f (x, y) = xy
32
Atualizado em 3 de Julho de 2013
Parte III
Segunda Etapa do Curso
33
Capı́tulo 6
Taxa de Variação
Em construção...
6.1
Exercı́cios Resolvidos
Em construção...
6.2
Exercı́cios Propostos
Em construção...
34
Capı́tulo 7
Otimização
Em construção...
7.1
Exercı́cios Resolvidos
Em construção...
7.2
Exercı́cios Propostos
1. Desenvolver as tarefas da seguinte bibliografia: [?], item 2.7.4, pag 148, Exercı́cios: 8,9,10,11,14.
2. Considere um ponto A, que esta na praia na margem da água. Um navio está na água,
ortogonal a praia, e a 2 km do ponto A, ortogonalmente ao ponto A. O navio deseja entregar
um carga num depósito no ponto B, a 3 km de A, também na praia as margens da água. A
velocidade do navio é de 5 km/h e via terrestre o transporte é de 13 km/h.
Pede-se:
(a) Determine o ponto da praia que deve ser construı́do um porto para que a carga chegue
ao depósito no tempo mı́nimo. Considere desprezı́vel demais tempos.
3. Uma folha de aço de 10 metros de comprimento e 4 metros de largura é dobrada ao meio, na
largura, para fazer um canal em forma de V de 10 metros de comprimento. Veja Figura 7.1.
Considere sen(2a) = 2sen(a)cos(a) em que a é um ângulo. Outras relações trigonométricas
você pode consultar seu formulário.
Pede-se:
(a) Determine a distância entre as margens do canal, para que este tenha área máxima na
seção V de fluxo.
4. Você foi contratado por uma empresa de estocagem de resı́duos sólidos. A empresa dispõe
de uma lámina de aço medindo 8 m de largura e 15 m de comprimento. Desta lâmina serão
cortados quadrados iguais de cada canto. O objetivo é produzir um ”conteiner”sem tampa,
virando os lados da lâmina para cima, após o corte dos quadrados
Pede-se:
35
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Figura 7.1: Esquema do canal
(a) Determine o comprimento dos lados dos quadrados que devem ser cortados para a
produção de um conteiner de volume máximo.
(b) Qual o volume nestas condições.
5. Uma piscina tem o formato da junção de um retângulo com um único semi-cı́rculo numa
extremidade. Sem paredes internas na junção.
Pede-se:
(a) Determine as dimensões da piscina de área máxima, se o perı́metro é de 12 metros.
Não se preocupe com a altura da piscina, o volume não será considerado.
6. Um tanque, em aço na forma cilindrica e sem tampa, usado para armazenamento tem volume
de 5 m3 .
Pede-se:
(a) Determine as dimensões do tanque de modo a definir a quantidade mı́nima de material
para sua fabricação.
7. Considere dois numeros reais positivos cuja soma é 70.
Pede-se:
(a) Determine estes dois numeros tal que seu produto seja o maior possivel.
8. Um tanque cônico, sem tampa, tem capacidade de 1000 m3 .
Pede-se:
(a) Determinar as dimensões do tanque que minimiza a quantidade de aço usada na sua
fabricação.
9. Considere a seguinte parábola y = 12 − x2
Pede-se:
36
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
(a) Determinar a área do retângulo máximo, com base no eixo dos x e vértices superiores
sobre a parábola.
10. Uma reta passando por (1,2) corta o eixo dos x em A(a,0) e o eixo dos y em B(0,b).
Pede-se:
(a) Determine o triângulo AOB de área mı́nima para a e b positivos.
11. Um cartaz deve conter 50 cm2 de matéria impressa com duas margens de 4 cm cada, na
parte superior e na parte inferior e duas margens laterais de 2cm cada.
Pede-se:
(a) Determine as dimensões externas do cartaz de modo que sua área total seja mı́nima.
12. Deseja-se construir um tanque de forma circular, com volume igual a 125πm3 .
Pede-se:
(a) Determine as dimensões de modo que o tanque possa ser construı́da com a menor
quantidade de material possı́vel.
13. Vamos supor que dispomos de uma folha de papelão na forma quadrada, medindo 20cm de
lado.
Pede-se:
(a) Vamos procurar saber qual a forma ótima para uma caixa quadrada, isto é, a que utiliza
volume máximo.
(b) Agora determine que volume ótimo a caixa deve ter para que com o resto se possa fazer
uma tampa para a caixa.
14. Considere a curva xy = 1.
Pede-se:
(a) Determine os pontos desta curva mais próximos da origem.
15. Considere uma esfera de raio a.
Pede-se:
(a) Calcule as dimensões de um cone circular de volume máximo que pode ser inscrito nesta
esfera.
Atualizado em 3 de Julho de 2013
37
Capı́tulo 8
Equações Diferenciais
Em construção...
8.1
Exercı́cios Resolvidos
Em construção...
8.2
Exercı́cios Propostos
1. Desenvolver as tarefas da seguinte bibliografia: [?], item 2.7.4, pag 148, Exercı́cios: 8,9,10,11,14.
2. Um pequeno lago contém, inicialmente, 1.000.000 de galões (aprox 4.550.000 litros) de água e
uma quantidade desconhecida de produto quı́mico indesejável. O lago recebe água contendo
0,01 grama dessa substancia por galão a uma taxa de 300 galões por hora. A mistura sai
à mesma taxa, de modo que a quantidade de água no lago permanece constante. Suponha
que o produto quı́mico está distribuı́do uniformemente no lago.
Pede-se:
(a) A equação diferencial cuja solução é a quantidade de produto quı́mico no lago em um
instante qualquer.
(b) Qual a quantidade de produto quı́mico que estará no lago após um perı́odo muito longo
de tempo?
(c) Esta quantidade-limite, obtida em (b), depende da quantidade presente inicialmente ?
3. Uma gota esférica de chuva evapora a uma taxa proporcional à sua área de superfı́cie.
Pede-se:
(a) Qual a equação diferencial para o volume de uma gota de chuva em função do tempo.
4. Considere um objeto em queda.
Pede-se:
(a) Fazendo as devidas restrições elabora uma equação diferencial para esta situação.
38
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
5. Considere que existem ratos do campo em uma região rural, e seu predadores naturais as
corujas. Considere que as corujas matam em média m ratos por mês, e a reprodução tem
uma taxa r.
Pede-se:
(a) Fazendo as devidas restrições elaborar uma equação diferencial para esta situação.
6. Um determinado remédio esta sendo injetado na veia de um paciente de hospital. O lı́quido,
5mg
100cm3
.
contendo
do
remédio,
entra
na
corrente
sanguı́nea
do
paciente
a
uma
taxa
de
cm3
h
O remédio é absorvido pelos tecidos do corpo, ou deixa a corrente sanguı́nea de outro modo,
a uma taxa proporcional à quantidade presente, com um coeficiente de proporcionalidade
4mg
igual a
.
h
Pede-se:
(a) Supondo que o remédio está sempre sendo distribuı́do uniformemente na corrente
sanguı́nea, escreva uma equação diferencial para a quantidade de remédio presente
na corrente sanguı́nea em qualquer instante de tempo.
(b) Quanto de remédio continua presente na corrente sanguinea após muito tempo ?
Atualizado em 3 de Julho de 2013
39
Parte IV
Administração da Disciplina
40
Capı́tulo 9
Procedimentos de avaliação
Com o intuito de esclarecer e evitar alguns problemas sobre o procedimento de avaliação, seguem
algumas regras que DEVEM ser seguidas.
9.1
Divisão do conteúdo e quantidade de avaliações
1. A disciplina será divida em 2 etapas. O conteúdo e as avaliações serão ministradas em 8
encontros e a prova em 1 encontro, totalizando 9 encontros por etapa e 18 encontros no total.
O 19o encontro será para aplicação de provas de reposição e o 20o encontro para prova de
exame final.
2. A avaliação do desempenho do aluno dar-se-á por etapa, sendo que em cada etapa teremos
um conjunto de trabalhos e uma prova, com pesos conforme Equação 9.1 a 9.4. Todas as
atividades valem 1 ponto bem como a sua totalização. Sendo este valor convertido para a
nota na grandeza que a universidade desejar.
9.2
Preparação da sala para a prova
3. As avaliações serão realizadas em sala com computadores. Podendo haver modificação de
sala para realização da prova, devendo o aluno ficar atendo ao moodle onde será publicada
a nova sala para avaliação.
4. A computador onde o aluno deverá realizar a prova será decidida pelo professor. Durante a
prova o aluno poderá ser modificado de computador sem prêvio aviso.
5. Para inı́cio da prova os alunos devem portar apenas roupa pessoal, borracha, grafite, caneta,
régua. Os demais objetos devem ser deixados dentro da bolsa na frente da sala.
6. Caso o aluno esteja portando blusa, a mesma deve estar sendo usada, senão deve deixar
na frente da sala. Qualquer outro objeto eletrônico deverá ser deixado dentro da bolsa e
desligado. O aluno não terá acesso a sua bolsa durante a realização da prova, caso o alarme
ou outros sinais sonoros aconteçam durante a prova o aluno não poderá ter acesso a seu
objeto para manuseio. O aluno deve também certificar de que não esta de posse de nenhum
41
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
outro papel, material ou objeto senão os autorizados. Acarretará o cancelamento da prova
de todos os alunos, mesmo que um aluno esteja portanto os objetos especificados neste item,
quer seja por esquecimento ou outro motivo.
7. Como alimento durante a prova somente será autorizado o uso de água em recipiente transparente. Portanto o aluno deverá efetuar um adequado desjejum antes do inı́cio da prova.
Que terá duração de 200 minutos.
8. O acesso ao banheiro esta restrito a casos necessários. Sendo a liberação feita pelo professor
e não pela vontade própria do aluno. Devendo o aluno sempre cientificar o professor de sua
saı́da e chegada.
9. O aluno deve ligar o computador, escolher o sistema operacional Linux. Acessar a conta
prova. Verificar se o ı́cone de conexão com a internet esta habilitado. Verificar o funcionamento dos softwares necessários que são: R, Gnuplot, Octave, Máxima, Terminal, Navegador
de arquivos e editor de texto. Aguardar instruções de inı́cio da prova. Preparar as pastas e
arquivos básicos para a resposta da prova.
9.2.1
Estrutura da prova:
10. O aluno dispõe de 1 encontro, 200 minutos, para resolução da prova. O professor poderá
liberar todas as questões da prova ou liberar a questão (n+1) somente após término da n,
sendo n=1,2,... . Para isto o aluno deve controlar individualmente o tempo de resolução de
cada questão, bem como o tempo total.
11. A prova terá peso 9 e o trabalho peso 1, em cada etapa correspondente.
12. Será fornecido apenas uma folha A4 como rascunho.
13. A prova e todo material de apoio a prova, tal como resumos, formulário de cálculo numérico
(será usado o padrão adotado na disciplina de cálculo numérico, portanto o aluno deve se
familiarizar com o texto) ou outros. Serão fornecidos somente no formato digital, padrão
PDF.
14. A prova consta basicamente do desenvolvimento de um problema matemático utilizando o
conhecimento constante na bibliografia ou visto em sala de aula, ou aplicação destes.
15. Para as provas desenvolvidas em sala de computadores, os softwares (Linux, Gedit, R, Octave, Maxima e GnuPlot) deverão ser usados como auxı́lio no processamento dos dados para
resposta dos exercı́cios. O aluno deverá unir desenvolvimento manual com desenvolvimento
digital. Os passos para desenvolvimento digital ou manual devem permitir o professor entender a origem das variáveis e valores, sem constar conteúdo desnecessário, para isto o aluno
deve copiar todas as saidas e constá-las em relatório de texto puro.
16. Somente serão aceitas resposta com base na análise gráfica quando for expressamente pedido
a análise restrita via gráfico.
42
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
17. A prova poderá ser desenvolvida de forma digital e manual. O desenvolvimento deve ser
detalhado permitindo a reconstrução da solução pelo professor. As respostas deverá ser
expressas, letra a letra, com um texto que expressa com clareza a resposta daquela letra.
18. A prova vale 1, cada exercı́cio vale 1, subdividindo este valor por cada letra do exercı́cio.
19. A resolução do exercı́cio, e a obtenção da nota da mesma, se dá pela elaboração completa
e conjunta de todos os cálculos em cada passo, apresentando-os de forma clara, coerente,
didática, explicativa, organizada, legı́vel e detalhada. Não serão consideradas frações de
cálculo ou desenvolvimento como atendimento a nota do exercı́cio. A nota compõe-se da
coerência de todos os cálculos envolvidos no exercı́cio e não somente do resposta final. E o
aluno não deve presumir que a escrita de algarismos soltos na folha/arquivo, ou pedações
desconectos de forma digital, irá justificar o desenvolvimento e a resposta ao exercı́cio.
20. Deverão ser utilizada 4 casas decimais, com números diferentes de zero, ou em notação
cientı́fica neste caso, para todos os cálculos. O erro relativo máximo permitido entre o valor
do gabarito e o valor fornecido na resolução é de 0.01%.
21. O professor receberá a prova pessoalmente de cada aluno, somente se todas as informações
solicitadas na prova estiverem preenchidos. Podendo o aluno sair de sala somente após
liberação do professor, o abandono da prova em sala caracteriza desistência da mesma e será
arrolada testemunha para tais ações.
9.2.2
Estrutura do trabalho
22. O trabalho corresponde a resolução de um conjunto de tarefas, e seus exercı́cios, que serão
aplicadas em sala ou via moodle, com prazo de entrega ao finalizar a etapa corrente, e
avaliadas de forma individual.
23. Será solicitada a resolução manual e digital, utilizando exclusivamente os recursos computacionais vistos na disciplina que são o Linux, gedit, R, Octave, Maxima e GnuPlot;
24. A tarefa deve ser conferida com outros dois colegas para assim havendo dúvida solicitar
discussão do tema em sala de aula.
25. O valor de cada tarefa vale 1 e o valor total do trabalho vale 1. Somente serão pontuadas
tarefas entregues completas.
9.2.3
Outras disposições:
26. As provas ficarão com o professor, a disposição do aluno, para revisões de nota em data a
ser definida com o professor. Após este perı́odo estas atividades serão arquivadas. Exceto o
exame final, que ficará na Secretaria Acadêmica do Curso.
27. O professor a todo momento poderá revisar as notas lançadas, até o fechamento do diário
no final do semestre.
Atualizado em 3 de Julho de 2013
43
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
28. O aluno deverá assinar lista de presença em sala de aula e no atendimento a alunos no
perı́odo programado, como comprovação de sua presença naquela atividade.
29. As regras previstas no capı́tulo Elaboração de Tarefas,Capı́tulo 10 serão adotadas como
referência para todas as tarefas: sejam elas provas, trabalhos, projetos, questões, exercı́cios
etc; desenvolvidas durante o curso. Somente sendo considerados para correção as tarefas
que estiverem de acordo com estas regras.
30. A administração da disciplina será feita somente via moodle ou link relacionado neste. Será
utilizado planilha eletrônica, para cálculo de notas e médias, sem interferência subjetiva nas
notas ou casas decimais. No diário a nota 1 corresponde a nota da etapa 1, idem para
nota 2. O lançamento da nota será conforme padrão daquele sistema, uma casa decimal,
arredondados conforme planilha. Na correção das provas e trabalhos as notas valem de zero
a um, com duas casas decimais, conforme as equações a seguir:
Pn
N otaT aref ai
(9.1)
N otaT rab = i=1
n
Pn
N otaQuestaoi
N otaP rova = i=1
(9.2)
n
N otaT rab ∗ P esoT rab + N otaP rova ∗ P esoP rova
P
N otaEtapa =
(9.3)
(P esoT rab + P esoP rova)
N otaF inal = N otaEtapa ∗ 10
(9.4)
31. O exame final, que envolve toda a matéria, tem os mesmos procedimentos de uma etapa,
sem a atividade de trabalho.
32. A solicitação para reposição de provas seguirá os trâmites da Secretaria Acadêmica do Curso,
SAC, e será analisadas de acordo com cada caso pelo professor. Sendo marcada uma única
data para realização destas atividades.
33. Todas as atividades da disciplina como aulas, trabalhos e provas, estão previamente agendados e são apresentados aos alunos no primeiro dia de aula. E constam do roteiro da
disciplina.
34. A mudança de qualquer compromisso requer concordância unânime dos alunos, disponibilidade de sala e disponibilidade do professor. O pedido de alteração de deve ser feito por
escrito e em tempo hábil para estas mudanças.
35. As provas podem ser alteradas apenas uma vez da data da inicialmente prevista no inı́cio
do curso.
36. As notas serão divulgadas via moodle, logo após a realização das correções que poderá
ocorrer mesmo depois da realização da prova seguinte. Sendo que as provas que estiverem
com dificuldade de interpretação serão corrigidas por último. O aluno não deve presumir
que deve ter acesso a nota anterior para realização de uma prova seguinte na agenda de
avaliações.
Quaisquer outros procedimentos não previstos neste texto serão resolvidos pelo professor e
atualizados.
44
Atualizado em 3 de Julho de 2013
Capı́tulo 10
Elaboração das Tarefas
10.1
Introdução
Uma disciplina é composta basicamente da ministração/apresentação de conteúdo teórico e desenvolvimento de atividades para fixação e ampliação destes conteúdos.
O Moodle referencia qualquer atividade da disciplina (exercı́cios, trabalhos, provas) como
tarefa, o que será seguido nestas orientações.
Utilizaremos o software OCTAVE como base de todo nosso processamento matemático numérico.
Quando necessário por questão de especialidade usaremos também os softwares Maxima, para
cálculos algébricos. O R para análise estatı́stica e o GnuPlot para geração de gráficos. Em todas
as nossas tarefas utilizamos arquivos de texto puro e imagens no formato png.
Uma tarefa tem um nome especificado por mim e uma lista de ”Exercı́cios”que são: questões
a resolver oriundos de diversas fontes; numeradas assim 1,2,... . E o que se deseja deste exercı́cio
no item ”Pede-se”numeradas assim (a),(b),... .. Que devem ser respondidas no relatório manual
ou digital individualmente em cada letra.
10.2
Tarefa exemplo
Considere que foi proposto uma tarefa ao aluno de nome Fulano Ferreira da Silva, cujo nome usado
na disciplina é Fulano. Esta tarefa será desenvolvida como exemplo para disciplina de Modelagem
Matemática:
10.2.1
Tarefa: ajustemodelo
Atividade:
1. Considere os valores da Tabela 10.1 de um experimento onde y=f(x).
Pede-se:
(a) Apresente o gráfico dos dados originais
(b) Determine um modelo polinomial de 1 grau, para os pontos dados.
(c) Apresente o gráfico dos dados originais e do modelo
(d) Calcule a raiz deste modelo.
45
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Tabela 10.1:
x
1.3
3.4
5.1
6.8
8
Experimento
y
2
5.2
3.8
6.1
5.8
(e) Calcular o coeficiente ajustamento do modelo obtido.
2. Veja livro do Barroso, pag 335, exemplo 7.5.
O desenvolvimento completo desta tarefa será apresentado a seguir.
Veja que esta tarefa, chamado de ”ajustemodelo”tem 2 exercicios. Um ”exercicio1”constante
na lista de tarefas. Um ”exercicio2”que aponta para determinado livro usado na disciplina.
10.3
Resolução digital
Primeiramente deverá ser criado uma pasta no seu computador para armazenar o desenvolvido na
tarefa. Veja estrutura de pastas no item 10.3.1 e relação de arquivos no item 10.3.2
Note que cada exercı́cio vem numa pasta separada.
Não use acento ou espaço em nome de arquivos ou pastas.
10.3.1
Estrutura de pastas
A resolução digital de cada exercı́cio da tarefa deverá ser composta dos seguintes arquivos do tipo
texto puro. A estrutura de pastas padrão das disciplinas é:
1 / home / suaconta / uft /
2 | - - modmat
3
| - docs
4
‘-- tarefas
5
| - - mm_fulano_ajustemodelo
6
|
| - - exercicio01
7
|
|
| - - [ arquivos do GNUPLOT , quando necess á rio .]
8
|
|
| - - [ abrir terminal com MAXIMA , quando necess á rio ]
9
|
|
| - - [ abrir terminal com OCTAVE , quando necess á rio ]
10
|
|
| - - [ abrir terminal com R , quando necess á rio .]
11
|
|
‘-- relatorio01 . txt
12
|
‘-- exercicio02
13
‘-- mm_fulano_ajustemodelo . zip
10.3.2
Relação de arquivos básicos por exercı́cio
Com exceção do relatório todos os arquivos básicos estão associados a um softwares adotado,
conforme Tabela 10.2 a seguir:
46
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Não use acento ou espaço em nome de arquivos ou pastas.
Software
nenhum
MAXIMA
GNUPLOT
OCTAVE
R
Tabela 10.2: Arquivos padrões em cada software
Arquivo
Descrição
relatorio01.txt Arquivo de texto puro que contém o desenvolvimento detalhado
de todos os passos para elaboração do exercı́cio. Com parte de
desenvolvimento e resposta separado letra a letra. Exceto para
disciplina Informática das Engenharias.
Não tem
As saı́das e entradas deste programa são todas salvas no relatório
com o uso do copiar do terminal e colar no relatório.
graficoA.txt
Arquivo de texto puro que contém o script do gráfico. A letra
”A”refere-se a letra que esta sendo respondida. O número ”1”é a
contagem de gráficos, caso necessário.
pontosA.txt
Arquivo de texto puro que armazena os pontos necessários para
a criação do gráfico. A letra ”A”refere-se a letra que esta sendo
respondida. O número ”1”é a contagem de gráficos, caso necessário.
graficoA.png
Contém o gráfico, em formato png, necessário a resolução do
exercı́cio. A letra ”A”refere-se a letra que esta sendo respondida.
O número ”1”é a contagem de gráficos, caso necessário.
interface.m
Arquivo de texto puro que contém a interface com o usuário para
uso da função processamento.
ajustemodelo.m Arquivo de texto puro que contém a função processamento pura de
solução do problema. Esta função não deve de forma alguma ler
dados do teclado ou emitir mensagens em vı́deo.
entrada.txt
Arquivo de texto puro que armazena a entrada de dados. Existe
um formato padronizado na disciplina.
saida.txt
Arquivo de texto puro que armazena a saı́da de dados. Existe um
formato padronizado na disciplina.
graficoA1.png Contém o gráfico, em formato png, necessário a resolução do
exercı́cio. A letra ”A”refere-se a letra que esta sendo respondida.
O número ”1”é a contagem de gráficos, caso necessário.
analiseA.sr
Arquivo de texto puro que contém o script de análise, detalhando
todos os passos para elaboração da solução do exercı́cio. A letra
”A”refere-se a letra que esta sendo respondida. O número ”1”é a
contagem de gráficos, caso necessário.
dadosA.txt
Arquivo de texto puro que contém os dados de entrada necessários
para análise estatı́stica. A letra ”A”refere-se a letra que esta sendo
respondida. O número ”1”é a contagem de dados, caso necessário.
resultadosA.txt Contém os resultados da análise estatı́stica. A letra ”A”refere-se
a letra que esta sendo respondida. O número ”1”é a contagem de
resultados, caso necessário.
graficoA.png
Contém a figura, gráfico, em formato png, necessário a resolução do
exercı́cio. A letra ”A”refere-se a letra que esta sendo respondida.
O número ”1”é a contagem de gráficos, caso necessário.
Atualizado em 3 de Julho de 2013
47
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
O exercicio2 que é o ”exemplo7.5”do referido livro, terá os mesmos arquivos com o conteúdo
necessário para a resolução daquele exercı́cio.
O arquivo ”relatorio.txt”reunirá todas as informações do desenvolvimento do exercı́cio. Quando
eu for consultá-lo terei um entendimento claro do que você quis fazer, de quais ferramentas utilizou
e das manipulações matemáticas necessárias ao desenvolvimento do exercı́cio. Vendo claramente
o desenvolvimento e a resposta. Usando arquivo digital, vc apenas usará um arquivo por questão,
com todas as letras necessárias.
1
2
3
4
5
6
7
8
9
10
11
12
13
Mod . Mat . - Prova 01 - Fulano Ferreira da Silva - folha 1 -2
############################################################
Exercicio 01 - LETRA A
############################################################
DESENVOLVIMENTO :
Neste item voc e
^ desenvolve toda a resolu ç ~
a o da referida letra do
exerc ı́ cio
RESPOSTA :
Ao final voc e
^ DEVE escrever um texto claro como resposta da letra
em desenvolvimento , citando os valores num é ricos , vari á veis e
unidades necess á rias para composi ç ~
a o da resposta .
############################################################
Exercicio 01 - LETRA B
############################################################
DESENVOLVIMENTO :
.....
Considere o retangulo a seguir como a segunda folha A4 utilizada na resolução da tarefa.
1
2
3
4
5
6
7
Mod . Mat . - Prova 01 - Fulano Ferreira da Silva - folha 2 -2
############################################################
continua ç a
~ o do Exercicio 1 - Letra B .
############################################################
....
RESPOSTA :
...
A seguir apresento os arquivos necessários ao desenvolvimento da tarefa exemplo para a disciplina de Modelagem Matemática.
Arquivo contendo o relatório geral do exercicio, Arquivo 10.1
Arquivo 10.1: mm fulano ajustemodelo/exercicio1/relatorio.txt
Mod . Mat . - Prova 01 - Fulano Ferreira da Silva
############################################################
Exercicio 01 - LETRA A
############################################################
D:
Veja script graficoA1 . txt .
1
2
3
4
5
6
7
8 R:
48
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Veja gr á fico graficoA1 . png .
############################################################
Exercicio 01 - LETRA B
############################################################
D:
octave :1 > vx =[1.3 ,3.4 ,5.1 ,6.8 ,8.0]
vx =
1.3000
3.4000
5.1000
6.8000
octave :3 > vy =[2.0 ,5.2 ,3.8 ,6.1 ,5.8]
vy =
8.0000
2.0000
5.2000
octave :7 > v1 (5) =1
v1 =
5.8000
0
0
0
0
3.8000
6.1000
1
octave :8 > v1 (:) =1
v1 =
1
1
1
1
1
octave :9 > mX =[ v1 ’ , vx ’]
mX =
1.0000
1.0000
1.0000
1.0000
1.0000
1.3000
3.4000
5.1000
6.8000
8.0000
octave :10 > mY =[ vy ’]
mY =
2.0000
5.2000
3.8000
6.1000
5.8000
octave :15 > mNX = mX ’* mX
mNX =
5.0000
24.6000
24.6000
149.5000
Atualizado em 3 de Julho de 2013
49
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
octave :16 > mNY = mX ’* mY
mNY =
22.900
127.540
octave :17 > mc = mNX ** -1* mNY
mc =
2.00974
0.52241
R:
O modelo é y =2.00974+0.52241* x
############################################################
Exercicio 01 - LETRA C
############################################################
D:
Veja script graficoC1 . txt .
R:
Veja gr á fico graficoC1 . png .
############################################################
Exercicio 01 - LETRA D
############################################################
D:
(% i1 ) allroots (2.00974+0.52241* x , x ) ;
(% o1 )
[ x = - 3.847054995118776]
(% i2 )
R:
A ú nica raiz do modelo é x = -3.8470
############################################################
Exercicio 01 - LETRA E
############################################################
D:
> dados < - read . table ( file =" dadosA1 . txt " , head = T ) ;
> eqreg < -" y ~ x "
> coefreg < - lm ( eqreg , data = dados )
> summary ( coefreg )
50
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
Call :
lm ( formula = eqreg , data = dados )
Residuals :
1
2
3
-0.6889 1.4141 -0.8740
4
5
0.5379 -0.3890
Coefficients :
Estimate Std . Error t value Pr ( >| t |)
( Intercept )
2.0097
1.1349
1.771
0.1747
x
0.5224
0.2075
2.517
0.0864 .
--Signif . codes : 0 ’ *** ’ 0.001 ’ ** ’ 0.01 ’ * ’ 0.05 ’ . ’ 0.1 ’ ’ 1
Residual standard error : 1.107 on 3 degrees of freedom
Multiple R - squared : 0.6787 ,
Adjusted R - squared : 0.5715
F - statistic : 6.336 on 1 and 3 DF , p - value : 0.08639
R:
O r ^2 ou coeficiente de ajustamento é 0.6787
Arquivo contendo os pontos para o gráfico da letra A, Arquivo 10.2
Arquivo 10.2: mm fulano ajustemodelo/exercicio1/pontosA1.txt
1 #x
2
3
4
5
6
y
1.3000
3.4000
5.1000
6.8000
8.0000
2.0000
5.2000
3.8000
6.1000
5.8000
Arquivo contendo o script do gráfico da letra A, Arquivo 10.3 e Figura 10.1
1
2
3
4
5
6
7
8
9
10
Arquivo 10.3: mm fulano ajustemodelo/exercicio1/graficoA1.txt
# Comentario
reset
set term p n g c a i r o
set output ’ g r a f i c o A 1 . png ’
set grid
set key o u t s i d e c e n t e r bottom t i t l e ’ Legenda ’
set t i t l e ” G r a f i c o A1 − Pontos ”
set xlabel ”x”
set ylabel ”y”
plot ” pontosA1 . t x t ” using ( $1 ) : ( $2 ) t i t l e ” Pontos ” with p o i n t s l t 3 l c
3
Arquivo contendo o script do gráfico da letra C, Arquivo 10.4 e Figura 10.2
Atualizado em 3 de Julho de 2013
51
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Figura 10.1: Grafico da letra A
1
2
3
4
5
6
7
8
9
10
Arquivo 10.4: mm fulano ajustemodelo/exercicio1/graficoC1.txt
# Comentario
reset
set term p n g c a i r o
set output ’ g r a f i c o C 1 . png ’
set grid
set key o u t s i d e c e n t e r bottom t i t l e ’ Legenda ’
set t i t l e ” G r a f i c o C1 − Pontos e Modelo ”
set xlabel ”x”
set ylabel ”y”
plot 2 . 0 0 9 7 4 + 0 . 5 2 2 4 1 ∗ x t i t l e ” Modelo y =2.00974+0.52241∗ x” , ” pontosA1 .
t x t ” using ( $1 ) : ( $2 ) t i t l e ” Pontos ” with p o i n t s l t 4 l c 3
Arquivo contendo os dados para a análise estatı́stica com o R, Arquivo 10.5
Arquivo 10.5: mm fulano ajustemodelo/exercicio1/dadosA1.txt
1 x y
2
1.3000
3
3.4000
4
5.1000
5
6.8000
6
8.0000
52
2.0000
5.2000
3.8000
6.1000
5.8000
Atualizado em 3 de Julho de 2013
Prof. Dr. Catalunha - Roteiro Modelagem Matemática
Figura 10.2: Grafico da letra A
Atualizado em 3 de Julho de 2013
53
Capı́tulo 11
Formulários e Softwares
O uso do formulário do Octave, Gnuplot, R, Máxima, Linux, Cálculo Numérico e de Modelagem
Matemática é de extrema importância em todas as atividades, inclusive nas provas, então estude
pelo livro mas resolva os exercı́cios usando apenas os formulários.
Apenas o formulário de modelagem matemática é desenvolvido pelos próprios alunos em cada
etapa e deve ser usada também no exame final. Será aceito apenas um formulário, e não um
individual.
Os formulários são apresentados em anexo.
Segue também um roteiro para instalação do linux e softwares de apoio.
Quaisquer outras orientações neste item serão atualizadas e informadas aos alunos.
54
Linux
Este material é um auxílio de consulta rápida, o conhecimento aqui
apresentado deve ser fundamentado pelas atividades de aula e principalmente
pelas bibliografias fornecidas. Cada disciplina demanda parte do
conhecimento aqui resumido, devendo o aluno estar apto a distingui-la.
1) Terminal
1.1) Comando básicos no terminal Linux. Maiores informações podem se obtidas
em “man [comando]”.
COMANDO BÁSICO
DESCRIÇÃO RESUMIDA
cd pasta/
vai ao caminho especificado.
cd ..
acessa pasta anterior
ls
lista resumida dos arquivos
ls -la
lista todos os arquivos com todas as informações
pwd
lista o caminho atual
clear
limpa o terminal
eog arq.png
aplicativo para abrir arquivo de imagem png
mv arq1 arq2
renomear arquivos
cp -fr arq1 pasta/
copiar arquivo para outra pasta
rm -fr arq pasta/
remove arquivo ou pasta completo
vim arq
editar arquivo
mkdir pasta
criar pasta
find . -name '*nome*'
procura por pasta ou arquivo abaixo da pasta atual
grep -rin 'texto' ./*
Procura texto dentro de arquivos abaixo da pasta atual
1.2) Simbolos usados no terminal. Geralmente vemos esta linha
NomeDaConta@NomeDoComputador:~$
@ : separa nome da conta e nome do computador.
~ : indica pasta do usuário atual, geralmente: /home/NomeDaConta
$ : indica que o usuário atual não é administrador do sistema.
3) Editor de Textos - gedit
3.1) Na ilustração:
A = Os arquivos devem ser criados via gerenciador de arquivos, Nautilus. E
abertos com clique duplo ou via menu suspenso (Botão direito do mouse) abrir
com gedit. Não crie novo arquivo ou abra arquivo via gedit. Isto agiliza seu
trabalho.
B = Abra todos os arquivos de texto necessários a tarefa, neste editor.
C = Ative a numeração das linhas via menu do gedit (Edit > Preferences > View >
Line Number).
D = Selecione as linhas com o mouse ou com a tecla [CTRL]+[Setas de Direção] e
use a tecla [TAB] para tabular para direita e [SHIT]+[TAB] para tabular a esquerda
E = Verifique se o identificador de sintaxe esta correto, isto ajuda na visualização
colorida do texto.
F = A tabulação deve estar sempre em 2. Via menu do gedit (Edit > Preferences >
View > Editor) selecione a opção substituir tabulação por espaço e endentação
automática.
1.3) Na ilustração
A = Comando básico conforme item 1.1
B = Acessar pasta da tarefa via terminal, ou pode ser via gerenciador de arquivos,
Nautilus.
C = Use o terminal apenas para acesso aos programas gnuplot, octave, maxima e r
D = Abra cada um dos programas em uma aba separada.
2) Gerenciador de Arquivos – Nautilus
2.1) Um dos Gerenciadores de Arquivos do linux é o Nautilus. Quando
selecionamos uma pasta, arquivo ou área vazia, sempre na janela a direita,
podemos via menu suspenso (Botão direito do mouse) encontrar diversos
comandos para manipulação, confira.
2.2) Na ilustração
A = Selecione a opção sempre de visualizar arquivos em árvore ou “tree”
B = Crie as pastas via menu suspenso (Botão direito do mouse)
C = Crie as arquivos via menu suspenso (Botão direito do mouse)
D = Acesso ao terminal direto na pasta da tarefa via menu suspenso (Botão direito
do mouse)
Resumo Linux. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:24 hs
Página 1 de 2
4) ssh
+++++++++++++++++++++++++++++++++++++++++
#Acessar servidor
local$ ssh [email protected]
?fornecer senha?
----------------------------
5) scp
+++++++++++++++++++++++
# copiar arquivo unico
local$ scp tabela.sql [email protected]:/home/catalunha/
?fornecer senha?
---------------
$ vim fazqqcoisa.sh
Permitir execução
$ chmod +x fazqqcoisa.sh
Adicionar script a tabela do cron do usuario atual
$ crontab -e
/* edita arquivo do crontab de acordo com as conf ig de tempo do cron para
execução do script, exemplo para executar a todo minuto: */
* * * * * catalunha sh
/home/usuario/script-cron/fazqqcoisa.sh
Ver tabela do cron
crontab -l
6) lftp
9) Script Shell
#Acessar servidor de paginas
local$ lftp
lftp :~> open -u engambiental cajui.uft.edu.br
lftp [email protected]:/>
$ vim rsync-php.sh
#!/bin/bash
# acesso a pastas e listagem
lftp [email protected]:/> ls
lftp [email protected]:/> cd pasta
lftp [email protected]:/pasta> cd ..
# remover arquivos
lftp [email protected]:/> mrm -rf *
# remover arquivos
lftp [email protected]:/> mrm -rf nomearq.txt
# remover pastas
lftp [email protected]:/> mrm -rf pasta
# copia arquivo unico do local para pasta do servidor
lftp [email protected]:/> mput /var/www/ea/cea/acao06/inedex.php
-O /cea/acao06/
# copia pastas e subpastas do local para pasta atual do servidor
lftp [email protected]:/> mirror -R /var/www/ea/cea .
Exemplo de arquivo:
echo "== FINALIZADO =="
echo -e "senha\n" | sudo -S rsync -Cravzp
--del /var/www/ea
/home/catalunha/Dropbox/web/
echo "== FINALIZADO =="
Habilitar arquivo para execução
$ chmod +x rsync-php.sh
Executa script
$ ./rsync-php.sh
7) rsync
7.1) Comando padrão
rsync [opções] origem destino
7.2) Sincronizando diretórios locais
$ rsync -Cravzp --del
/home/fabio/artigos/ /var/backups/artigos/
7.3) Sincronizando arquivos locais para um servidor remoto.
$ rsync -Cravzp --del /home/fabio/artigos/
[email protected]:/var/backups/artigos/
7.4) Sincronizando arquivos do servidor para sua máquina local
rsync -Cravzp --del
[email protected]:/var/backups/artigos/
/home/fabio/artigos/
8) cron
O crontab tem o seguinte formato:
[minutos] [horas] [dias do mês] [mês] [dias da semana]
[usuário] [comando]
O preenchimento de cada campo é feito da seguinte maneira:
•Minutos: informe números de 0 a 59;
•Horas: informe números de 0 a 23;
•Dias do mês: informe números de 1 a 31;
•Mês: informe números de 1 a 12;
•Dias da semana: informe números de 0 a 7;
•Usuário: é o usuário que vai executar o comando (não é
necessário especificá-lo se o arquivo do próprio
usuário for usado);
•Comando: a tarefa que deve ser executada.
• '*' informa que é a qualquer valor do campo
Criar pasta para script
$ mkdir /home/usuario/script-cron
Acessando a pasta criada
$ cd /home/usuario/script-cron
Criar script
Resumo Linux. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:24 hs
Página 2 de 2
5) Manipulação matricial e vetorial
OCTAVE
Este material é um auxílio de consulta rápida, o conhecimento aqui
apresentado deve ser fundamentado pelas atividades de aula e principalmente
pelas bibliografias fornecidas. Cada disciplina demanda parte do
conhecimento aqui resumido, devendo o aluno estar apto a distingui-la.
1) Introdução
1.1) Para acessar o octave via terminal linux digite:
$ octave
1.2) Acessando ajuda de qualquer função.
> help sum
1.3) Verifique se os pacotes: odepkg, statistics, symbolic. Estão instalados:
> pkg list
Caso negativo acesse “adm_Orientacoes.pdf” e proceda a instalação.
1.4) Ativando o diário de atividades, recarregando variáveis, se necessário.
> diary diario
> diary on
> load variaveis
Ou listar as variáveis usadas no momento
> whos
Apague as variáveis desnecessárias
> clear ea vb mc
1.5) Salve as variáveis ao finalizar uma tarefa. se necessário.
> save variaveis
1.6) Desative o diário e feche o programa. se necessário.
> diary off
> quit
2) Nomes de variáveis
2.1) Adotamos uma letra minúscula como prefixo do nome da variável para indicar
seu tipo.
ttexto = 'Texto Livre' # para texto ou função em análise simbólica
enumero = 1.123 # um escalar inteiro ou decimal.
vvetor = [1,2,3,4,5,6] # para vetor linha (1xN).
mmatriz = [1.1,2.2;3.3,4.4;5.5,6.6] # para matriz (NxN).
blogico =true # variável boleana ou seja sim (true) ou não (false)
3) Modelos e Operações matemáticas
3.1) Escrevendo modelo matemático como funções em linha.
f=@(<arg1>,...,<argN>) <expressão>
> f=@(x) 2*x;
> f(2)
ans = 4
3.3) Operações básicas. “+” Soma; “-” Subtração; “*” Multiplicação; “/” Divisão;
“^” ou “**” Potenciação; “.” Aplica a operação termo a termo na matriz, exemplo
A.*B; “ ' ” transpõe a matriz. '++' incrementa a variável; '- -' decrementa a variável.
3.4) Operações matemáticas. sin(x); cos(x); tan(x); asin(x);
acos(x); atan(x); exp(x); logaritmo na base e: log(x); logaritmo na
base 10: log10(x); valor absoluto: abs(x); menor numero inteiro (não
menor que o passado como parâmetro): ceil(x); maior numero inteiro (nao
maior do que o passado como parâmetro): floor(x); arredenda corretamente:
round(x); resto da divisão: rem(x,y); raiz quadrada: sqrt(x); pi valor de
pi=3,14.... Use NA para valores em falta e NaN para valores não é numero.
4) Operadores de comparação
>= // maior ou igual a
== // operador lógico igual
Teste 1 Teste 2
3.0000
5.2) Criar matriz
> ma=[1,2,3;4,5,6;7,8,9;10,11,12]
ma =
1
2
3
4
5
6
7
8
9
10 11 12
5.3) Criar matrizes aleatoria
> rand(2,2) # matriz aleatorio
ans =
0.21680
0.97528
0.57017
0.97381
5.4) Acessar ou alterar elemento da matriz. Referência subscripts ou indice linear.
> ma(2,:)
ans = 4
5
6
> ma(:,2)
ans =
2
5
8
11
> mmatriz(2,2) # acesso por subscripts
ans = 4.4
> mmatriz(3) # acesso por indice linear
ans = 5.5
> sub2ind([3,2],2,2)
ans = 5
> [i,j]=ind2sub([3,2],3)
i = 3
j = 1
5.5) Obter tamanho e tipo de dado da matriz e vetor
> lin = size(mmatriz,1) #obtem 1 dimensão num de linhas
lin = 3
> tam = length(vvetor) #obtem tamanho do vetor
col = 6
> isempty(mmatriz) #analise se matriz esta vazia
ans = 0
>isfinite ([13, Inf, NA, NaN]) # se tem valores validos
ans = [ 1, 0, 0, 0 ]
5.6) Retira parte da matriz. A(inicioL:fimL,inicioC:fimC). Use “end” para acessar
a ultima linha ou coluna. Use “:” para acessar a toda a linha ou coluna.
> B=ma(2:end,1:2)
B =
4
5
7
8
10
11
3.2) Escrevendo modelo matemático como texto e calcula valor
> tf='1+2*x';
> x=2;
> eval(tf)
ans = 5
< # menor que. Ex: 1 < 2
> # maior que
<= # menor ou igual a
5.1) Criar vetor.
> va=1:1:10
a = 1 2 3 4 5 6 7 8 9 10
> va=[12.4,4.5,9.6,3.0]
va = 12.4000
4.5000
9.6000
> vb=linspace(1,10,5)
vb = 1.0 3.25 5.50 7.75 10.00
~= // operador log. diferente
~ // negação do teste
&& // operador lógico e
|| //operador lógico ou
&&
||
==
true
true
true
true
true
true
false
false
true
false
false
true
false
true
false
false
false
false
false
true
5.7) Construção e acesso a matriz de textos. Numero de caracteres corresponde as
número de colunas. A matriz de texto é 'mt' e próxima letra é minúscula.
> mtNomes=['joao';'maria']
vtNomes =
joao
maria
> mtNomes(2,:)
maria
5.8) Comando de estatistica. Se arg for matriz retorna a funcao para cada coluna.
[vlr pos]=min(arg) # retorna o min valor e sua posicao
[vlr pos]=max(arg) # retorna o max valor e sua posicao
sum(arg) # retorna a soma dos elementos
prod(arg) # retorna o produto dos elementos
5.9) Comando de pesquisa.
find(arg == 3) # localiza valor igual a 3 em arg
x = randn(2,3)
exemplo de matriz
xind = (x >= 1)|(x < -0.2) Cria indice na condição.
xc = x(xind)
Seleciona valores bons.
> finite([-1,0,1,inf,NaN,NA])
ans = [1 1 1 0 0 0]
Resumo Octave. Prof. Dr. Catalunha - Versão atualizada em 14/06/2013 às 16:26 hs
# retorna ind. de
valores validos
Página 1 de 4
6) Estrutura de repetição e controle
6.1) Estrutura de controle if
if condicao01
#caso verdadeiro01
elseif condicao02
#caso verdadeiro02
else
#caso falso
endif
6.2) Estrutura de controle Switch.
switch (inteiro)
case 1
# codigo
case {2,3}
# codigo
otherwise
# codigo
endswitch
ou
switch (texto)
case 'bananeira'
# codigo
case {'palmeira','figueira'}
# codigo
otherwise
# codigo
endswitch
6.3) Estrutura de repetição for
# for i=inicio:fim
for i=1:10
# executa codigo i vezes
endfor
6.4) Estrutura de repetição while
while condicao
# executa codigo enquanto condicao for verdadeira
endwhile
6.5) Estrutura de repetição do-until
do
# executa codigo até que condicao seja verdadeira
until condicao
6.6) Encerra o programa neste ponto.
return;
Outros códigos e observações:
6.7) Lê valor do teclado. Não importa o tipo. Se usar 's' ele não interpreta a entrada.
> enumero=input('Informe o valor: ');
Informe o valor: 1.1
> tequacao=input('Informe a equacao:','s');
Informe a equacao: 1+2*x
6.8) Imprime texto e valor de variavel. %s=imprimir texto; %cd imprimir inteiro;
%c.pf imprimir decimal, em que c=numero de casas, p=precisão decimal.
> printf('ver %s %4d %5.2f\n', ttexto, einteiro,
edecimal);
ver Texto Livre
1
1.23
6.9) Manipulando strings. Os demais comandos strcat, strfind, strsplit, strtrim
devem ser estudados.
> str2num('1.23'); # string para números
ans = 1.2300
> strcmp('a','a'); # comparando duas strings
ans = 1
6.10) Estrutura do arquivo padrão de entrada. Considere um parametro de entrada
edecimal=1.1'. Um vetor vdecimal=[1.1;2.2]. Uma matriz mdecimal=[1.1,2.2;3.3,4.4]. Após
vetor ou matriz escreva 'fim'. Use # para comentário deste arquivo.
/ie_catalunha_basico/entrada
#Autor: Prof. Dr. Catalunha
#Tarefa: Basico
enumero
1.1
vvetor
1.1
2.2
fim
mmatriz
1.1 2.2
3.3 4.4
fim
6.11) Gravar dados em um arquivo de texto.
function
gravaarqsaida(tarquivo,ttexto,einteiro,edecimal,vvetor,
mmatriz)
aarq=fopen(tarquivo,'w');
fprintf(aarq,'ttexto\n');
fprintf(aarq,'%s\n',ttexto);
fprintf(aarq,'einteiro\n');
fprintf(aarq,'%d\n',einteiro);
fprintf(aarq,'edecimal\n');
fprintf(aarq,'%5.2f\n',edecimal);
fprintf(aarq,'vvetor\n');
fprintf(aarq,'%.4f\n',vvetor);
fprintf(aarq,'fim\n');
fprintf(aarq,'mmatriz\n');
for i=1:size(mmatriz,1)
fprintf(aarq,'%.4f ',mmatriz(i,:));
fprintf(aarq,'\n');
endfor
fprintf(aarq,'fim\n');
fclose(aarq);
endfunction
6.12) Le dados em um arquivo de texto.
function
[ttexto,enumero,vvetor,mmatriz,mtTexto]=learqentrada(ta
rquivo)
arqhd = fopen (tarquivo, 'r');
while(!feof(arqhd))
linha=fgetl(arqhd);
switch (linha)
case 'ttexto'
ttexto=fgetl(arqhd);
case 'enumero'
linha=fgetl(arqhd);
enumero=str2num(linha);
case 'vvetor' # Para vetor linha (1xN)
pos=1;
while(!strcmp(linha=fgetl(arqhd),'fim'))
vvetor(pos++)=str2num(linha);
endwhile
case 'mmatriz' # le vetor coluna (Nx1) ou matriz
lin=1;
while(!strcmp(linha=fgetl(arqhd),'fim'))
mmatriz(lin++,:)=str2num(linha);
endwhile
case 'mtTexto'
mtTexto='';
while(!strcmp(linha=fgetl(arqhd),'fim'))
mtTexto=[mtTexto;linha]
end
endswitch
endwhile
fclose(arqhd);
endfunction
7) Estrutura básica para programação
Para programação no octave, usa-se toda a capacidade de processamento
disponível no octave. Use #... para comentário simples e #{ … #} para comentário bloco.
7.1) Arquivo que contém a interface com o usuário.
~/ie_catalunha_tarefa/interface.m
# Autor: Nome do autor
function interface()
# interface para coleta de parâmetros de entrada
# chamada a função da tarefa
# interface para mostra de parâmetros de saída
endfunction
# subfunção para leitura de parâmetros em arquivo
# subfunção para gravar parâmetros em arquivo
7.2) Arquivo que contém a solução pura do problema proposto na tarefa.
~/ie_catalunha_tarefa/tarefa.m
# Autor: Nome do autor
function[saida01,...,saidaN]=tarefa(entrada01,...,entr
adaN)
# código para obtenção da solução da tarefa
endfunction
# subfunção se for necessário
7.3) Estrutura básica de arquivos e pastas de um programa
ie_catalunha_tarefa
|-- interface.m
|-- tarefa.m
|-- entrada
|-- saida
|-- diario
`-- variaveis
Obs.: o arquivo sublinhado será criado automaticamente pelo programa.
Resumo Octave. Prof. Dr. Catalunha - Versão atualizada em 14/06/2013 às 16:26 hs
Página 2 de 4
8) Gerar Grafico
8.1) De Pontos. Considere os dados vx, vy, vxt, vyt.
plot(vx,vy,formato,vxt,vyt,formato). Em que
formato='<estiloDoPonto><corDoPonto>;<legenda>;' . Sendo: estiloDoPonto=-,
+,*,o,x,^. corDoPonto=k(preto), w(branco), r(vermelho), g(verde), b(azul),
m(magenta), c(ciano). legenda=texto.
> plot(vx,vy,'*r;orig;',vxt,vyt,'+b;transf;')
> grid on
> title('Titulo do Grafico')
> xlabel('Nome do EixoX')
> ylabel('Nome do EixoY')
> axis([0,10,0,50])
> print('nomeArquivo.png','-dpng')
8.2) Gerar gráfico dentro de programa, inicialmente precisamos esconder a janela
do plot, para isto use a linha a seguir:
janelaPlot=figure('Visible','off');
posteriormente incluia as informações necessárias conforme item 8.1
9) Integração
9.2) Integral dupla
> g=@(x,y) x.**2+2*y;
> dblquad(g,0,1,0,2)
ans = 4.6667
14) Matemática Simbólica
14.1) Iniciar pacote de análise matemática simbólica
> symbols;
14.2) Declarar variável simbólica
> x=sym('x');
> y=sym('y');
14.3) Declarar modelo matemático. Pode ser lido direto com input.
> sf = 1+2*x;
> sg = x+y;
14.5) Operações matemáticas para construção de modelo matemático em ambiente
simbólico. Cos(x); Cosh(x); Exp(x); Log(x); Sin(x); Sinh(x); Tan(x); Tanh(x);
aCos(x); Acosh(x); aSin(x); aSinh(x); aTan(x); aTanh(x); Sqrt(x);
10) Manipulações polinomiais
10.1) Ajuste polinomial. polyfit(vx,vy,n) em que n é o grau do polinómio. A saída
é cn … c0.
> vx=[0.0,1.0]
> vy=[1.0,3.0]
> vc = polyfit(vx,vy,1)
vc =
2.0000
1.0000 # P1= 2*x + 1
10.2) Avalia um polinômio. polyval(vc,x) aplicar um valor x qualquer no
polinómio obtido com base nos coeficientes de vc.
> polyval(vc,3) # é o mesmo que P1(3)= 2*x + 1
ans = 7
10.3) Calcula raizes de um polinômio. vc é o vetor de coeficientes.
> roots(vc) # é o mesmo que 0 = 2*x + 1
ans = -0.5
11) Regressão Linear Múltipla
11.1) Ajuste um modelo y i=β0 + β1 x 1i+ , , ,+ β p x pi ;em que: p é o número de
variáveis explicativas; i é o número de dados. Sendo a matriz solução organizada
na forma.
1 x 11 x 21 ... x p1
y1
β0
y2
β1
1 x 12 x 22 ... x p2
e
resultando
...
...
... ... ... ... ...
yn
βp
1 x 1n x 2n ... x pn
] []
> regress(my,mx)
ans = 1 2 # P1= 1 + 2*x
12) Raiz de função
12.1) Encontrar raiz de uma função
> f=@(x) x**3-3*x+1;
> fzero(f,2)
ans = 1.5321
13) Resolver EDO
13.1) Resolver equação diferencial. Veja Cap 6 Barroso, Exemplo: y'=x-y+2 e
y(0)=2 e malha [0,1] com 10 subintervalos. No modelo padrão octave y=é a
variável x x= é a variável t, ficando:
> function xest=f(x,t) xest=t-x+2; endfunction
> x0=2
> t0=linspace(0,1,10);
> [xcal,m1,m2]=lsode('f',x0,t0)
xcal =
2.0000
2.0060
2.0230
2.0499
m1 = 2
m2 = successful exit
> plot(t,xcal)
14.4) Substituir valor de variável num modelo matemático, transformando-o para
decimal.
> ey = subs(sf,x,1)
eY = 3.0
> ez = subs(sg,{x,y},{2,2})
ez = 4.0
9.1) Integral simples.
> f=@(x) 1/x;
> quad(f,3.0,3.6)
ans = 0.18232
[] [
2.0856
2.1293
2.1801
2.2372
2.3000
2.3679
14.6) Calculo de derivada de uma função.
> sd1f = differentiate(sf,x,1)
sd1f = 2.0
14.7) Plotar modelo simbólico. As demais configurações seguem o exemplo do
gráfico de pontos.
> splot(sf,x,0:10)
14.8) Transformando tipo simbólicos em decimais.
> ey = to_double(subs(sf,x,1)
ey = 3
14.9) Avaliando modelo informado como texto
> tf='1+Log(x)'
> ey = to_double(subs(eval(tf),x,2))
ey = 1.6931
15) Outros comandos utilizados
15.1) Diferença entre valores. x1-x0, x2-x1,...
octave:9> a=[1,2,3]
a = 1
2
3
octave:10> diff(a)
ans =
1
1
16) Processamento Via terminal e Script Shell
16.1) Considere o seguinte programa
/ie_catalunha_tarefa/interface.m
function interface()
a=input('Informe o valor de a: ')
[b]=tarefa(a)
printf('Tarefa %f',b)
endfunction
/ie_catalunha_tarefa/tarefa.m
function[b]=tarefa(a)
b=2*a;
endfunction
16.2) Processando programa via terminal.
$ octave --eval interface -q -f
Informe o valor de a: 3
Tarefa 6.000000
16.3) Processando o gráfico a partir de um script shell, considere o script
/cn_catalunha_tarefa/exercicio1/tarefa.sh
#!/bin/bash
octave --eval interface -q -f
16.4) Mudando a permissão do script para execução, caso necessário
$ chmod 777 grafico4.sh
Resumo Octave. Prof. Dr. Catalunha - Versão atualizada em 14/06/2013 às 16:26 hs
Página 3 de 4
16.5) Processando o script shell
$ ./tarefa.sh
Informe o valor de a: 3
Tarefa 6.000000
Resumo Octave. Prof. Dr. Catalunha - Versão atualizada em 14/06/2013 às 16:26 hs
Página 4 de 4
MÁXIMA
Este material é um auxílio de consulta rápida, o conhecimento aqui
apresentado deve ser fundamentado pelas atividades de aula e principalmente
pelas bibliografias fornecidas. Cada disciplina demanda parte do
conhecimento aqui resumido, devendo o aluno estar apto a distingui-la.
1) Maxima
1.1) Para acessar o maxima via terminal linux digite:
$ maxima
1.2) Para sair do máxima e voltar ao terminal linux digite:
(%?) quit();
3
x
- 3 x + 1
1.19) Trigonometria
(%i25) trigsimp(sin(a)^2+cos(a)^2);
(%o25)
1.4) Derivada:
(%i2) diff(f,x,1);
2
(%o2)
(%i3) diff(%o2,x,2);
(%o3)
3 x
6 x
9
4
(%o4)
1.6) Raiz ou zero de função.
(%i5) allroots(f);
(%o5) [x = 0.34729635533386, x = 1.532088886237956, x =
- 1.879385241571817]
(%i6) algsys([f],[x]);
(%o6) [[x = - 1.879385232208487], [x =
1.532088888888889],
[x = 0.34729635646322]]
(%i7) find_root(f,x,0,1);
(%o7)
0.34729635533386
1.20) Observações gerais
%o? = significa referência a saida em que ? é o número da
saída.
inf = infinito
minf = menos infinito
plus = mais
minus = menos
log(x) = loge(x)=ln(x)
%pi = 3.14
%e = 2.71
sqrt(x) = √x(raiz quadrada de x)
2) Via terminal e Script Shell
2.1) Processando a analise a partir de um script shell, considere o script
/cn_catalunha_tarefa/tarefa.sh
#!/bin/bash
maxima --very-quiet -r 'f:y=(a+b)/c$g:at(f,
[y=1,a=2,c=3])$i:solve(g);stringout("saida",f,g,i)$'
1.7) Isolar variável em função
(%i1) solve(y=a+b*x,b);
1.8) Atribuir valor a variável em função
(%i1) at(y=a+b*x,[a=1,b=2,x=3);
(%o1)
1
- 3
1.5) Integração:
(%i4) integrate(f,x,-1,0);
(%o1)
1.17) Resolver uma equação diferencial ordinária – EDO
(%i1) 'diff(p,t)=0.5*p-450;
dp
(%o1)
-- = 0.5 p - 450
dt
(%i2) ode2(%o1,p,t);
- t/2
t/2
(%o2)
p = (900 %e
+ %c) %e
(%i3) ratexpand(%o2);
t/2
(%o3)
p = %c %e
+ 900
1.18) Encontrando a solução particular da EDO por PVI, considere t=0 dias e
p=850 ratos.
(%i3) ic1(%o3,t=0,p=850);
t/2
(%o5)
p = 900 - 50 %e
1.3) Representar função como variavel:
(%i1) f:x**3-3*x+1;
(%o1)
[trajectory_at,0,850]);
y - a
[b = -----]
x
y = 7
1.9) Desenvolver as potências;
(%i2) expand(%o1);
1.10) Simplificar qualquer expressão racional
(%i2) ratsimp(%o1);
2.2) Mudando a permissão do script para execução, caso necessário
$ chmod 777 tarefa.sh
2.3) Processando o script shell, teremos o mesmo resultado saindo na tela e grafado
no arquivo saida, mostrado logo a seguir:
$ ./tarefa.sh
[b = 1]
/cn_catalunha_tarefa/saida
y = (b+a)/c;
1 = (b+2)/3;
[b = 1];
1.11) Solicitar o resultado em forma decimal;
(%i2)%o1,numer;
1.12) Transforma equação montada em única linha de texto simples
y - a
(%o1)
[b = -----]
x
(%i2) grind(%);
[b = (y-a)/x]$
(%o2)
done
1.13) Cálculo de limite
(%i3) limit(1/sqrt(x),x,inf);
(%i3) limit(1/sqrt(x),x,1,plus);
1.14) Gerar gráfico 2d em janela
plot2d([%o1,%o2,%o3],[x,-2,2],[y,-5,5],[xlabel,"eixo
x"],[ylabel,"eixo y"],[gnuplot_term,wxt]);
1.15) Gerar gráfico 2d para arquivo
plot2d([x**3-3*x+1],[gnuplot_term,png],
[gnuplot_out_file,"grafico1.png"]);
1.16) Gerar gráfico de campos direcionais de EDO
(%i1) load(plotdf)$
(%i2) plotdf(r*p-k,[t,p],[t,0,2],[p,800,1000],
[parameters,"r=0.5,k=450"],[sliders,"r=0:1,k=0:1000"],
Resumo Máxima. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:24 hs
Página 1 de 1
GNUPLOT
/cn_catalunha_tarefa/exercicio01/grafico01.png
Este material é um auxílio de consulta rápida, o conhecimento aqui
apresentado deve ser fundamentado pelas atividades de aula e principalmente
pelas bibliografias fornecidas. Cada disciplina demanda parte do
conhecimento aqui resumido, devendo o aluno estar apto a distingui-la.
1) GnuPlot
1.1) Estando na pasta da tarefa, e os arquivos de pontos e script do gráfico já
criados, item 1.2 e 1.3, para gerar o gráfico, digite:
$ gnuplot graficoA01.txt
1.2) Arquivo de pontos para o gráfico:
/mm_catalunha_tarefa/exercicio01/pontosA.txt
# x
1.3
3.4
5.1
6.8
8.0
y
2.0
5.2
3.8
6.1
5.8
1.3) Script com os comandos para gerar o gráfico de função e pontos 2d:
/mm_catalunha_tarefa/exercicio01/graficoA.txt
# Comentario
reset
set grid
set title 'Grafico de Pontos e Equação 2d'
set xlabel 'x'
set ylabel 'y'
set key outside center bottom title 'Legendas de
Equações e Pontos'
set arrow from 1.3,2.0 to 2,1 head
set label 'Pontos inicial' at 2,1 left
set xrange [-5:10]
set yrange [-5:10]
f(x,a,b)=a+b*x
h(x)=a+b*x
a=1; b=2;
fit h(x) "grafico1.pts" using ($1):($2) via a,b
plot f(x,1,1) title 'y=1+1x', 'pontosA.txt' using
($1):($2) title 'Pontos no gráfico', h(x) title
'Ajuste Gnuplot'
set term pngcairo
set output 'graficoA01.png'
replot
set term pop
set output
Este scritp também gera um arquivo com nome “fit.log” com os parâmetros do
ajustamento e estatísticas. Apesar de bastante otimizado, este procedimento nãolinear de ajustamento/regressão depende do número de dados, do tipo de equação a
ser ajustada e das estimativas iniciais dos coeficientes, podendo não convergir
satisfatoriamente em alguns casos.
1.5) Script para gráfico de função 3d:
/cn_catalunha_tarefa/exercicio2/grafico02.txt
# Comentarios
reset
set grid
set title "Grafico de Equação 3d"
set xlabel "x"
set ylabel "y"
set zlabel "z"
set key outside center bottom title 'Legenda'
set arrow from 0,0,0 to 1,-1,-6 head
set label "Ponto Final" at 1,-1,-6 left
set
set
set
set
hidden3d
isosamples 30
contour both
cntrparam levels discrete 2,4,6
set xrange [-2:2]
set yrange [-2:2]
set zrange [-5:10]
f(x,y,a)=(x**a+y**a)
splot f(x,y,2)
set term png
set output "grafico02.png"
replot
set term pop
set output
1.6) Exemplo de saida:
/cn_catalunha_tarefa/exercicio02/grafico02.png
1.4) Exemplo de saida
1.7) Script para gráfico de pontos 3d:
/cn_catalunha_tarefa/exercicio03/grafico03.txt
# Comentarios
Resumo GnuPlot. Prof. Dr. Catalunha - Versão atualizada em 13/06/2013 às 19:54 hs
Página 1 de 2
reset
set grid
set title "Grafico de Equação 3d"
set xlabel "x"
set ylabel "y"
set zlabel "z"
set key outside center bottom title 'Legenda'
set arrow from 1,3,10 to 2,1,5 head
set label "Ponto Final" at 2,1,5 left
set xrange [0:3]
set yrange [0:5]
set zrange [0:25]
/cn_catalunha_tarefa/exercicio01/grafico01.sh
#!/bin/bash
gnuplot grafico01.txt
2.4) Mudando a permissão do script para execução, caso necessário
$ chmod 777 grafico01.sh
2.5) Processando o script shell
$ ./grafico4.sh
set data style linespoints
splot 'pontos03.txt' using ($1):($2):($3)
set term png
set output "grafico03.png"
replot
set term pop
set output
1.8) Arquivo de pontos para o gráfico:
/cn_catalunha_tarefa/exercicio03/pontos03.txt
# x
0
0
0
0
0
0
y
0
1
2
3
4
5
z
0
1
4
9
16
25
1
1
1
1
1
0
1
2
3
4
1
2
5
10
17
2
2
2
2
0
1
2
3
4
5
8
13
3
3
3
0
1
2
9
10
13
1.9) Exemplo de saida
/cn_catalunha_tarefa/exercicio03/grafico03.png
2) Via terminal e Script Shell
2.1) Considere o seguinte gráfico de função e pontos 2d, conforme item 1.3 e 1.2:
2.2) Processando gráfico via terminal sem abrir Gnuplot.
$ gnuplot grafico01.txt
2.3) Criando script para gerar gráfico
Resumo GnuPlot. Prof. Dr. Catalunha - Versão atualizada em 13/06/2013 às 19:54 hs
Página 2 de 2
R
Este material é um auxílio de consulta rápida, o conhecimento aqui
apresentado deve ser fundamentado pelas atividades de aula e principalmente
pelas bibliografias fornecidas. Cada disciplina demanda parte do
conhecimento aqui resumido, devendo o aluno estar apto a distingui-la.
> x
[1] 1 2 3 4 5
> a <- x>3
> a
[1] FALSE FALSE FALSE TRUE
5.4) Informações sobre valores nulos estatisticamente, NA=valor faltando.
NaN=não é numero.
1.1) Inicie seu trabalho sempre em uma pasta nova e automaticamente o r salva os
dados e historico dos comandos - se ao sair vc salvar o workspace.
> y<-c(1:3,NA,NaN)
> y
[1]
1
2
3 NA NaN
> is.na(y)
[1] FALSE FALSE FALSE TRUE
> is.nan(y)
[1] FALSE FALSE FALSE FALSE
1.2) Para acessar o octave via terminal linux digite:
5.5) Transformar vetor em matriz
1) Introdução
$ R
> options(editor='gedit')
> d<-1:6
> d
[1] 1 2 3 4 5 6
> x<-matrix(x,3,2)
[,1] [,2]
[1,]
1
4
[2,]
2
5
[3,]
3
6
> x
[,1] [,2]
[1,]
7
7
[2,]
2
5
[3,]
3
6
1.7) Abre editor de dados ou funções, depende do tipo de objeto
5.6) Obter tamanho do vetor
1.3) Para acessar ajuda de qualquer função, digite “?funcao”.
> ?sum
1.4) Listar os objetos usadas no momento
> ls()
1.5) Apague os objetos desnecessários
> rm(x,y)
1.6) Configurar editor de funções e dados
> fix(objeto)
1.8) feche o programa.
> q()
#tecle 'y' para salvar os comandos e dados digitados na tela
1.9) instalação de pacotes. Obtenha os pacotes em: http://cran.r-project.org/
> install.packages('tseries_0.10-26.tar.gz')
2.1) Adotamos uma letra minúscula como prefixo do nome da variável para indicar
seu tipo.
enumero <- 1.123 # um escalar inteiro ou decimal.
ttexto <- “texto”
vvetor <- c(1,2,3,4,5,6) #vetor nao tem prefixo
dfdados <- data.frame(x=c(1,2),y=c(3,4))# para dados tipo
dataframe
ldados <- list(nome1=valor1,..,nomeN=valorN)# dados tipo lista
> length(c(10,20,NA))
[1] 3
> length(na.omit(c(10,20,NA)))
[1] 2
6) Objeto: Data Frames
> dados <- data.frame(x=1:5,y=2*1:5)
> dados
x y
1
1 2
2
2 4
3
3 6
4
4 8
5
5 10
6.2) Acessando a um item do dataframe
> dados$x
[1] 1 2
3
4
5
> names(dados)
[1] 'x' 'y'
3.1) Operações básicas. “+” Soma; “-” Subtração; “*” Multiplicação; “/” Divisão;
“^” Potenciação; “%%” resto da divisão; “%/%” quociente da divisao
3.2) Operações matemáticas. sin(x); cos(x); tan(x); asin(x);
acos(x); atan(x); exp(x); logaritmo na base e: log(x); logaritmo na
base 10: log10(x); valor absoluto: abs(x); menor numero inteiro (não
menor que o passado como parâmetro): ceil(x); maior numero inteiro (nao
maior do que o passado como parâmetro): floor(x); arredenda corretamente:
round(x,digits=2); exibe numero de digitos: signif(x,digits=2); raiz
quadrada: sqrt(x); pi valor de pi=3,14.... Use NA para valores em falta e NaN
para valores não é numero.
4) Operadores
|
==
6.4) Calculando valores de linhas
> rowSums(dados)
[1] 3 6 9 12 15
7) Objetos: Lista
Muito usado para saida de funçoes
7.1) Construindo uma lista
> saida<-list(x=10,arq='dados')
> saida
$x
[1] 10
Teste 1
Teste 2
true
true
true
true
true
true
false
false
true
false
false
true
false
true
false
> saida$arq
[1] 'dados'
false
false
false
false
true
7.3) lendo os campos de uma lista
5) Objeto: Vetor
5.1) Criar vetor rápido.
> x<-c(1,2,3)
> x
[1] 1 2 3
> x<-c(1:5)
> x
[1] 1 2 3 4 5
> x[-(2:3 )] # o indice negativo exclui valores do vetor
[1] 1 4 5
5.2) Criar sequencia. seq(from,to,by,length). #by=incremento,
length=comprimento.
5.3) Vetores lógicos
TRUE
6.3) lendo os campos de um data frame
3) Operações Matemáticas
> seq(1,10,by= 2)
[1] 1 3 5 7 9
> seq(from=1,length=10,by= 2)
[1] 1 3 5 7 9 11 13 15 17 19
TRUE
6.1) Construindo um data frame
2) Nomes de variáveis
&
TRUE
$arq
[1] 'dados'
7.2) Acessando a um item de uma lista
> names(saida)
[1] 'x'
'arq'
8) Programando com Script
Para programação no R, usa-se toda a capacidade de processamento disponível.
Use #... para comentário simples. if(F){} para comentário em bloco.
8.1) Estrutura do Script
/ea_catalunha_tarefa/exercicio1/exercicio1.sr
sink('resultados')
# Codigo do Script
sink()
8.2) Executando o Script de dentro do R
> source('exercicio1.sr',echo=T)
8.3) Estrutura básica de arquivos e pastas de uma tarefa
ea_catalunha_tarefa
|-- .RData
|-- .Rhistory
Resumo R. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:24 hs
Página 1 de 4
|-|-|-`--
exercicio1.sr
dados
resultados
figura1.png
Obs.: o arquivo sublinhado será criado automaticamente pelo script.
8.4) Estrutura do arquivo padrão de entrada. Primeira linha é o cabeçalho.
Separador por espaço e Use # para comentário deste arquivo.
/ie_catalunha_tarefa/dados
#Autor: Prof. Dr. Catalunha
#Fonte do dado
x y
1 4
2 5
3 6
9) Programando com Funções
Para programação no R, usa-se toda a capacidade de processamento disponível.
Use #... para comentário simples
while (condicao){
# executa codigo enquanto condicao for verdadeira
}
12.4) Lê valor do teclado.
> num <- scan()
1: 10
2: 20
3:
> txt<-scan(what='character')
1: aaa
2: bbb
3:
13) Estatísticas Descritiva
13.1) Funções estatísticas básicas.Verifique sempre a presença de valores
NULOS=NA
> x <- c(1:5)
> x
[1] 1 2 3 4 5
> mean(x)
[1] 3
> max(x)
[1] 5
> var(x)
[1] 2.5
> min(x)
[1] 1
> sd(x)
[1] 1.581139
> range(x)
[1] 1 5
> summary(x)
...
> length(x)
[1] 5
> sort(x,decreasing=TRUE)
[1] 5 4 3 2 1
> sum( x)
[1] 15
na.exclude(c(2,NA,1))
[1] 2 1
> paramSaida <- ffuncao(entrada01,entrada02)
> hist(x)
> boxplot(x)
O objetos paramSaida contém todos os objetos da lista de return, além da saida
natural da função
> plot(x)
9.1) Cria e editar uma função
> fix(ffuncao)
9.2) Estrutura da função
function(entrada01=valor,...,entradaN=”valor”){
# codigo da função
ParamSaida<-list(param01=valor,...,paramN=”valor”)
return(ParamSaida)
}
9.3) O nomes dos parametros de retorno da função podem ser lidos com
> names(ffuncao)
9.4) Executando funções
9.5) Exportar funcao como objeto
> save(ffuncao,file='ffuncao.objr')
9.6) Importar função salva como objeto
>load(“ffuncao.objr”)
10) Leitura em arquivo
10.1) Ler dados ascii de arquivo salvando em DataFrame
> dados<-read.table('dados',head=T)
> dados
x y
1 1 4
2 2 5
3 3 6
11) Escrita em arquivo
11.1) Escreve DataFrame em arquivo ascii. dados =um dataframe.
>write.table(dados,file='resultados')
11.2) Associar o arquivo a um objeto. “a” = adicionar. “w” = escrever.
>arq<-file('resultados','a')
11.3) Envia texto e valores para arquivo
>cat(“texto”,objvetor,”\n”,file=arq)
11.4) Captura saida de comando R e envia para arquivo
>capture.output(summary(modelo),file=arq)
14) Distribuições de probabilidade
As distribuições mais usadas são, com respectivo nome usado no R
Distribuição
Função no R
Parâmetros e configurações
Normal
?norm
Média, Desvio Padrão,...
t
?t
GL
?chisq
GL
χ
2
f
?f
GL1, GL2
Observação: No R para cada distribuição de probabilidade implementada há 4
prefixos básicos para indicar funções diferentes para o mesmo modelo de
probabilidade, são elas:
d: Calcula a densidade de probabilidade, f(x) no ponto x.
p: Calcula a função de probabilidade acumulada F(x) no ponto X
q: Calcula o quantil, x, correspondente a uma dada probabilidade, valores de 0 a 1
r: retira uma amostra da distribuição
Exemplo para distribuição normal:
dnorm(2.3,3,0.5) 0.2994549
pnorm(2.3,3,0.5)
qnorm(0.08,3,0.5) 2.297464
rnorm(5,3,0.5)
3.904574 2.618711
3.119791 3.432854
2.459779
11.5) Junta texto para formar string
>paste(dados,'_resultados',sep='')
11.6) fechar arquivo
0.08075666
>close(arq)
15) Testes estatísticos z,t,f, χ 2
11.7) Redirecionando saída do R para arquivo.
Em que teste é a estatistica do teste em questão podendo ser z,t,f,
> sink('resultados')
Rejeita H0
Região Crítica
11.8) Retorna saída do R para tela
> sink()
12) Decisão e Iteração
12.1) Estrutura de controle if
if (condicao){
#caso verdadeiro
}else if(condicao){
#caso verdadeiro
}else{
#caso falso
}
12.2) Estrutura de repetição for
for (variavel in inicio:fim){
# executa codigo
}
p-value<
Não Rejeita H0
α
p-value>
2
Rejeita H0
Região Crítica
α
p-value<
teste
teste< teste α
χ
α
teste> teste α
Existem ampliações deste quadro, veja na pag 221
Situação H0:
2
σ =σ
2
0
# testando
a variância
σ 21=σ 22
# testando
duas variâncias
Teste
2
χ (qui-quadrado)
Não simétrico, bi e
unicaudal
f (teste f)
Não simétrico, bi e
unicaudal
Equação
χ 2=∑
X i− ̄X
σ
2
F=
Exemplo
2
=
(n−1) s
2
σ0
S 21 /σ 21
S 22 /σ 22
Pág 162, exp 8.10
Pág 233, exp 10.13
Pág 233, exp 10.14
12.3) Estrutura de repetição while
Resumo R. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:24 hs
Página 2 de 4
μ=μ0
z (normal)
Simétrico, bi e
unicaudal
μ=μ0
t (teste t de Student)
Simétrico, bi e
unicaudal
# testando a
média
σ # sendo
conhecido
# testando a
média
μ1 =μ 2 # amostras
comparativas de
médias
σ # desconhecido
̄x−μ
z= σ 0
√n
Pág 155, exp 8.6
Pág 215, exp 10.4
x −μ 0
̄
S
√n
Pág 164, exp 8.14
Pág 217, exp 10.5
t=
summary(aov1)
18) Gerar Graficos
18.1) Envia gráficos para arquivo. Se plot mostra vários gráficos use %d para
numerar as saida automaticamente. Após voltar dispositivo para tela.
>png(file=“figura%d.png”)
16) Regressão Linear e Não-Linear
Após voltar dispositivo para tela.
16.1) Estrutura do arquivo padrão de entrada. Primeira linha é o cabeçalho.
Separador por espaço
y
1
2
3
#Análise de Variancia FAT
aov1 <- aov(obs ~ fa*fb, data=dados)
x1 x2
4 6
5 7
6 9
16.2) Script para análise Regressão Linear
eqreg<-"y~x" ou "y~x+I(x^2)" ou "y~x1+x2"
dados<-read.table(file=”dados”,head=T)
coefreg<-lm(eqreg,data=dados)
cor(dados)
confint(coefreg)
plot(coefreg)
summary(coefreg)
anova(coefreg)
influence(coefreg)
invisible(library(MASS))
stepAIC(coefreg,direction="both")
predict.lm(coefreg,newdata=data.frame(x=c(...)),interval="confi
dence",se.fit=T)
predict.lm(coefreg,newdata=data.frame(x=c(...)),interval="predi
ction",se.fit=T)
>dev.off()
18.2) Exemplos de gráficos.
x<-c(1,2,3,4,5,6,7,8,9)
y1<-3*log(x)
y2<-10/x
y3<-log(x)
plot(x,y1,ann=FALSE,type='o',
col='red',lty=1,lwd=1,pch=22,cex=1,ylim=c(0,10),xlim=c(0,10))
lines(x,y2,col='blue',lty=2,lwd=3)
points(x,y3,col='green',lwd=5,pch=21,cex=5)
title(main='Grafico', col.main='blue', font.main=1)
title(xlab='xXxX', col.lab='black', font.lab=2)
title(ylab='yYyY', col.lab='black', font.lab=3)
legend('topright',legend=c('simbolo+linha','linha','simbolo'),c
ol=c('red','blue','green'),lwd=c(1,3,5),lty=c(1,2,0),pch=c(22,N
A,21))
Em que: ann=FALSE(sobrescreve título dos eixos x e y). type=Tipo de grafico
(p=ponto;l=linhas;o= ponto e linha). col=cor do grafico(red;blue;green;...).
lty=tipo de linha, veja ilustração. lwd=espessura da linha. pch=tipo do ponto,veja
ilustração. cex=tamanho do ponto. xlim=limites de x. ylim=limites de y.
main=título do grafico. xlab=texto do eixo x. ylab=texto do eixo y. col.main=cor
do texto do titulo. col.lab=cor do texto do eixo. font.main=tipo da fonte do título
(1=simples;2=negrito;3=italico;4=negrito e itálico).
16.3) Script para análise Regressão Não-Linear
eqreg<-"y~1/x1+x2"
dados<-read.table(file=”dados”,head=T)
coefreg<-nls(eqreg,data=dados,start=list(x1=0.1,x2=0.2))
…
Apesar de bastante otimizado, este procedimento não-linear de
ajustamento/regressão depende do número de dados, do tipo de equação a ser
ajustada e das estimativas iniciais dos coeficientes, podendo não convergir
satisfatoriamente em alguns casos.
17) Delineamento Experimental
17.1) Estrutura do arquivo padrão de entrada. Primeira linha é o cabeçalho.
Separador por espaço. Os Delineamentos Esperimentais serão: (1) Inteiramente
Casualizado – IC. (2) Completamente Aleatorizado em Bloco – CAB. (3) Fatoriais
– FAT. A tabela a seguir apresenta a estrutura dos dados de entrada para cada um,
em que: coluna “trat”, “bloco”,”fa” e “fa” do tipo factor, “obs” do tipo numérica.
As observações podem ter tamanhos diferentes para cada tratamento
IC
CAB
FAT
trat
obs
trat
bloco
obs
fa
fb
obs
1
y
1
1
y
1
1
y
1
y
1
2
y
1
1
y
1
y
1
3
y
1
2
y
2
y
2
1
y
1
2
y
2
y
2
2
y
2
1
y
2
y
2
3
y
2
1
y
2
y
2
2
y
2
2
y
17.2) Script de análise
#Leitura dos dados IC
quadro <read.table(file=”dados”,head=T,colClasses=c(trat='factor',obs='
numeric'))
#Leitura dos dados CAB
quadro <read.table(file=”dados”,head=T,colClasses=c(trat='factor',bloco
='factor',obs='numeric'))
#Leitura dos dados FAT
quadro <read.table(file=”dados”,head=T,colClasses=c(fa='factor',fb='fac
tor',obs='numeric'))
#Análise de Variancia IC
aov1 <- aov(obs ~ trat, data=dados)
#Análise de Variancia CAB
aov1 <- aov(obs ~ trat + bloco,, data=dados)
Resumo R. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:24 hs
Página 3 de 4
/ie_catalunha_tarefa/resultados
> dados <- read.table("dados", head = T)
> summary(dados)
x
y
Min.
:1.0
Min.
:4.0
1st Qu.:1.5
1st Qu.:4.5
Median :2.0
Median :5.0
Mean
:2.0
Mean
:5.0
3rd Qu.:2.5
3rd Qu.:5.5
Max.
:3.0
Max.
:6.0
> sink()
21.4) Processando a analise a partir de um script shell, considere o script
/cn_catalunha_tarefa/estatistica.sh
#!/bin/bash
Rscript estatistica.sr
21.5) Mudando a permissão do script para execução, caso necessário
$ chmod 777 estatistica.sh
21.6) Processando o script shell, teremos o mesmo resultado do item 21.2
$ ./estatistica.sh
19) Letras Gregas e Equações matemáticas
Use os nomes das letras assim:
Α α alpha
Β β beta
Γ γ gamma
Δ δ delta
Ε ε epsilon
Ζ ζ zeta
Η η eta
Θ θ theta
Ι ι iota
Κ κ kappa
Λ λ lambda
Μ μ mu
Ν ν nu
Ξ ξ xi
Ο ο omicron
Π π pi
Ρ ρ rho
Σ σ sigma
Ττ tau
Υ υ upsilon
Φ φ phi
Χ χ chi
Ψ ψ psi
Ωω omega
20) Testes de Hipoteses
Em que teste é a estatistica do teste em questão podendo ser z,t,f,
Rejeita H0
Região Crítica
p-value<
α
teste< teste α
Não Rejeita H0
p-value>
α
teste
χ
22) Referências Bibliograficas
Maior parte deste material foi escrito com base no estudo e entendimento da teoria
matemática e do software. Contudo algumas partes foram contribuições adaptadas
dos seguintes autores.
(1) http://www.statmethods.net/advgraphs/axes.html
(2) http://stat.ethz.ch/R-manual/
2
Rejeita H0
Região Crítica
p-value<
α
teste> teste α
21) Via terminal e Script Shell
21.1) Considere o seguinte programa
/ie_catalunha_tarefa/estatistica.sr
sink('resultados')
dados<-read.table('dados',head=T)
summary(dados)
sink()
/ie_catalunha_tarefa/dados
x
1
2
3
y
4
5
6
21.2) Processando programa via terminal, modo 1.
$ Rscript estatistica.sr
Neste caso o script r é processado mas não mostra os comandos de entrada, apenas
resultado do comando.
/ie_catalunha_tarefa/resultados
x
Min.
:1.0
1st Qu.:1.5
Median :2.0
Mean
:2.0
3rd Qu.:2.5
Max.
:3.0
y
Min.
:4.0
1st Qu.:4.5
Median :5.0
Mean
:5.0
3rd Qu.:5.5
Max.
:6.0
21.3) Processando programa via terminal, modo 2.
$ Rscript -e "source('estatistica.sr',echo=T)"
estatistica.sr
Neste caso o script r é processado e mostra todos os comandos de entrada e o
resultado dos comandos.
Resumo R. Prof. Dr. Catalunha - Versão atualizada em 23/04/2013 às 08:24 hs
Página 4 de 4
Instalando Linux e Outros Softwares
Sumário
1 Introdução..........................................................................................................................................1
2 Sistema Operacional..........................................................................................................................1
2.1 Usando o Linux - no seu PenDrive............................................................................................2
2.2 Usando o Linux - instalado no seu HD......................................................................................4
2.3 Instalando Softwares Diretamente.............................................................................................4
2.3.1 Instalando OCTAVE...........................................................................................................4
2.3.2 Instalando MAXIMA e GNUPLOT...................................................................................4
2.3.3 Instalando R.......................................................................................................................4
2.3.4 Instalando Editores de Texto..............................................................................................5
3 Cache do navegador..........................................................................................................................5
1
Introdução
Nas minhas disciplinas são adotados obrigatoriamente algumas ferramentas computacionais
para auxílio no processamento dos dados. Seguem alguns orientações para melhorar instalação e
configuração destas ferramentas.
Estaremos desenvolvendo todas as atividades na plataforma linux, utilizando o terminal
como interface genérica.
Para processamento matemático numérico e o ambiente de linguagem de programação será
adotado o OCTAVE.
O processamento matemático simbólico será desenvolvido no MÁXIMA.
As análises estatísticas serão desenvolvidas no R.
A geração de gráficos, em formato "png" será feita por padrão GNUPLOT. Caso seja
necessário o OCTAVE, MÁXIMA ou R será adotado para geração de gráficos.
Como editor de relatório das tarefas e código dos programas estaremos utilizando o editor de
textos GEDIT, ou VIM, ou qualquer outro editor de textos simples.
O OPENOFFICE será adotado como ferramenta de escritório para formatação complexa
em textos, uso de planilhas, confecção de "slides" para apresentação e desenhos. Somente para
trabalhos específicos quando solicitados.
2
Sistema Operacional
Estaremos desenvolvendo todas as atividades na plataforma Linux, Distribuição Ubuntu
versão 12.04, o site oficial é (http://www.ubuntu-br.org/), você pode utilizar qualquer ou
distribuição linux. E instale os programas anteriormente mencionados conforme orientações do item
2.3.
Você poderá utilizar o linux no pendrive ou mesmo instalar no hd de seu computador.
Recomendo instalar no seu hd pois a demanda de trabalhos neste ambiente será grande, e o
pen-drive por lhe trazer alguns atrasos.
Nos tutores que se seguem usaremos muito o termo “*.iso”, que quer dizer um imagem de
dados pronto para ser gravado em cd/dvd/pendrive.
Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09
Pág.: 1 de 5
2.1 Usando o Linux - no seu PenDrive
Você pode usar esta distribuição no pendrive, é muito simples. Você não perde o uso do
pendrive para windows, carro, aparelho de som ou outras aplicações. Além de permitir que você
possa instalar programas no linux do pendrive e guardar arquivos como se estivesse num linux
instalado no seu hd. Você também acessa ao hd windows normalmente.
Para isto siga estes passos:
Passo 01:
Tenha em mãos um pendrive de no mínimo 4GB. Faça um backup dos dados deste pendrive.
Delete todos os dados do pendrive.
Passo 02:
Pegue a imagem iso do ubuntu no site oficial e copie para este pendrive.
Passo 03:
Acesse a um computador Linux em qualquer lugar. Copie a imagem iso do ubuntu do seu
pendrive para este computador.
Passo 04:
Neste mesmo computador abra o terminal e digite: usb-creator-gtk . Abrirá então uma
janela como a da Figura 1.
Passo 05A:
Primeiro selecione a iso que você baixou e foi salva no computador, pois esta será a versão
que será instalada no pendrive, veja letra A na Figura 1.
Passo 05B:
Se o pendrive já foi reconhecido tudo bem. Senão, retire e insira seu pendrive para
reconhecimento da USB a ser instalada e clique em apagar disco. Veja letra B na Figura 1. Você
pode formatar o pendrive neste momento, caso não tenha preparado o mesmo anteriormente, caso
positivo pule esta opção.
Passo 05C:
Selecione "Armazenados no espaço adicional reservado". Mova então a barra até
aproximadamente 50% da mesma. Assim você tem 50% do espaço livre após instalação para uso
geral e 50% para uso do linux. Neste caso estou usando meu pendrive chamada catalunha2, com
4GB, não sobrando nenhum espaço livre no pendrive após a instalação. Precisarei de outro pendrive
para dados. Veja letra C na Figura 1.
Passo 05D:
Clique em "Criar um disco inicializável". Após este procedimento você terá um linux
completo num pendrive. Desligue o computador e retire o pendrive. Veja letra D na Figura 1.
Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09
Pág.: 2 de 5
Figura 1: Janela para instalação do linux no pendrive
Passo 06:
Caso tenha espaço disponível no pendrive, você verá que o pendrive possui alguns arquivos
de sistema na raiz do mesmo, não modifique estes arquivos. Sugiro criar uma pasta com o nome
“0UsoGeral” para que dentro desta pasta você possa colocar os arquivos de seu interesse geral.
Passo 07:
Quando chegar a um computador que deseja trabalhar, estando o computador ainda
desligado, coloque o pendrive. Ligue o computador.
Inicio o “boot” do sistema pelo pendrive e ele irá então reconhecer o linux no pendrive, será
listada uma opção de instalar o linux no computador local ou apenas testar. Selecione apenas
testar.
O linux irá reconhecer rede e outros periféricos e estará pronto para uso. Caso ao ligar o
computador ele não reconheça o linux do pendrive, você deve habilitar a leitura da usb na
inicialização, para isto procure um profissional da área que ele lhe auxiliará.
Passo 08:
Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09
Pág.: 3 de 5
O Ubuntu necessita apenas da instalação dos demais programas Octave, Maxima, Gnuplot,
R, conforme item 2.3.
2.2 Usando o Linux - instalado no seu HD
Caso possua um computador e queira instalar o Ubuntu, você não perderá o seu windows, o
Linux cria uma área no hd para ele e gerencia a inicialização permitindo que você escolha entre
Linux ou Windows.
Para este processo é interessante a presença de um amigo da ciência da computação para
tirar algumas dúvidas que possam surgir, mas o processo é simples. Lembre-se antes de salvas
seus dados do Windows em “backup” externo.
Os passos são: (a) estando o Windows instalado; (b) inicie o computador, dê boot, pelo
pendrive, estando o linux instalado no pendrive; (d) selecione a opção instruções de instalação. (e)
instale conforme desejar.
2.3 Instalando Softwares Diretamente
Pode acontecer de você ter um linux em seu computador e queira apenas instalar os
softwares da disciplina, veja os itens a seguir.
2.3.1 Instalando OCTAVE
Para instalar o OCTAVE no linux, é muito simples, atualize os repositórios com o seguinte
comando:
sudo apt-get update
Instale o OCTAVE com o seguinte comando:
sudo apt-get install octave3.2 octave3.2-doc octave3.2-info octave-symbolic octave-odepkg
octave-statistics
2.3.2 Instalando MAXIMA e GNUPLOT
Para instalar o MAXIMA e GNUPLOT no linux, é muito simples, atualize os repositórios
com o seguinte comando:
sudo apt-get update
Instale o Maxima com o seguinte comando:
sudo apt-get install maxima maxima-doc xmaxima
Após esta operação o Gnuplot também estará atualizado, pois o máxima precisa dele em
suas bibliotecas gráficas.
2.3.3 Instalando R
Para instalar o R no linux, é muito simples, atualize os repositórios com o seguinte
comando:
sudo apt-get update
Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09
Pág.: 4 de 5
Instale o R com o seguinte comando:
sudo apt-get install r-base
2.3.4 Instalando Editores de Texto
O gedit é o editor de textos padrão do ubuntu, já vem instalado em todas as distribuições.
Caso você não queira utilizar o gedit, para instalar o VIM no linux, é muito simples,
atualize os repositórios com o seguinte comando:
sudo apt-get update
Instale o VIM com o seguinte comando:
sudo apt-get install vim
Utilizo o vim nas vídeo-aulas e nos tutoriais por organizar melhor os arquivos na pasta da
tarefa e por abrir menos janelas na tela. Mas para fins de construção dos arquivos de texto não faz
diferença usar gedit ou vim.
3
Cache do navegador
Quando o nagevador de internet faz um download um arquivo pela primeira vez ele guarda
uma cópia no cache, depósito auxiliar de armazenamento, com isto quando vc tenta fazer um
download do arquivo novamente ele ao invês de usar a internet e sobrecarregar a rede ele presume
que vc queira o mesmo arquivo anterior e busca do cache interno do computador local. Por isto
alguns de vcs tentam fazer um download da ListaDeTarefas da disciplina, formulário ou outro
material e encontram o mesmo com uma versão desatualizada. Portando precisamos desativar o
cache para fazer um download sempre do arquivo original da internet.
Apenas para o navegador de internet Mozzila Firefox.
No Linux
No Menu encontre o seguinte caminho: Editar -> Preferencias -> Avançado -> Rede
No item Armazenamento offline ou desligado, configure o cache para "0 MB" e clique em "Limpar
cache agora".
Quaisquer outras orientações serão atualizadas posteriormente.
Prof Dr. Catalunha
Auxílio Computacional - Prof. Dr. Catalunha - Atualizado em 03/07/13 às 14:09
Pág.: 5 de 5
Download

ROTEIRO DE AULA MODELAGEM MATEM´ATICA