Sie sind auf Seite 1von 54

UNIVERSIDADE ESTADUAL DE MARINGÁ

CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA QUÍMICA
PROGRAMA DE PÓS GRADUAÇÃO
MODELAGEM E SIMULAÇÃODE PROCESSOS

RELATÓRIO 01

ACADÊMICOS:
MATHEUS YURI GRITZENCO DE GIOVANNI PG 53632

Maringá, PR.
13 de Abril de 2018
MATHEUS YURI GRITZENCO DE GIOVANNI PG 53632

RELATÓRIO 01
Introdução ao MATLAB para Engenharias

Trabalho apresentado junto ao programa de Dou-


torado em Engenharia Química da Universidade
Estadual de Maringá, como requisito parcial de
avaliação da disciplina Modelagem e Simulação
de Processos, ministrada pelo Luiz Mário de Ma-
tos Jorge.

13 de Abril de 2018
Maringá, PR
SUMÁRIO

1. Introdução............................................................................................................................ 9
2. Definição do Problema ...................................................................................................... 10
3. Resoluções dos problemas e análises ................................................................................ 10
3.1. Características Básicas ........................................................................................... 10
3.2. Operação com Matrizes, Vetores e Conjuntos ....................................................... 15
3.3. Arquivos m-file ...................................................................................................... 21
3.4. Gráficos .................................................................................................................. 23
3.5. Operadores Relacionais e Lógicos ......................................................................... 32
3.6. Análise Numérica ................................................................................................... 35
3.7. Entrada e Saída para o Excel .................................................................................. 43
3.8. Interface com usuário ............................................................................................. 45
3.9. Exercícios ............................................................................................................... 47
4. Conclusões ........................................................................................................................ 58
5. Referências Bibliográficas ................................................................................................ 58
Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

1. INTRODUÇÃO

No sentido exato, MATLAB (MATrix LABoratory) é uma linguagem de programação


poderosa e interativa, que apresenta características muito mais avançadas e fáceis de serem
usadas do que as demais linguagens de programação, tais como BASIC, FORTRAN, MAPLE,
PASCAL e C.

O MATLAB integra análise numérica, calculo com matrizes, processamento de sinais e


construção de gráficos com ambiente fácil de usar, onde problemas e soluções são expressos
somente da forma como eles são escritos matematicamente, ao contrário da programação tradi-
cional, e está disponível para diferentes plataformas como Windows, Macintosh, Linux e
UNIX.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 9


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

2. DEFINIÇÃO DO PROBLEMA
Uma das referências confeccionadas pela Universidade Estadual de Maringá sobre o
assunto é a apostila “Introdução de MATLAB para Engenharias”. Para iniciar as atividades da
disciplina, o aprendizado e a ambientação com o MALAB, este relatório visa reproduzir tal
apostila no programa, garantindo assim o entendimento das funções básicas do programa para
futuros trabalhos. A versão que será utilizada para confecção é a R2015a.

3. RESOLUÇÕES DOS PROBLEMAS E ANÁLISES


Por se tratar de uma reprodução de material já existente, cuja intenção é a inserção dos
usuários às funções básicas do MATLAB, serão realizadas as resoluções dos problemas e, logo
em seguida, a análise de algum ponto que caso seja necessário.

3.1. Características Básicas


Assim que o programa é iniciado, observamos a tela de operação conforme a Figura 1.
É possível observar a Tela de Comandos (Command Window), o diretório no qual o programa
foi instalado (Current Folder), os dados envolvidos na programação (Workspace) e o histórico
de comandos (Command History). Essas janelas podem ser alteradas em suas dimensões ao
clicar e arrastar os limites da mesma, assim como podem ser ocultadas ou exibidas. Para alterar
o layout, basta clicar na opção “Layout” na barra de ferramentas superior.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 10


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Figura 1 – Interface do MATLAB R2015a com o usuário

O prompt de comando (ou seja, o interpretador de comando) padrão para o MATLAB é


“>>”. Ele interpretará o comando escrito após este interpretador e realizará o mesmo após pres-
sionar a tecla ENTER. Como exemplo inicial, podemos utilizar as propriedades matemáticas
apresentadas na linguagem do MATLAB, conforme é disposto na tabela 1:

Tabela 1 – Propriedades Matemáticas Básicas

OPERAÇÃO SÍMBOLO

Adição (a + b) +

Subtração (a – b) -

Multiplicação (a * b) *

Divisão (a / b) /

Potenciação ^

Exemplo 01:

>> (4*3)^2+1
ans = 145
>> a=153/4
a = 38.2500
>> b=3^2-5-6/3*2
b=0
>> c=3^2-5-6/(3*2)
c=3
>> d=4*3^2+1
d = 37

Alguns comandos interessantes é o “who”, que mostra as variáveis definidas (também


podem ser observadas no Workspace), o comando “clear”, que apaga as variáveis da memória
e o comando “clc”, que limpa as variáveis da memória. Para chamar comandos já utilizados,
utiliza-se as teclas de cursos (←, ↑, →, ↓).

Relatório 01 – Introdução ao MATLAB para Engenharias Página 11


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Ao você digitar um comando básico com cálculo matemático, a variável resposta é au-
tomaticamente definida como “ans”, podendo sobrescrever a resposta anterior. Se você deseja
definir uma variável específica para a resposta, deverá definir ela antes do comando.

É importante lembrar que o divisor decimal padrão do MATLAB é o americano, ou seja,


utilizam-se pontos ao invés de virgulas. Caso o último comando da linha seja um ponto e virgula
(;), a resposta não será apresentada na janela de comando. Segue exemplo

Exemplo 02:

>> a=57+14;
>> b=34/9;
>> c=a+b
c = 74.7778

É possível redefinir variáveis quantas vezes forem necessárias, conforme exemplo


abaixo. O MATLAB não aceita pontuações ou acentos em suas variáveis e elas são sensitivas
(diferencial maiúsculas e minúsculas).

Exemplo 03:

>> carros=40;
>> caminhões=60;
>> barcos=20;
>> frota=carros+caminhões+barcos
Frota=120
>> barcos=40;
>> frota
Frota=140

Conforme exemplo acima, é visto que uma vez definidas a variável é possível substi-
tuir os valores declarados, como ocorre para os barcos. As variáveis no MATLAB podem ser
excluídas independentemente, por exemplo: se fosse digitado “clear barcos” seria excluído
somente a variável “barcos”, enquanto se fosse digitado o comando “clear” seriam excluídas
todas as variáveis do espaço de trabalho.

É possível definir as formas possíveis de exibição dos números na Janela de Coman-


dos, de acordo com a Tabela 2 na página seguinte.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 12


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Tabela 2 – Formatos de Visualização de Dados

COMANDO EXEMPLO OBSERVAÇÕES

Format long 2.777777777777778 16 digitos

Format short e 2.7778e+000 5 digitos mais expoente

Format long e 2.777777777777778e+000 16 digitos mais expoente

Format bank 2.78 2 digitos decimais

Format + + Positivo, negativo ou zero

Format rat 25/9 Aproximação racional

Format short 2.7778 Apresentação padrão

O MATLAB também possui variáveis pré-definidas, conforme pode ser visualizado na


tabela 3.

Tabela 3 – Variáveis Numéricas

VARIÁVEL VALOR

Ans Nome da variável padrão usado para resultados

Pi 3,1416

inf Infinito, por exemplo 1/0

NaN Não número, 0/0

Iej 𝑖𝑖 = 𝑗𝑗 = √−1

O programa apresenta um grande número de funções matemáticas elementares já previ-


amente definidas, conforme é disposto na tabela 4 na página seguinte

Relatório 01 – Introdução ao MATLAB para Engenharias Página 13


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Tabela 4 – Funções matemáticas elementares

FUNÇÃO OBSERVAÇÕES
Abs(x) Valor absoluto ou módulo de um número complexo
Acos(x) Arco cosseno
Acosh(x) Arco cosseno hiperbólico
Angle(x) Ângulo de um numero complexo
Asin(x) Arco seno
Asinh(x) Arco seno hiperbólico
Atan(x) Arco tangente
Atanh(x) Arco tangente hiperbólico
Conj(x) Conjugado complexo
Cos(x) Cosseno
Cosh(x) Cosseno hiperbólico
Exp(x) Exponencial
Imag(x) Parte imaginária de um número complexo
Log(x) Logaritmo natural
Log10(x) Logaritmo na base 10
Real(x) Parte real de um número complexo
Rem(x,y) Resto da divisão de x por y
Sin(x) Seno
Sinh(x) Seno hiperbólico
Sqrt(x) Raiz quadrada
Tan(x) Tangente
Tanh(x) Tangente hiperbólica

Relatório 01 – Introdução ao MATLAB para Engenharias Página 14


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

3.2. Operação com Matrizes, Vetores e Conjuntos

O MATLAB foi criado para solucionar problemas de álgebra linear que estão presentes
em diversos tópicos dentro das engenharias, então é de grande importância definirmos as ope-
rações com matrizes. Assim sendo, a entrada de dados de uma matriz pode ser das seguintes
formas:

• Lista explícita de elementos;


• Gerar uma matriz, utilizando comandos e funções;
• Criar um arquivo tipo .m (conforme tópico adiante);
• Carregar dados de arquivos externos.

Uma observação importante é que não há comandos de dimensões ou tipos de dados. A


forma mais simples de introduzir uma matriz, via lista explícita, podem ser através das
convenções abaixo:

• Separar os elementos da lista de elementos através de espaços ou vírgulas;


• Colocar os elementos entre colchetes, [].
• Usar ponto e vírgula (;) para indicar o fim de uma linha;

Exemplo 04:

>> A= [1 2 3
456
7 8 9]
A= 123
456
789

As operações matemáticas possíveis com matrizes estão dispostas na tabela 5. Estas


operações aplicam-se também para produtos escalares (matrizes 1x1). Caso as dimensões das
matrizes sejam incompatíveis para a operação matricial proposta, uma mensagem de erro será
gerada, conforme o exemplo 05. Para operações em conjuntos os comandos são diferentes (adi-
cionando um ponto “.” em frente a operação de multiplicação ou divisão), conforme exemplo
06.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 15


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Tabela 5 – Operações matemáticas disponíveis para matrizes

SÍMBOLO PARA OPERA- SÍMBOLO PARA OPERA-


OPERAÇÃO ÇÕES COM CONJUNTOS
ÇÕES COM MATRIZES

Adição + +

Subtração - -

Multiplicação * .*

Potenciação ^ .^

Transposta conjugada ’ ’

Divisão à esquerda \ .\

Divisão à direita / ./

Exemplo 05:

>> A= [1 2 3; 4 5 6; 7 8 9];
>> B=A’;
>> C=A+B
C= 2 6 10
6 10 14
10 14 18
>> D=[1 1 1];
>> E=D*C
E= 18 30 42
>> F=C*D
Error using *
Inner matrix dimensions must agree.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 16


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Exemplo 06:

>> A= [1 2 3];
>> B=[4 5 6];
>> C=A+B
C= 5 7 9
>> E=A.*B
E= 4 10 18
>> F=C*D
F= 0.2500 0.4000 0.5000

A forma mais simples de se criar uma matriz linha é declarar o valor inicial (0), o espa-
çamento entre pontos (0.1) e o valor final (1), todos separados por dois pontos (:), como exem-
plo abaixo:

Exemplo 07:

>> x=0:0.1:1
x=
Columns 1 through 5
0 0.1000 0.2000 0.3000 0.4000

Columns 6 through 10
0.5000 0.6000 0.7000 0.8000 0.9000

Column 11
1.0000

O comando “linspace” cria uma matriz linha, na qual o primeiro número dentro do pa-
rêntese representa o primeiro valor, o segundo número representa o último valor e o terceiro
número representa o número de valores que se deseja ter neste intervalo, conforme exemplo
08.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 17


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Exemplo 08:

>> x=linspace(0,1,11)
x=
Columns 1 through 5
0 0.1000 0.2000 0.3000 0.4000

Columns 6 through 10
0.5000 0.6000 0.7000 0.8000 0.9000

Column 11
1.0000

>> x=linspace(0,1,21)
x=
Columns 1 through 5
0 0.0500 0.1000 0.1500 0.2000

Columns 6 through 10
0.2500 0.3000 0.3500 0.4000 0.4500

Columns 11 through 15
0.5000 0.5500 0.6000 0.6500 0.7000

Columns 16 through 20
0.7500 0.8000 0.8500 0.9000 0.9500

Column 21
1.0000

O comando “logspace” cria um vetor da mesma maneira que o “linspace”, mas os va-
lores estarão na base 10.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 18


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Exemplo 09:

>> x=logspace(0,2,11)

x=
Columns 1 through 5
1.0000 1.5849 2.5119 3.9811 6.3096

Columns 6 through 10
10.0000 15.8489 25.1189 39.8107 63.0957

Column 11
100.0000

É possível efetuar calculos dentro das matrizes, como é visto exemplo abaixo:

Exemplo 10:

>> x=[-1.3 sqrt(3) (1+2+3)*4/5]


x = -1.3000 1.7321 4.8000

Elementos individuais de uma matriz podem ser determinados individualmente com índices
dentro de parênteses, (n,m), no qual “n” representa a linha e “m” a coluna.

Exemplo 11:

>> A=[1 2;3 4];


>> A(2,1)
ans = 3
>> A(2,2)
ans = 4

Em diversas aplicações, a dificuldade maior existente é de resolver um conjunto de


equações lineares. Para demonstrar isso, considere o exemplo abaixo:

Relatório 01 – Introdução ao MATLAB para Engenharias Página 19


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Exemplo 12 – Resolva o sistema de equações abaixo:

𝑥𝑥1 − 3𝑥𝑥2 + 2𝑥𝑥3 = 6


�4𝑥𝑥1 + 𝑥𝑥2 + 6𝑥𝑥3 = 10
7𝑥𝑥1 + 4𝑥𝑥2 = 13

1 −3 2 𝑥𝑥1 6
𝑥𝑥
Considerando que Ax=B, ou �4 1 6� � 2 � = �10�, aplicando no MATLAB temos:
7 4 0 𝑥𝑥3 13

>> A=[1 -3 2;4 1 6;7 4 0]


A=
1 -3 2
4 1 6
7 4 0

>> B=[6;10;13]
B=
6
10
13

>> x=inv(A)*B
x=
2.4545
-1.0455
0.2045

>> sprintf('x1=%f\n',x(1,1)),sprintf('x2=%f\n',x(2,1)),sprintf('x3=%f\n',x(3,1)),
ans = x1=2.454545
ans = x2=-1.045455
ans = x3=0.204545

Relatório 01 – Introdução ao MATLAB para Engenharias Página 20


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Para a resolução foi utilizado o comando “inv(A)”, que determina o inverso da matriz
A. Se utilizarmos o comando “sprintif”, podemos identificar as variáveis mais claramente de
acordo com o valor numérico na posição (n,m) da matriz resposta. Alguns outros comandos
para matrizes estão na tabela abaixo.

Tabela 5 – Comandos Especiais para Matrizes

COMANDO DESCRIÇÃO
A’. É a matriz transposta da matriz A
[LÚ]=lu(A) Calcula a fatoração LU da matriz quadrada A
[Q,R]=qr(A) Calcula a fatoração QR da matriz A
[U,S,V]=svd(A) Calcula a decomposição de valor singular da matriz A
Rank(A) Retorna a ordem da matriz A
Inv(A) Acha inverso da matriz quadrada A
Det(A) Retorna o determinante da matriz quadrada A
Zeros(n) Gera uma matriz de zeros quadrada nxn
Ones(n,m) Gera uma matriz de um por n por m
Rand(n) Gera uma matriz aleatória positiva ou um único valor positivo
Randn(n) Gera uma matriz aleatória ou um único valor
Eye(n) Gera uma matriz identidade

3.3. Arquivos m-file

Para editar um programa com muitos comandos, torna-se conveniente a criação de um


arquivo M-File. Podemos construir um arquivo com sequência normal de linha de comandos,
da mesma maneira que era feito na janela de comandos, onde podemos realizar chamada de
outros arquivos .m – estes arquivos são chamados de scritps. Os scripts são feitos diretamente
no editor do MATLAB ao clicar na opção “NEW  Script” na barra de ferramentas. Este ar-
quivo será salvo com a terminação .m e sua execução será por meio da digitação do seu nome
diretamente no sinal de prompt: “>>”. Os scritps devem ser salvos na pasta “bin” do MATLAB
com o nome da função gerada e não podem possuir acento ou espaços para rodarem correta-
mente. É possível fazer o script rodar também ao clicar no botão “RUN” na barra de ferramen-
tas.
Relatório 01 – Introdução ao MATLAB para Engenharias Página 21
Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Figura 2 – Representação da janela do MATLAB com o script.

Exemplo 13:

Crie um novo script e escreva o seguinte:


%Esta função soma
Function c=soma(a,b)
c=a+b;

Salve a função como soma.m, vá até a janela de comandos do MATLAB e digite:


>> C=soma(2,3)
C=5

Neste script definimos a função soma ao digitar “function”. Cada função deve ser defi-
nida com um arquivo e possui suas próprias variáveis locais que são independentes das outras
funções e do espaço de trabalho. Todavia, é possível definir variáveis que se desejam ser globais
através do comando “global”. Note que ao adicionar “%” antes da linha, a mesma é vista como
linha de texto e não afetará nada a programação do script. A partir de então, todos os exemplos
serão feitos através do editor do MATLAB.
Relatório 01 – Introdução ao MATLAB para Engenharias Página 22
Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

3.4. Gráficos
O sistema gráficos do MATLAB tem uma variedade de técnicas para apresentação e
visualização de dados incorporada. Eles são definidos em dois grupos: gráficos de vetores (bi-
dimensionais) e de matrizes (tridimensionais).

3.4.1. Gráficos em 2D
Segue na tabela abaixo as funções para confecção de gráficos bidimensionais e também
comandos para adicionar informações.

Tabela 6 – Funções para gráficos bidimensionais

FUNÇÃO DESCRIÇÃO

Plot Cria um gráfico de vetores ou de colunas de matrizes

Loglog Cria um gráfico utilizando escalas logarítmicas para ambos os eixos

Semilogx Cria um gráfico utilizando escalas logarítmicas no eixo x e escalar no eixo y

Semilogy Cria um gráfico utilizando escalas logarítmicas no eixo y e escalar no eixo x

Title Adiciona um titulo ao gráfico

Xlabel Define um nome para a variável do eixo x

Ylabel Define um nome para a variável do eixo y

Text Adiciona um texto em lugar específico

Gtext Adiciona um texto ao gráfico, utilizando o mouse

Grid Ativda as linhas de grade

Legend Adiciona um texto em caixa, conforme local pré-definido

subplot Gera vários eixos em uma mesma janela

Relatório 01 – Introdução ao MATLAB para Engenharias Página 23


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Exemplo 14:
x=-2*pi:0.1:pi;
y=cos(x);
plot(x,y)
title('gráfico de f(x)=cos(x)')
xlabel('eixo x')
ylabel('eixo y')
legend('cox(x)')

A resposta gerada ao clicar em “RUN” é a figura 3:

gráfico de f(x)=cos(x)
1

cox(x)
0.8

0.6

0.4

0.2
eixo y

-0.2

-0.4

-0.6

-0.8

-1
-8 -6 -4 -2 0 2 4

eixo x

Figura 3 – Gráfico em 2D

Para facilitar a visualização é possível costumar as respostas dos gráficos, conforme é


visto na tabela 7 na página seguinte. Como exemplo, tempos: plot(X,Y,’b *’), função que gera
um asterisco azul em cada ponto de dados. Se não for definida uma cor, o programa automati-
camente gera cores em uma ordem pré-definida.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 24


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Tabela 7 – Estilos de Linha, Marcadores e Cor

SÍMBOLO COR SÍMBOLO ESTILO DE LINHA


Y Amarelo . Ponto
M Magenta O Circulo
C Ciano X X
R Vermelho + Sinal positivo
G Verde * Asterisco
B Azul - Sólida
W Branco : Pontilhada
k Preto -. Traço e ponto

Exemplo 15:
x=0:0.1:2;
y1=2*x.^2;
y2=2*x.^1.5;
plot(x,y1,'b*',x,y2,'m:')
xlabel('X')
ylabel('Y')

A resposta gerada ao clicar em “RUN” é a figura 4:

Y1

7 Y2

4
Y

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
X

Figura 4 – Gráfico em 2D com duas curvas diferenciadas

Há uma variedade de funções especiais para gráficos e que são necessárias em aplica-
ções, seguem abaixo alguma delas.
Relatório 01 – Introdução ao MATLAB para Engenharias Página 25
Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Tabela 8 – Outros tipos de gráficos 2D

FUNÇÃO DESCRIÇÃO

Bar Cria um gráfico do tipo barra

Compass Cria um gráfico de ângulos e módulos de números complexos, em que a re-


presentação dos pontos é feita por setas, com início na origem

Errorbar Cria um gráfico com barras de erros

Feather Cria um gráfico de ângulos e módulos de números complexos, no qual a re-


presentação dos pontos é feita por setas com começo em pontos igualmente
espaçados, ao longo do eixo horizontal

Fplot Avalia uma função e faz o gráfico dos resultados

Hist Cria um histograma

Polar Cria um gráfico em coordenadas polares dos ângulos em função dos raios

Quiver Cria um gráfico do gradiente ou de outro campo do vetor

Rose Cria um histograma de ângulos

Stairs Cria um gráfico similar a um gráfico de barra, mas sem as linhas internas

Fill Desenha um polígono e o preenche com cores sólidas ou interpoladas

3.4.2. Gráfico em 3D

Para gráficos 3D podem ser utilizadas as funções e os comandos de acordo com a tabela
9.

O MATLAB permite a especificação do ponto de visualização do gráfico. Em geral, as


coordenadas são definidas por uma matriz de transformação 4 po 4, que o MATLAB utiliza
para transformar um gráfico 3D em uma tela 2D. Entretanto, o comando “view” ajusta o ponto
de visão atual onde os parâmetros de entrada podem ser o azimute (rotação horizontal) e a
elevação vertical, ambos expressos em graus, ou ainda as coordenadas cartesianas. Os estilos
de linha podem ser os mesmos que a tabela 7.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 26


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Tabela 9 – Outros comandos e funções para gráficos 3D

FUNÇÃO DESCRIÇÃO

Plot3 Plota linhas e pontos em 3D

Contour, contour3 Cria gráficos de contorno

Desenha uma matriz retangular de células cujas cores são determi-


Pcolor
nadas pelos elementos da matriz

Mostra uma matriz como uma imagem através do mapeamento


Image
dos elementos da matriz pelo mapa de cores ativo

Cria gráficos 3D em perspectiva dos elementos da matriz, mostra-


Mesh, meshc, meshz
dos como alturas acima de um plano delimitado

Cria gráficos 3D em perspectiva dos elementos da matriz, mostra-


dos como alturas acima de um plano delimitado. O gráfico é for-
Surf, surfc, surfl
mado pela geração de uma superfície colorida, utilizando os pon-
tos como vértices de um quadrilátero

Cria um polígono 3D e o preenche com cores sólidas ou interpola-


Fill3
das

Zlabel Define um nome para a variável do eixo z

clabel Define identificações para os contornos em gráficos de contorno

Exemplo 16:
t=0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
zlabel('t')
ylabel('eixo y')
xlabel('eixo x')
legend('sin(t),cos(t)')

O resultado é a Figura 5.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 27


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

sin(t),cos(t)

40

30

20
t

10

0
1

0.5 1

0 0.5
0
-0.5
-0.5
eixo y -1 -1 eixo x

Figura 5 – Gráfico de uma curva em 3D

Exemplo 17:

[x,y]=meshgrid(-3:.1:3);
z=x.^2+y.^2;
mesh(x,y,z)
xlabel('x')
ylabel('y');
zlabel('z=x^2+y^2')

O resultado é a figura 6, representando curvas como resposta.

20

15
2
+y

10
2
z=x

0
4

2 4

0 2
0
-2
-2
y -4 -4 x

Figura 6 – Gráfico de uma superfície em 3D

Relatório 01 – Introdução ao MATLAB para Engenharias Página 28


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

3.4.3. Animação
O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz.
A partir das matrizes, é possível gerar os gráficos e , assim, uma sequencia de gráficos sobre-
postos (e assim gerar uma animação)

Existem alguns métodos básicos para gerar animação. Para gráficos em duas dimensões
é utilizado o comando “comet”, mostrando a curva dentro do intervalo definido, e para três
dimensões é usado comando “comet3”.

Exemplo 18:
vo=139; %(m/s) - velocidade inicial de um projétil
theta=45; %graus - ângulo de elevação
a=theta*pi/180; %transformação para radianos
g=9.8; %(m/s²) - aceleração da gravidade
t=0:0.010:16.6; %minutos - Intervalo de tempo
x=(vo*sin(theta))*t; %coordenada x
y=tan(a)*x-0.5*g*(x.^2)/(vo*cos(a)).^2; %coordenada y
comet(x,y);
xlabel('x')
ylabel('y')

O resultado é a Figura 7, representando a resposta.

450

400

350

300

250
y

200

150

100

50

0
0 200 400 600 800 1000 1200 1400 1600 1800
x

Figura 7 – Animação resultante em 2D

Relatório 01 – Introdução ao MATLAB para Engenharias Página 29


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Exemplo 19:
t=-pi:pi/500:50*pi;
comet3(-exp(0.015*t).*cos(t),-exp(0.02*t).*sin(t),t)
O resultado é a Figura 8, representando a resposta.

150

100

50

20
10
10
5
0 0
-10 -5
-20 -10

Figura 8 – Animação resultante em 2D

Para criação de animações em vídeos, existem algumas funções, conforme tabela abaixo.

Tabela 10 – Comandos para Animações


FUNÇÃO DESCRIÇÃO

Avifile (‘nome_arquivo.avi’) Gera um arquivo avi para salvar a animação

Close (ponteiro do arquivo) Fecha o arquivo de filme

Retorna cada pixel da imagem para a variá-


Getframe
vel de frames

Addframe (ponteiro do arquivo, variável Copia cada quadro do gráfico plotado para o
de frames) final do arquivo de vídeo

Axis ([xi xf yi yf zi zf]) Fixa o tamanho dos eixos das coordenadas

Movie (array_pixel) Executa o filme

Movie (array_pixel, n) Executa o filme n vezes

Aviread (nome_arquivo) Le um arquivo de filme avi

Relatório 01 – Introdução ao MATLAB para Engenharias Página 30


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Exemplo 20
m=avifile('msuperf.avi')
x=-3:3;
y=-3:3;
[X,Y]=meshgrid(x,y);
for i=-100:1;
Z=X.^2-(Y.^2);
[X,Y,Z]=peaks(40);
surfl(X,Y,Z./i);
shading interp
axis([-3 3 -3 3 -10 10])
axis off;
F=getframe;
m=addframe(m,F)
end
m=close(m)

O resultado é a Figura 9, porém não é o que ocorre.

Figura 9 – Resultado incorreto para o programa do Exemplo 20

Ao rodar o programa, o primeiro aviso que recebemos é que o comando “avifile” foi
substituído pelo “VideoWriter”, com mesma sintaxe. Ainda assim, ao rodar o programa rece-
bemos a mensagem de que não existe o comand o”addframe” e o resultado é a figura 9, que
não é uma animação.

Ao alterarmos o comando “addFrame” para “writeVideo” e “m=close” para


“close(m”)”, conforme a programação abaixo, obtemos o vídeo salvo na pasta.
m=VideoWriter('msuperf.avi')
open(m)
x=-3:3;
y=-3:3;
[X,Y]=meshgrid(x,y);
for i=-100:1;
Z=X.^2-(Y.^2);
[X,Y,Z]=peaks(40);
surfl(X,Y,Z./i);
shading interp
axis([-3 3 -3 3 -10 10])

Relatório 01 – Introdução ao MATLAB para Engenharias Página 31


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

axis off;
F= getframe;
writeVideo(m,F);
end
close(m);

Figura 10 – Resultado obtido no MATLAB R2015a para o programa do Exemplo 20

3.5. Operadores Relacionais e Lógicos


Os operadores são divididos nos seguintes tipos:

Tabela 11 – Operadores Relacionais e Lógicos

OPERADOR DESCRIÇÃO TIPO DE OPERADOR

< Menor que Relacional

<= Menor ou igual a Relacional

> Maior que Relacional

>= Maior ou igual a Relacional

== Igual a Relacional

~= Diferente Relacional

& E Lógico

Ou Lógico

~ Não Lógico

A função “xor” cria um lógico exclusivo-ou. Uma operação lógica-relacional apresen-


tará como resultado 1, caso seja verdadeira, e 0, caso seja falsa.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 32


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Exemplo 21:

>> A=1:9
A= 1 2 3 4 5 6 7 8 9
>> b1=A>4
b1 = 0 0 0 0 1 1 1 1 1
>> b2=~(A>4)
b2 = 1 1 1 1 0 0 0 0 0
>> b3=(A>3)&(A<6)
b3 = 0 0 0 1 1 0 0 0 0
>> b4=xor((A>2),(A<6))
b4 = 1 1 0 0 0 1 1 1 1

Exemplo 22:

Considere uma equação com as seguintes limitações:

2𝑥𝑥 + 1, 𝑥𝑥 ≤ 5
𝑓𝑓(𝑥𝑥) = �
𝑥𝑥², 𝑥𝑥 > 5
x=0:0.01:10;
f1=(2*x+1).*(x<=5);
f2=(x.^2).*(x>5);
f=f1+f2
plot(x,f)
xlabel('x')

O resultado é a figura 11.


100

90

80

70

60
F(X)

50

40

30

20

10

0
0 1 2 3 4 5 6 7 8 9 10
x

Figura 11 – Gráfico de uma função descontínua

Relatório 01 – Introdução ao MATLAB para Engenharias Página 33


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

3.5.1. Estruturas de Controle de Programas


O MATLAB possui características que permitem o controle de fluxos de comandos pa-
recidos com as encontradas nas linguagens de programação.

O comando “for” permite que um grupo de linhas de comando seja repetido por um
número fixo e pré-determinado de vezes.

Exemplo 23:
for n=1:10;
x(n)=n/2;
end
x

O resultado é:
x= Columns 1 through 5
0.5000 1.0000 1.5000 2.0000 2.5000

Columns 6 through 10
3.0000 3.5000 4.0000 4.5000 5.0000

O comando “while” executa um grupo de comandos em um numero indefinido de ve-


zes, isto é, enquanto uma determinada expressão for verdadeira.

Exemplo 24: Determine o núvel de liquido dentro de um tanque esférico, sabendo que o vo-
lume ocupado é 5m³, o raio do tanque é 1m, utilizando a seguinte equação:

𝜋𝜋𝑟𝑟 2 (3𝑟𝑟 − ℎ)
𝐴𝐴 =
3
v=0.5;
r=1;
cont=1; %contador de iterações
h=0.5; %incremento inicial para o nível de líquido no tanque
e=1; %incremento inicial para o erro
while e>0.00001 %o erro deve ser inferior a este valor
hc=(3*v/(pi*(3*r-h)))^0.5; %cálculo do nível de líquido
cont=cont+1; %cálculo do contador
e=((hc-h)^2)^0.5; %cálculo do erro
h=hc;
end
cont
e
hc

O resultado indicará c = 6 interações, e = 3.1988e-06 de erro e o volume de líquido


hc = 0.4311

Relatório 01 – Introdução ao MATLAB para Engenharias Página 34


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

A estrutura “if-else-end” e “break” são sequencias de comandos executadas condicio-


nalmente. O comando “break” força a interrupção

Exemplo 25:

n=3;
if n<=0, break, end
if rem(n,2)==0
n=n/2
else
n=3*n+1;

Este exemplo foi provavelmente definido para entender a estrutura e gerar uma
função, pois ao rodar no programa não gera resultado algum.

A estrutura “switch” é utilizada quando há muitas alternativas para uma solução. A


variável de entrada pode ser texto ou numérica.

Exemplo 26:
var=10
switch var
case 0
disp('zero')
case {1,2,3,4}
disp('var é menor que 5')
case {5,6,7,8,9}
disp('var é maior que 5 e menor que 10')
case 10
disp('a is 10')
otherwise
disp('var é maior que 10')
end

Este exemplo foi provavelmente definido para entender a estrutura e criar uma fun-
ção, pois ao rodar no programa não gera resultado algum.

3.6. Análise Numérica


Existem uma série de funções implementadas no MATLAB com o intuito de resolver
numericamente situações onde a solução analítica torna-se difícil. Algumas das situações que
ocorrem rotineiramente em problemas de engenharia são abordadas a seguir.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 35


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

3.6.1. Determinação de Raízes de Polinômios


No MATLAB um polinômio é representado como uma matriz linha. Os elementos desta
matriz são os coeficientes do polinômio e estão em ordem descendente, por exemplo:

𝑎𝑎𝑥𝑥 4 + 𝑏𝑏𝑥𝑥 3 + 𝑐𝑐𝑥𝑥 2 + 𝑑𝑑𝑑𝑑 + 𝑒𝑒 = 0

No MATLAB temos a seguinte forma de representar o polinômio P = [a b c d e]. É


possível determinar as raízes de um polinômio por meio do comando “roots”.

Exemplo 27: Determinar as raízes de 𝑥𝑥 5 − 13𝑥𝑥 4 + 53𝑥𝑥 3 − 59𝑥𝑥 2 ± 54𝑥𝑥 + 72 = 0

>>p=[1 -13 53 -59 -54 72];


>>raiz=roots(p)
raiz =
6.0000
4.0000
3.0000
-1.0000
1.0000

Para determinar um polinômio a partir de suas raízes utiliza-se o comando “poly”.

Exemplo 28:

>> r1=[5 -7 4 6 2];


>> p1=poly(r1)

p1 = Columns 1 through 4
1 -10 -15 460

Columns 5 through 6
-1636 1680

3.6.2. Interpolação
A interpolação é um método que permite determinar um ponto desejado por meio de um
conjunto de dados conhecidos. O MATLAB apresenta vários métodos para interpolação, apre-
sentados na tabela 12. O comando “interp1(x,y,xd,’método’)” é a interpolação linear.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 36


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Tabela 12 – Métodos para Interpolação

MÉTODO DESCRIÇÃO
Nearest Ponto mais próximo
inear Interpolação linear
spline Interpolação cúbica

Exemplo 29:
x=[1 2 3 4 5 6 7 8 9 10];
y=[4 7 12 19 28 39 52 67 84 103];
yc1=interp1(x,y,3.5,'nearest')
yc2=interp1(x,y,3.5,'linear')
yc3=interp1(x,y,3.5,'spline')

Como resultado teremos:


yc1 = 19
yc2 = 15.5000
yc3 = 15.2500

Também é possivel calcular a inteprolacao bidimensional e tridimensional, assim como


para n dimensoes, conforme tabela 13.

Tabela 13– Funções para Interpolação

COMANDO INTERPOLAÇÃO
Interp2 Interpolação bidimensional
Interp3 Interpolação tridimensional
nterpN Interpolação N dimensões

3.6.3. Soluções de Equações Algébricas Lineares


Um exemplo foi realizado anteriormente (Exemplo 12), seguindo o mesmo raciocínio pode-
mos resolver o exemplo 30.

Exemplo 30 – Resolva o sistema de equações abaixo:

1𝑥𝑥1 + 2𝑥𝑥2 + 3𝑥𝑥3 = 366


�4𝑥𝑥1 + 5𝑥𝑥2 + 6𝑥𝑥3 = 804
7𝑥𝑥1 + 8𝑥𝑥2 = 351

Relatório 01 – Introdução ao MATLAB para Engenharias Página 37


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

>> a=[1 2 3;4 5 6;7 8 0];


b=[366; 804; 351];
x=inv(a)*b

x=
25.0000
22.0000
99.0000

3.6.4. Integração Numérica


O MATLAB utiliza a regra do trapézio para resolver integrais, utilizando o comando
“trapz”.

Exemplo 31:

>> x=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15];


>> y=[0 0.25 1 2.25 4 6.25 9 12.25 16 20.25 25 30.25 36 42.25 49 56.25];
>> I=trapz(x,y)
I = 281.8750

Há ainda os métodos de quadratura usados para determinação das integrais. O comando


“quad(‘função’,limite mínimo,limite máximo)”, é uma aproximação do método de Simpson.

Exemplo 32:

>> I=quad('log10(x)',10,100)
I = 150.9135

Outra maneira de determinar a integral é utilizando o comando ‘quadl (‘função’, limite


mínimo, limite máximo)”, que utiliza o método de quadratura de Lobatto.

Exemplo 33:

>> I=quadl('log10(x)',10,100)
I = 150.9135

Relatório 01 – Introdução ao MATLAB para Engenharias Página 38


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Apesar do método de Lobatto se caracterizar por ser mais preciso, nota-se que a dife-
rença existente é mínima se houver comparação com o exemplo anterior. A tabela 14 apresenta
os comandos para integração dupla e tripla.

Tabela 14 – Comandos especiais para integração

COMANDO DESCRIÇÃO
Dplquad Integral numérica dupla
Triplequad Integral numérica tripla

3.6.5. Soluções de Equações Algébricas não lineares


Consideremos um sistema de n equações algébricas não lineares, com n incógnitas
f(x)=0, para o caso n=1, em que o MATLAB dispõe da função “fzero”.

Exemplo 34: Determinar a solução de 𝑓𝑓(𝑥𝑥) = 𝑥𝑥 − 4 sin(𝑥𝑥) + cos(𝑥𝑥) começando a busca em


x=0 e em x=2.

Definindo a função no editor e definindo como func.m, temos:


function y=func(x)
y=x-4*sin(x)+cos(x);
end

Através da janela de comando, temos:


>> x1=fzero('func',0)
x1 = 0.3235
>> x2=fzero('func',2)
x2 = 2.6792

Para sistemas multivariáveis, o MATLAB possui a função “fsolve”.

Exemplo 35: Determinar a solução do sistema abaixo:

𝑓𝑓(𝑥𝑥1 , 𝑥𝑥2 ) = 𝑥𝑥1 + 4𝑥𝑥12 − 𝑥𝑥1 𝑥𝑥2


𝑓𝑓(𝑥𝑥1 , 𝑥𝑥2 ) = 2𝑥𝑥2 + 𝑥𝑥22 + 3𝑥𝑥1 𝑥𝑥2

Relatório 01 – Introdução ao MATLAB para Engenharias Página 39


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

function f=func(x)
f(1)=x(1)-4*x(1)*x(1)-x(1)*x(2);
f(2)=2*x(2)-(x(2))^2+3*x(1)*x(2);
end

>> x0=[1 1];


>> x=fsolve('func',x0)

Equation solved.
fsolve completed because the vector of function values is near zero
as measured by the default value of the function tolerance, and
the problem appears regular as measured by the gradient.
<stopping criteria details>

x = 0.2500 0.0000

3.6.6. Regressões Polinomiais, Lineares, múltiplas e não Lineares


A aproximação de uma função por um polinômio consiste no ajuste dos coeficientes da
função polinomial, operação essa que minimiza o erro entre a função aproximada e a função
polinomial utilizada. O MATLAB possui a função “polyfit” para efetuar o ajuste dos coefici-
entes de um polinômio de qualquer grau.

A função “polyfit” recebe dois vetores de entrada (abscissas e ordenadas), e um nú-


mero que representa o grau do polinômio. A saída da função é um vetor com os coeficientes
do polinômio. Para verificar o resultado do ajuste usa-se a função “polyval”, que resolve o
polinômio em um ponto desejado ou em vários pontos, caso a entrada seja um vetor.

Exemplo 36: Para um conjunto de pontos x, y ajustar um polinômio de segunda ordem e um


de terceira.
x=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1];
y=[.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
p2=polyfit(x,y,2);
p3=polyfit(x,y,3);
xi=linspace(0,1,100);
z2=polyval(p2,xi);
z3=polyval(p3,xi);
plot(x,y,'o',xi,z2,'*',xi,z3,'+')
xlabel('x'),ylabel('y')
title('Ajuste Polinomial')

O resultado é a Figura 12.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 40


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Ajuste Polinomial
12

10

6
y

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x

Figura 12 – Gráfico de ajustes

As regressões, tanto lineares quanto as não lineares, podem ser executadas através do
método dos mínimos quadrados pelo comando “fminsearch”, conforme exemplo abaixo.

Exemplo 37: Dados os valores de z, y e x, obter os valores dos parâmetros a, b e c da equação


𝑧𝑧 = 𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑦𝑦 + 𝑐𝑐𝑐𝑐𝑐𝑐.

function f=func(k)
global x y z n
f=0;
for i=1:n
f=f+(z(i)-(k(1)*x(i)+k(2)*y(i)+k(3)*x(i)*y(i)))^2;
end

>> global x y z n
>> x=[1 2 3 4 5 6 7 8];
>> y=[.2 .3 .5 .7 .9 1.1 1.3 1.5];
>> z=[5 10 16 23 31 40 50 60];
>> n=length(z);
>> k0=[1 1 1];
>> k=fminsearch('func',k0)
k= 3.8253 2.8386 2.1087

Relatório 01 – Introdução ao MATLAB para Engenharias Página 41


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

3.6.7. Soluções de Equações Diferenciais Ordinárias


As funções “ode45”, “ode23”, “ode113”, “ode15s”, “ode23s”, “ode23t”, “ode23tb”
são usadas na resolução numérica de equações diferenciais ordinárias que possuam valores ini-
ciis. As mais usadas são “ode45” e “ode23”.

Exemplo 38: Considerando a equação clássica de Van der Pol, que descreve um oscilador:

𝑑𝑑²𝑥𝑥 𝑑𝑑𝑑𝑑
− 𝜇𝜇(1 − 𝑥𝑥 2 ) + 𝑥𝑥 = 0
𝑑𝑑𝑑𝑑² 𝑑𝑑𝑑𝑑

Como em toda abordagem numérica de equações diferenciais, as equações diferen-


ciais de ordem superior devem ser reescritas em termos de um conjunto equivalente de
equações diferenciais de primeira ordem. Assim, definindo duas novas variáveis:
𝑑𝑑𝑑𝑑
𝑦𝑦1 = 𝑥𝑥 𝑒𝑒 𝑦𝑦2 =
𝑑𝑑𝑑𝑑
Assim ficamos com o sistema de duas equações diferenciais de primeira ordem:
𝑑𝑑𝑦𝑦1
= 𝑦𝑦2
𝑑𝑑𝑑𝑑
𝑑𝑑𝑦𝑦2
= 𝜇𝜇(1 − 𝑦𝑦1 2 )𝑦𝑦2 − 𝑦𝑦1
𝑑𝑑𝑑𝑑

Definindo a função no editor, temos:


function y=func(t,y);
mi=2; %Definindo o valor de mi
y=[y(2); mi*(1-y(1)^2)*y(2)-y(1)];
end

>> [t,y]=ode23('func',[0 20],[1;0]);


>> y1=y(:,1);
>> y2=y(:,2);
>> plot(t,y1,'o',t,y2,'*')
>> xlabel('tempo'),ylabel('y1 e y2')
>> gtext('o y1')
>> gtext('* y2')

O resultado é a figura 13.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 42


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

* y2
y1 e y2

-1

o y1
-2

-3

-4
0 2 4 6 8 10 12 14 16 18 20
tempo

Figura 13 – Solução da equação diferencial

3.7. Entrada e Saída para o Excel


As novas versões do MATLAB são capazes de interagir com o excel, permitindo assim
importar e exportar dados e, com isso, potencializar ambos os programas. A figura 14 mostra
um exemplo.

Figura 14 – Entrada de dados utilizando o Excel

Relatório 01 – Introdução ao MATLAB para Engenharias Página 43


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Exemplo 39:

>> A=xlsread('Pasta1.xlsx')
A=
1.0000 5.0000 2.5000 8.6000
2.0000 6.0000 3.0000 11.0000
3.0000 7.0000 3.5000 13.5000
4.0000 8.0000 4.0000 16.0000

Deve-se atentar com o formato do excel, pois o comando não muda independente
da versão .xls ou .xlsx. É importante lembrar, também, que no excel você deve usar o separador
de decimais padrão do Excel, pois o mesmo se converterá automaticamente ao importar no
MATLAB. Também é possível selecionar dados da planilha.

Exemplo 40:

>> B=xlsread('Pasta1.xlsx', 'A1:A4')


B=
1
2
3
4

O comando “xlswrite(‘arquivo.xls’)” exporta os dados para o excel e o salva na pasta


padrão do MATLAB.

Exemplo 41:

>> C=rand(4)
C=
0.8147 0.6324 0.9575 0.9572
0.9058 0.0975 0.9649 0.4854
0.1270 0.2785 0.1576 0.8003
0.9134 0.5469 0.9706 0.1419
>> xlswrite('aula1.xlsx',C)

Relatório 01 – Introdução ao MATLAB para Engenharias Página 44


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Figura 15 – Saída de dados utilizando o Excel

3.8. Interface com usuário


A interface permite ao usuário alterar apenas os dados que podem ser modificados sem
a necessidade de acessar o programa principal. O comando “input” é a maneira mais simples
de interagir com o usuário.

Exemplo 49:
disp('Cálculo do Volume de uma Esfera')
R=input('Entre com o raio da Esfera = ')
V=4*pi*R^3/3

É possível criar caixas de dialogo usando o comando “inputdlg”.

Exemplo 50:

prompt={'Entre com a altura:','Entre com o raio:'};


titulo='Cálculo do Volume de um Cilindro';
num_linhas=1;
def={'',''};
resposta=inputdlg(prompt,titulo,num_linhas,def)
R=str2num(resposta{1});
h=str2num(resposta{2});
V=pi*h*R^2

Ao rodar o programa aparecerá a janela conforme figura 16 e o valor V identifi-


cado na janela de comandos após a definição dos parâmetros.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 45


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Figura 16 – Janela de Entrada de Dados

O comando “menu” gera um conjunto de opções para o usuário, como segue o exemplo:

Exemplo 51:
A=4;
B=2;
k=menu('Escolha uma operação','A+B','A*B','A/B')
if k==1
C=A+B
end
if k==2
C=A*B
end
if k==3
C=A/B
end

Ao rodar o programa aparecerá a janela conforme figura 17 e após a escolha da


opção o valor será identificado na janela de comandos:

Figura 17 – Menu de Opções

Existem também comandos especiais, como os apresentados na tabela 15.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 46


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Tabela 15 – Comandos especiais para caixas de diálogo

COMANDO DESCRIÇÃO
Errordlg Mensagem de erro
Warndlg Mensagem de aviso
Helpdlg Mensagem de ajuda
Ginput Curso para obter dados de gráficos
Gtext Curso para adicionar mensagem

3.9. Exercícios

01) Um canhão efetua um disparo, cuja altura máxima alcançada foi de 10m, e a bala do
canhão percorreu 1,6Km. Qual é o comprimento do arco feito pela bala?

O vetor velocidade do corpo a ser lançado forma um determinado ângulo em rela-


ção à horizontal. Por essa razão, decompondo-se o vetor, as velocidades horizontal (vX) e
vertical (vY) podem ser determinadas. A partir do conhecimento de decomposição vetorial,
podemos escrever que:
𝑣𝑣𝑥𝑥 = 𝑣𝑣. 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐

𝑣𝑣𝑦𝑦 = 𝑣𝑣. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠

Nas definições acima, θ é o ângulo formado entre o vetor velocidade e a horizontal.


O movimento executado pelo corpo na vertical está sob influência da aceleração da gravi-
dade. Assim, ele pode ser classificado como um movimento retilíneo uniformemente vari-
ado. A partir da equação de Torricelli, é possível determinar a altura máxima atingida pelo
objeto lançado obliquamente.
𝑉𝑉 = 𝑉𝑉02 + 2. 𝑎𝑎. ∆𝑆𝑆

Aplicando a equação acima para o lançamento oblíquo, podemos escrever que:


2
𝑉𝑉𝑦𝑦 = 𝑉𝑉0𝑦𝑦 − 2. 𝑎𝑎. 𝐻𝐻

O sinal negativo da equação acima se deve ao fato de o movimento ser ascendente e


o vetor da aceleração da gravidade apontar na vertical para baixo. A diferença de sentido
entre deslocamento e aceleração faz com que o sinal dessa grandeza seja negativo. A al-
tura (H) corresponde ao deslocamento (ΔS) e as velocidades consideradas são as compo-
nentes inicial e final do vetor velocidade no eixo y.

Relatório 01 – Introdução ao MATLAB para Engenharias Página 47


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Assim, podemos determinar a altura máxima de um objeto durante um lançamento


oblíquo da seguinte forma:
0 = (𝑉𝑉0 . 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠)2 − 2. 𝑔𝑔. 𝐻𝐻 → 2. 𝑔𝑔. 𝐻𝐻 = 𝑉𝑉02 . 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠

𝑉𝑉02 . 𝑠𝑠𝑠𝑠𝑠𝑠²𝜃𝜃
𝐻𝐻𝑚𝑚á𝑥𝑥 = (𝐴𝐴)
2. 𝑔𝑔

Horizontalmente o corpo não sofre influência de aceleração, por isso, o movimento


é classificado como retilíneo e uniforme. A partir da função horária da posição para o mo-
vimento retilíneo uniforme, podemos definir o alcance horizontal do objeto.
𝑆𝑆 = 𝑆𝑆0 + 𝑉𝑉𝑥𝑥 . 𝑡𝑡 → 𝑆𝑆 − 𝑆𝑆0 = 𝑉𝑉𝑥𝑥 . 𝑡𝑡 → 𝐴𝐴 = 𝑉𝑉. 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐. 𝑡𝑡

Observe que a diferença entre a posição final (s) e a posição inicial (s0) foi chamada
de A e representa o alcance horizontal de um corpo em lançamento oblíquo. O tempo consi-
derado deve ser o tempo total gasto para que o objeto chegue à altura máxima e retorne
ao solo. No estudo do lançamento vertical (queda livre), o tempo de subida (tS) até a altura
máxima para um objeto em movimento ascendente é dado pela razão da velocidade no
eixo y com a aceleração da gravidade. Sendo assim, podemos escrever:
𝑉𝑉𝑦𝑦 𝑉𝑉. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠
𝑡𝑡𝑠𝑠 = → 𝑡𝑡𝑠𝑠 =
𝑔𝑔 𝑔𝑔

Uma vez que o objeto retorna ao solo, o valor a ser considerado é o dobro do tempo
de subida. Assim, podemos escrever:
2. 𝑉𝑉. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠
𝑡𝑡 =
𝑔𝑔

Aplicando a definição do tempo total à equação do alcance máximo, teremos:


2. 𝑉𝑉. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠
𝐴𝐴 = 𝑉𝑉. 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐. 𝑡𝑡 → 𝐴𝐴 = 𝑣𝑣. 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐.
𝑔𝑔

2. 𝑉𝑉 2 . 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠
𝐴𝐴 =
𝑔𝑔

O produto 2.cosθ.senθ possui como identidade trigonométrica o termo sen2θ. Agora


finalmente podemos definir o alcance máximo de um corpo:
𝑉𝑉 2 . 𝑠𝑠𝑠𝑠𝑠𝑠2𝜃𝜃
𝐴𝐴𝑚𝑚á𝑥𝑥 = (𝐵𝐵)
𝑔𝑔

Relatório 01 – Introdução ao MATLAB para Engenharias Página 48


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Com as equaçõs (A) e (B) podemos montar um sistema de equações não lineares,
uma vez conhecendo o valor de A e de H, encontrando então o valor de V e de θ, conside-
rando que a velocidade no momento final é inversa de v0. Agora falta encontrar o valor de
S. Na Figura abaixo vemos a relação geométrica entre os elementos diferenciais dS, dx e dy:

Figura 18 – Parábola do lançamento obliquo

A integração de dS segue diretamente:

onde R é o alcance. Conhecendo-se a equação da trajetória do movimento, S é ob-


tida diretamente através da Eq. (01). Observando que dy/dx = , podemos, alternativa-
mente, determinar S integrando a Eq. (01) no tempo, ou seja: para o modelo parabó-
lico vx = v0.cosθ e vy = v0.seθ – θ.t onde v0 e θ são respectivamente a velocidade e o ângulo
de lançamento. Escrevemos então

onde v = v0 cos. θ e u = v0.senθ. A integral definida na Eq. (1) pode ser escrita como

Relatório 01 – Introdução ao MATLAB para Engenharias Página 49


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

onde T = 2u/g é o tempo de vôo. Fazendo a mudança de variável, c = u – g.t, pode-


mos escrever a Eq. (2) como

A integral definida na Eq. (3) é uma integral tabelada [6] que, resolvida e após uma
pequena manipulação algébrica, nos dá

A Eq. (4) é a mesma equação obtida, na referência [2], quando dS foi integrada
em x. Com essas três equações, podemos finalmente realizar o programa no MATLAB.

⎧ 𝑉𝑉02 . 𝑠𝑠𝑠𝑠𝑛𝑛2 𝜃𝜃
⎪ − 𝐻𝐻𝑚𝑚á𝑥𝑥 = 0
2. 𝑔𝑔
2
⎨−𝑉𝑉0 . 𝑠𝑠𝑠𝑠𝑠𝑠(−2𝜃𝜃)
⎪ − 𝐴𝐴𝑚𝑚á𝑥𝑥 = 0
⎩ 𝑔𝑔

𝑉𝑉02 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠
𝑆𝑆 = [𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 + 𝑐𝑐𝑐𝑐𝑠𝑠 2 𝜃𝜃 ln �1 + �]
𝑔𝑔 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐

function f=ex1(x)
g=9.8;
Hmax=10;
Amax=1600;
f(1)=-Hmax+(x(1)^2*sin(x(2))^2)/2*g;
f(2)=-Amax-(x(1)^2*sin(-2*x(2)))/g;
end

>> g=9.8
>> x0=[1 1];
>> x=fsolve('ex1',x0)

Solver stopped prematurely.


fsolve stopped because it exceeded the function evaluation limit,
options.MaxFunEvals = 200 (the default value).

Relatório 01 – Introdução ao MATLAB para Engenharias Página 50


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

x =7.4079 0.5251

>> S=(x(1)^2/g)*(sin(x(2))+cos(x(2))^2*log(1+(sin(x(2))/cos(x(2)))))
S= 4.7232

Numericamente o valor encontra errado, pois não é possível S ser menor do que A.

Confeccionando o problema novamente de uma maneira mais simples, temos que o


projétil realiza uma parábola com raízes em Y(0)=0 e Y(1600)=0, assim como Y(800)=10
por se tratar do alcance máximo desprezando os atritos do ar. Sendo assim, encontramos o
polinômio que representa essa parábola e depois utilizamos a equação (1).
clear
clc
syms A
x=[0 800 1600];
y=[0 10 0];
Z=polyfit(x,y,2)

xi=linspace(0,1600,1000);
Zi=polyval(Z,xi);
plot(x,y,'o',xi, Zi,'*')
xlabel('X (m)'),ylabel('Y (m)')
title('Lançamento Oblíquo (S)')

Z=Z(1)*A^2+Z(2)*A+Z(3);
dZ=diff(Z);
S=double(int(((1+(dZ)^2)^(1/2)),0,1600))

Como resultado obtemos a Figura 19 e o valor de S = 1602 metros.


Lançamento Oblíquo (S)
10

6
Y (m)

-2
0 200 400 600 800 1000 1200 1400 1600

X (m)

Figura 19 – Lançamento Oblíoquo a partir do Exercício 01

Relatório 01 – Introdução ao MATLAB para Engenharias Página 51


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

02) Determine o volume e a área superficial dos seguintes sólidos:

a) Paralelepípedo retangular com altura de 1,5cm, largura de 1cm e comprimento de 1,2cm

b) Esfera de diâmetro 10cm

c) Cilindro de raio igual a 2,5cm e altura 10cm

d) Um cone circular reto de diâmetro igual a 3cm e altura 8cm

e) Tronco de cone como raio superior igual a 2cm, altura de 5cm e diâmetro inferior de 13cm.

Tabela 16 – Fórmulas de área superficial e volume para sólidos

SÓLIDO EQUAÇÕES

𝑉𝑉𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃í𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 = 𝑎𝑎. 𝑏𝑏. 𝑐𝑐

𝑆𝑆𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃í𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 = 2(𝑎𝑎𝑎𝑎 + 𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑏𝑏)

4
𝑉𝑉𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 = 𝜋𝜋. 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅³
3
𝑆𝑆𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 = 4𝜋𝜋. 𝑅𝑅²

𝑉𝑉𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = 𝜋𝜋. 𝑅𝑅². ℎ

𝑆𝑆𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = 2𝜋𝜋. 𝑅𝑅(𝑅𝑅 + ℎ)

1
𝑉𝑉𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 = 𝜋𝜋. 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅2 . 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴
3

𝑆𝑆𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 = 𝜋𝜋. R. �𝑅𝑅 2 + ℎ²

1
𝑉𝑉𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 𝑑𝑑𝑑𝑑 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = 𝜋𝜋. ℎ. (𝑅𝑅² + 𝑅𝑅. 𝑟𝑟 + 𝑟𝑟²)
3

𝑆𝑆𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 𝑑𝑑𝑑𝑑 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = 𝜋𝜋. (𝑅𝑅 + 𝑟𝑟)�ℎ² + (𝑅𝑅 − 𝑟𝑟)²

Relatório 01 – Introdução ao MATLAB para Engenharias Página 52


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

clear
clc
Pa=1.5;
Pb=1;
Pc=1.2;
ER=10;
CR=2.5;
Ch=10;
CoR=3/2;
Coh=8;
TCR=13/2;
TCr=2;
TCh=5;

VP=Pa*Pb*Pc %Volume em cm³ do Paralelepipedo


SP=2*(Pa*Pb+Pa*Pc+Pb*Pc) %Área Superfícial em cm² do Paralelepipedo
VE=(4/3)*(pi)*(ER)^3 %Volume em cm³ da Esfera
SE=4*pi*(ER)^2 %Área Superfícial em cm² da Esfera
VC=pi*CR^2*Ch %Volume em cm³ dp Cilindro
SC=2*pi*CR*(CR+Ch) %Área Superfícial em cm² do Cilindro
VCo=(1/3)*pi*CoR^2*Coh %Volume em cm³ do Cone
SCo=pi*CoR*sqrt(CoR^2+Coh^2) %Área Superfícial em cm² do Cone
VTC=(1/3)*pi*TCh*(TCR^2+TCR*TCr+TCr) %Volume em cm³ do Tronco de Cone
STC=pi*(TCR+TCr)*sqrt(TCh+(TCR-TCr)^2) %Área Sup. em cm² do Tronco de Cone

VP = 1.8000
SP = 9
VE = 4.1888e+03
SE = 1.2566e+03
VC = 196.3495
SC = 196.3495
VCo = 18.8496
SCo = 38.3561
VTC = 299.7603
STC = 134.1836
Tabela 17 – Resultado do Exercício 02

VOLUME
SÓLIDO ÁREA SUPERFICIAL (cm²)
(cm³)

Paralelepípedo Regular (a) 1,8 9

Esfera (b) 4188,8 1256,6

Cilindro Reto (c) 193,3 196,3

Cone Circular Reto (d) 18,85 38,36

Tronco de Cone (e) 299,8 134,2

Relatório 01 – Introdução ao MATLAB para Engenharias Página 53


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

03) Através de um gráfico, determine se as equações abaixo são determinados ou indeter-


minados.

a) 𝑥𝑥 − 2𝑦𝑦 = −4

𝑥𝑥 + 𝑦𝑦 = 5

b) 4𝑥𝑥 – 5𝑦𝑦 = −4

4𝑥𝑥 + 3𝑦𝑦 = 5

c) -5𝑥𝑥 + 5𝑦𝑦 = 6
4𝑥𝑥 – 4𝑦𝑦 = 5

Para realizar as retas dos sistemas, vamos isolar a variável Y para cada uma das al-
ternativas, obtendo assim os seguintes sistemas:

𝑦𝑦 = (𝑥𝑥 + 4)/2
𝑦𝑦 = 5 − 𝑥𝑥

𝑦𝑦 = (4 + 4𝑥𝑥)/5
𝑦𝑦 = (5 − 4𝑥𝑥)/3

𝑦𝑦 = (6 + 5𝑥𝑥)/5
𝑦𝑦 = (4𝑥𝑥 − 5)/4

Então, confeccionamos as retas para cada sistema com auxílio do editor do matlab.
clear
clc
x=linspace(-1000,1000,1000)
ya1=(x+4)/2;
ya2=5-x;
yb1=(4+4*x)/5;
yb2=(5-4*x)/3;
yc1=(6+5*x)/5;
yc2=(4*x-5)/4;

figure
subplot(3,1,1)

Relatório 01 – Introdução ao MATLAB para Engenharias Página 54


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

plot(x,ya1,'o',x,ya2,'*')
xlabel('X'),ylabel('Y');
title('Exercício 3a')
subplot(3,1,2)
plot(x,yb1,'x',x,yb2,'-.')
xlabel('X'),ylabel('Y');
title('Exercício 3b')
subplot(3,1,3)
plot(x,yc1,'-',x,yc2,':')
xlabel('X'),ylabel('Y');
title('Exercício 3c')

Como resultado, obtemos a figura 20

Exercício 3a
2000

0
Y

-2000
-1000 -800 -600 -400 -200 0 200 400 600 800 1000
X
Exercício 3b
2000

0
Y

-2000
-1000 -800 -600 -400 -200 0 200 400 600 800 1000
X
Exercício 3c
2000

0
Y

-2000
-1000 -800 -600 -400 -200 0 200 400 600 800 1000
X

Figura 20 – Resultado do exercício 03

Considerando que as alternativas a) e b) representam duas retas que se encontram


em um ponto, temos que existe uma única solução e que o sistema é determinado. No caso
da alternativa c) temos infinitas soluções, pois são duas retas paralelas coincidentes, por-
tanto o sistema é indeterminado.

Tabela 18 – Resultado do exercício 03


SISTEMA RESULTADO

Alternativa a) Determinado

Alternativa b) Determinado

Alternativa c) Indeterminado

Relatório 01 – Introdução ao MATLAB para Engenharias Página 55


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

04) Suponha que um taxi esteja passando entre dois edifícios. Considere que a variável x
contenha a distância do veículo ao edifício mais próximo. Se o carro estiver a até 10
metros do edifício, a velocidade é calculada usando a seguinte equação:

𝑉𝑉 = 0,425 + 0,00175𝑥𝑥²

Se o táxi estiver a uma distância maior que 10 metros, use a equação a seguir:

𝑉𝑉 = 0,625 + 0,12𝑥𝑥 – 0,00025𝑥𝑥²

Esboce o gráfico de v por x, num intervalo de 25m do primeiro prédio

Temos o seguinte sistema de equações:


0,425 + 0,00175𝑥𝑥², 𝑥𝑥 < 10
𝑓𝑓(𝑥𝑥) = �
0,625 + 0,12𝑥𝑥 − 0,00025𝑥𝑥 2 , 𝑥𝑥 ≥ 10

Então,
clear
clc
x=linspace(0,25,100);
S1=(0.425+0.00175.*x.^2).*(x<10);
S2=(0.625+0.12.*x-0.00025.*x.^2).*(x>=10);
S=S1+S2;
plot(x,S)
xlabel('X (m)'),ylabel('V (m/s)')
title('Deslocamento do Carro (S)')

Como resultado, obtemos a Figura 23.


Deslocamento do Carro (S)
3.5

2.5

2
V (m/s)

1.5

0.5

0
0 5 10 15 20 25

X (m)

Figura 23 – Resultado do Exercício 04

Relatório 01 – Introdução ao MATLAB para Engenharias Página 56


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

05) O volume de um cone é dependente da altura (h) e do raio (R), por meio da seguinte
equação abaixo. Desenvolva um programa que gere um gráfico em 3D para o volume,
variando o raio de 0 a 4 metros e a altura de 0 a 6 metros.

1
𝑉𝑉 = 𝜋𝜋. 𝑟𝑟 2 . ℎ
3

Utilizando o Editor do programa, temos:


clear
clc
R=linspace(0,4,100);
h=linspace(0,6,100);
[R,h]=meshgrid(R,h);
V=(1/3)*pi*R.^2.*h;
surf(R,h,V)
shading interp
xlabel('R')
ylabel('h');
zlabel('V')
title('Volume de um Cone Reto (m³)')

Obtemos então a Figura 23 como resultado.

Volume de um Cone Reto (m³)

120

100

80

60
V

40

20

0
6

4
4
3
2 2
1
h 0 0 R

Figura 23 – Resultado do Exercício 05

Relatório 01 – Introdução ao MATLAB para Engenharias Página 57


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

4. CONCLUSÕES
Por se tratar de uma reprodução de material, os comentários específicos foram realiza-
dos durante a Resolução. Um comentário específico relevante a ser mencionado é relacionado
a resolução do exercício 03, no qual houve uma houve uma dificuldade para o primeiro método
abordado, pois não surgiu resultado satisfatório (solução não convergia). De qualquer maneira
foi deixada neste relatório para futuras análises e correções.

De maneira geral, apostila possui um bom conteúdo e didática para introdução ao as-
sunto, porém com alguns erros de digitação de números. Algumas funções não foram aceitas
pelos programas mais novos, o que é compreensível, porém nem todas as funções utilizadas em
exemplos que são explicadas durante a apostila ou até mesmo mencionadas. Em alguns exercí-
cios é preciso buscar referências externas (outras apostilas ou “help” do MATLAB). Poderia
abranger um pouco mais sobre os comandos de derivadas e integrais, assim como assumir va-
riáveis.

Ainda assim, a mesma cumpre sua função e é aconselhável como parte de material in-
trodutório para o uso de MATLAB, principalmente por este ter se mostrado um programa de
grande potencial e com diversas ferramentas e toolbox disponíveis. O problema definido para
este relatório foi resolvido e sua função cumprida com sucesso.

5. REFERÊNCIAS BIBLIOGRÁFICAS
[1] CONCEIÇÃO,W.A dos S.et.al. Introdução ao Matlab para Engenharias. Coleção
Fundamentum. Maringá:Eduem, 2009.

[2] BRUNO, Antonia D. S.; MATOS, J. Mauricio O. O Comprimento da Trajetória de


um Projétil. Rev. Bras. Ensino Fís. vol.24 no.1 São Paulo Mar. 2002

[3] LANÇAMENTO OBLÍQUO, Acessado em 11/04/2018. Disponível em: http://mun-


doeducacao.bol.uol.com.br/fisica/lancamento-obliquo.htm

Relatório 01 – Introdução ao MATLAB para Engenharias Página 58


Universidade Estadual de Maringá
PEQ – Modelagem e Simulação de Processos

Relatório 01 – Introdução ao MATLAB para Engenharias Página 59

Das könnte Ihnen auch gefallen