Beruflich Dokumente
Kultur Dokumente
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
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
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.
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
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.
Exemplo 02:
>> a=57+14;
>> b=34/9;
>> c=a+b
c = 74.7778
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.
VARIÁVEL VALOR
Pi 3,1416
Iej 𝑖𝑖 = 𝑗𝑗 = √−1
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
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:
Exemplo 04:
>> A= [1 2 3
456
7 8 9]
A= 123
456
789
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.
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.
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.
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:
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:
1 −3 2 𝑥𝑥1 6
𝑥𝑥
Considerando que Ax=B, ou �4 1 6� � 2 � = �10�, aplicando no MATLAB temos:
7 4 0 𝑥𝑥3 13
>> 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
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.
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
Exemplo 13:
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.
FUNÇÃO DESCRIÇÃO
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)')
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
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')
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
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
FUNÇÃO DESCRIÇÃO
Polar Cria um gráfico em coordenadas polares dos ângulos em função dos raios
Stairs Cria um gráfico similar a um gráfico de barra, mas sem as linhas internas
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.
FUNÇÃO DESCRIÇÃO
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.
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
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')
20
15
2
+y
10
2
z=x
0
4
2 4
0 2
0
-2
-2
y -4 -4 x
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')
450
400
350
300
250
y
200
150
100
50
0
0 200 400 600 800 1000 1200 1400 1600 1800
x
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
Para criação de animações em vídeos, existem algumas funções, conforme tabela abaixo.
Addframe (ponteiro do arquivo, variável Copia cada quadro do gráfico plotado para o
de frames) final do arquivo de vídeo
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)
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.
axis off;
F= getframe;
writeVideo(m,F);
end
close(m);
== Igual a Relacional
~= Diferente Relacional
& E Lógico
Ou Lógico
~ Não Lógico
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:
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')
90
80
70
60
F(X)
50
40
30
20
10
0
0 1 2 3 4 5 6 7 8 9 10
x
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
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
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.
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.
Exemplo 28:
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.
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')
COMANDO INTERPOLAÇÃO
Interp2 Interpolação bidimensional
Interp3 Interpolação tridimensional
nterpN Interpolação N dimensões
x=
25.0000
22.0000
99.0000
Exemplo 31:
Exemplo 32:
>> I=quad('log10(x)',10,100)
I = 150.9135
Exemplo 33:
>> I=quadl('log10(x)',10,100)
I = 150.9135
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.
COMANDO DESCRIÇÃO
Dplquad Integral numérica dupla
Triplequad Integral numérica tripla
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
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
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
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.
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
Exemplo 38: Considerando a equação clássica de Van der Pol, que descreve um oscilador:
𝑑𝑑²𝑥𝑥 𝑑𝑑𝑑𝑑
− 𝜇𝜇(1 − 𝑥𝑥 2 ) + 𝑥𝑥 = 0
𝑑𝑑𝑑𝑑² 𝑑𝑑𝑑𝑑
* y2
y1 e y2
-1
o y1
-2
-3
-4
0 2 4 6 8 10 12 14 16 18 20
tempo
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:
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)
Exemplo 49:
disp('Cálculo do Volume de uma Esfera')
R=input('Entre com o raio da Esfera = ')
V=4*pi*R^3/3
Exemplo 50:
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
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?
𝑉𝑉02 . 𝑠𝑠𝑠𝑠𝑠𝑠²𝜃𝜃
𝐻𝐻𝑚𝑚á𝑥𝑥 = (𝐴𝐴)
2. 𝑔𝑔
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. 𝑉𝑉. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠
𝑡𝑡 =
𝑔𝑔
2. 𝑉𝑉 2 . 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐. 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠
𝐴𝐴 =
𝑔𝑔
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:
onde v = v0 cos. θ e u = v0.senθ. A integral definida na Eq. (1) pode ser escrita 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)
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.
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))
6
Y (m)
-2
0 200 400 600 800 1000 1200 1400 1600
X (m)
e) Tronco de cone como raio superior igual a 2cm, altura de 5cm e diâmetro inferior de 13cm.
SÓLIDO EQUAÇÕES
4
𝑉𝑉𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 = 𝜋𝜋. 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅³
3
𝑆𝑆𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 = 4𝜋𝜋. 𝑅𝑅²
1
𝑉𝑉𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅 = 𝜋𝜋. 𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅2 . 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴
3
1
𝑉𝑉𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇𝑇 𝑑𝑑𝑑𝑑 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 = 𝜋𝜋. ℎ. (𝑅𝑅² + 𝑅𝑅. 𝑟𝑟 + 𝑟𝑟²)
3
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 = 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³)
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)
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')
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
Alternativa a) Determinado
Alternativa b) Determinado
Alternativa c) Indeterminado
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:
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)')
2.5
2
V (m/s)
1.5
0.5
0
0 5 10 15 20 25
X (m)
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
120
100
80
60
V
40
20
0
6
4
4
3
2 2
1
h 0 0 R
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.