SlideShare a Scribd company logo
1 of 36
Download to read offline
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
A derivada aproximada
1)Função diferenciável
Uma função f é diferenciável se em cada ponto do domínio o gráfico graf(f) tiver
uma reta tangente. A reta tangente no ponto (a, f(a)) tem um coeficiente angular m e nós
diremos que f′(a) = m. A função derivada, f′ é uma outra função que descreve as
derivadas de f e portanto as taxas de variação instantâneas de f. No Cálculo dizemos que
a derivada define a reta tangente ao gráfico.
Figura de tangente e 3 secantes.
Se f representar a parte da equação e a o ponto onde temos a tangente, então
derivada de f é f'(a) no ponto (a,f(a)).
Como podemos ver na figura temos uma tangente e 3 secantes, as secantes são
aproximações da tangente. Como temos 3 secantes podemos dizer que o coeficiente
angular de uma das secantes é:
m= ​ f(a+h)-f(a)
(a+h) – a
Quanto mais próximo estiver ​(a+h)​ de ​a​ mas preciso será o valor do coeficiente
angular da secante, relativamente ao desejado coeficiente angular da tangente.
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Considere a figura abaixo, que representa o gráfico de uma função y = f(x), definida
num intervalo de números reais.
Observando a figura, podemos definir o seguinte quociente, denominado razão
incremental da função
y = f(x), quando x varia de x0 para x0 + ∆x0 :
Define-se a derivada da função y = f(x) no ponto x = x0, como sendo o limite da
razão incremental acima, quando x0 tende a zero, e é representada por f ' (x0) , ou seja:
Nota: a derivada de uma função y = f(x), pode ser representada também pelos símbolos y'
ou dy/dx.
Guarde então a seguinte conclusão importante:
A derivada de uma função y = f(x) num ponto x = x0 , coincide numericamente com
o valor da tangente trigonométrica do ângulo formado pela tangente geométrica à curva
representativa de y = f(x), no ponto x = x0.
Voltando a figura 1 dizemos:
f' (a)=​f(a+h) – f(a)​ x=a e x1=a+h
(a+h) – a
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
f'(x)=​ f(x1)-f(x)
h
y(x1)=f(x1), f'(x)=y'(x), f(x)=y(x)
y(x1)-y(x)= h* f'(x)
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
2)Interpolação polinomial
Interpolar uma função f(x) consiste em aproximar essa função por uma outra
função g(x), escolhida entre uma classe de funções definida a priori e que satisfaça
algumas propriedades. A função g(x) é então usada em substituição à função f(x). A
necessidade de se efetuar esta substituição surge em várias situações, como por
exemplo:
a.)quando são conhecidos somente os valores numéricos da função para um conjunto de
pontos e é necessário calcular o valor da função em um ponto não tabelado;
b.)quando a função em estudo tem uma expressão tal que operações como a
diferenciação e a integração são difíceis (ou mesmo impossíveis) de serem realizadas.
Denomina-se interpolação polinomial o processo matemático de interpolação em
que a função interpoladora é um polinômio. A função interpoladora é a função
Definidos um intervalo e uma função denomina-se
interpolação o processo matemático de avaliar substituindo-se a
função pela função interpoladora de modo que
( ). Assim, é a função real, definida em da qual conhecem-se os
valores nos pontos de abcissas ( ).
Consideremos um conjunto de pontos (designados nós de interpolação)
x0 , ... , xn , a que estão associados os valores de uma função f0 , ... , fn,
respectivamente.
Pretendemos encontrar um polinômio p tal que
p ( xi ) = fi
para i = 0, ..., n.
O polinómio de 3º grau interpola a função em 4 pontos
Escrevendo ​p( x ) = a0 + a1 x + ... + am xm, obtemos o sistema
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
a0 + a1 x0 + ... + am x0m = f0
...
a0 + a1 xn + ... + am xnm = fn
Exemplo: Dados os pontos (x0, f(x0)), (x1, f(x1)), ..., (xn, f(xn)), portanto (n + 1) pontos,
queremos aproximar f(x) por um polinômio pn(x), de grau menor ou igual a n, tal que:
f(xk) = pn(xk) k = 0, 1, 2, ..., n
Surgem aqui as perguntas: existe sempre um polinômio pn(x) que satisfaça estas
condições? Caso exista, ele é único?
Representaremos pn(x) por: pn(x) = a0 + a1x + a2x2 + ... + anxn.
Portanto, obter pn(x) significa obter os coeficientes a0, a1, ..., an.
Da condição pn(xk) = f(xk), " k = 0, 1, 2, ..., n, montamos o seguinte sistema linear:
com n + 1 equações e n + 1 variáveis: a0, a1, ..., an.
A matriz A dos coeficientes é
que é uma matriz de Vandermonde e, portanto, desde que x0, x1, ..., xn sejam pontos
distintos, temos det (A) ≠ 0 e, então, o sistema linear admite solução única.
Demonstramos assim o seguinte teorema:
Existência e unicidade do Polinômio Interpolador
Existe um único polinômio pn(x), de grau £ n, tal que: pn(xk) = f(xk), k = 0, 1, 2,...,
n, desde que xk ≠ xj, j ≠ k.
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Exercício: Dado x=[0 1 2 3] e y=[-5 -6 -1 16]. Calcular o polinômio interpolador e o valor
de x=1.5. Desenhe o gráfico da função e o pontos.
Solução MatLab:
%Interpolação
x=[0 1 2 3];
x=x'; % transformando em matriz coluna
y=[-5 -6 -1 16];
y=y' %transformando em matriz coluna
% polinômio interpolador p(x)=ao+a1*x+a2*x^2+a3*x^3
% A*p=y
A= [ 1 x(1) x(1)^2 x(1)^3;
1 x(2) x(2)^2 x(3)^3;
1 x(3) x(3)^2 x(3)^3;
1 x(4) x(4)^2 x(4)^3];
% calcula p através da matriz inversa
p=inv(A)*y;
disp(p); %mostra valores de a0,...,an do polinômio
%entre o valor a ser interposto
interp=input('Digite o valor:');
resultado=p(1)+p(2)*interp+p(3)*interp^2+p(4)*interp^3;
disp(resultado); %mostra resultado
%definindo uma matriz de valores a serem calculados
xx=0:0.01:4;
res=p(1)+p(2)*xx+p(3)*xx.^2+p(4)*xx.^3;
plot(x,y,'r+',xx,res,'-');
Resultado: Digite o valor:1.5
-5.5000
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Exercício 2: resolução Vandermonde
clc
clear
%Interpolação
x=[0 1 2 3];
% transformando em matriz coluna
y=[-5 -6 -1 16];
y=y' %transformando em matriz coluna
% polinômio interpolador p(x)=ao+a1*x+a2*x^2+a3*x^3
% A*p=y
A=vander(x) %calcula matriz
p=inv(A)*y
%definindo uma matriz de valores a serem calculados
xx=0:0.01:4;
res=p(4)+p(3)*xx+p(2)*xx.^2+p(1)*xx.^3;
plot(x,y,'r+',xx,res,'-');
Resposta:p =
1.0000
0.0000
-2.0000
-5.0000
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Exercício 3: Dados os valores x=[0​0​
45​0​
60​0 ​
90​0​
] y=[1 √2/2 ½ 0] ​Calcular o Valor de 35​0
usando interpolação.
Vamos transformar graus em radianos: x=[0 π/4 π/3 π/2]
Solução MatLab:
%interpolacao cosseno
clc
clear
y=[ 1 sqrt(2)/2 1/2 0];
y=y';
x=[ 0 pi/4 pi/3 pi/2];
A=[1 x(1) x(1)^2 x(1)^3;
1 x(2) x(2)^2 x(2)^3;
1 x(3) x(3)^2 x(3)^3;
1 x(4) x(4)^2 x(4)^3];
p=inv(A)*y;
%interpolação de valor
valor=input('Leia valor em graus a ser interpolado:');
valor=valor/180*pi;
resnum=p(1)+p(2)*valor+p(3)*valor.^2+p(4)*valor.^3;
%interpolacao de varios valores
xx=0:0.1:pi/2;
res=p(1)+p(2)*xx+p(3)*xx.^2+p(4)*xx.^3;
plot(xx,res,'-',xx,cos(xx),'r.',valor,resnum,'+b');
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Lagrange Interpolação
Dado um conjunto de ​k+1 pontos:
com todos ​xj distintos, o polinômio de interpolação de um conjunto de pontos na forma de
Lagrange é a combinação linear dos polinômios da base de Lagrange:
,
com polinômios da base de Lagrange dados por:
p(x)=y0 L0(x)+y1 L1(x)+........+yn Ln(x)
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Note que: L1(x1)=1 …., Ln(xn)=1 e que Lo(xn) onde n≠0 Lo=0 ….
Exercício: Dado Ө= [0 45 60 90] e y=[1 √2 /2 1/2 0] . Obter a aproximação de 35​o ​
por
Lagrange.
Resolução:
Transformando Ө em radianos temos: Ө=[0 pi/4 pi/3 pi/2]=[0 0,79 1,05 1,57]
35​o ​
= pi*35/180=0,611 → x=?
L1(x)=​(x-x2) (x-x3) (x-x4)
(x1-x2)(x1-x3)(x1-x4)
L2(x)=​(x-x1) (x-x3) (x-x4)
(x2-x1)(x2-x3)(x2-x4)
L3(x)=​(x-x1) (x-x2) (x-x4)
(x3-x1)(x3-x2)(x3-x4)
L4(x)=​(x-x1) (x-x2) (x-x3)
(x4-x1)(x4-x2)(x4-x3)
p(0,611)=1*L1+√2 /2*L2+1/2*L3+0*L4
Solução no MatLab:
%Lagrange interpolação
clear
clc
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
%Lagrange interpolação
v=pi/3
x=[0 pi/4 pi/3 pi/2]
y=[1 sqrt(2)/2 1/2 0]
L(1)=((v-x(2))*(v-x(3))*(v-x(4)))/((x(1)-x(2))*(x(1)-x(3))*(x(1)-x(4)));
L(2)=((v-x(1))*(v-x(3))*(v-x(4)))/((x(2)-x(1))*(x(2)-x(3))*(x(2)-x(4)));
L(3)=((v-x(1))*(v-x(2))*(v-x(4)))/((x(3)-x(1))*(x(3)-x(2))*(x(3)-x(4)));
L(4)=((v-x(1))*(v-x(2))*(v-x(3)))/((x(4)-x(1))*(x(4)-x(2))*(x(4)-x(3)));
L
valor=y(1)*L(1)+y(2)*L(2)+y(3)*L(3)+y(3)*L(4)
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
3. Integração Numérica
Seja f uma função contínua no intervalo [a, b] da qual se conhece a
primitiva F. O valor da integral definida de f pode ser calculada usando a fórmula de
Newton-Leibniz:
Método dos trapézios
​2
Exemplo: f(x)=e​x ​
Calcular :
Devemos obter um vetor e usar a forma do trapézio.
Solução MatLab:
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
%integral de f(x)=exp(x.^2)
x=0:0.05:0.5;
y=exp(x.^2);
h=0.05;
soma=0;
for i=1:length(x)-1
soma= s+h/2(y(i)+y(i+1);
end
disp(['Valor integral:' num2str(soma));
Exercício MatLab – integral de um triângulo
clear
%calcular a integral de um triangulo
xx=0:0.005:5;
plot(xx,xx,'-');
hold
plot(xx,xx,'r*');
h=0.005;
s=0;
for y=1:length(xx)-1;
s=s+(xx(y)+(xx(y+1)))*h*0.5;
end
disp(s);
>> integral
Current plot released
12.5000
Exercício: Maior valor em módulo dos elementos de uma matriz
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
%maior valor módulo matriz 5x5
clear
maior=0;
for x=1:2;
for y=1:2;
A(x,y)=input(['Leia matriz a(' num2str(x) ',' num2str(y) '):']);
if (abs(maior)<= abs(A(x,y)))
maior=A(x,y);
i=x;
j=y;
end
end
end
disp(A);
disp(['Maior:' num2str(maior)]);
disp(['x=' num2str(i) ' y=' num2str(j)]);
Exercício: Preencher a diagonal de uma matriz com 5 e as 2 secundárias com 2 e 1.
%ex05.m
%preeencher matriz 10x10 com a diag principal c 5 e diag sec com 2
n=10;
M=zeros(n,n);
for i=1:n
for j=1:n
if i==j
M(i,j)=5;
end
if i+1==j | i-1==j
M(i,j)=2;
end
end
end
M
Exercício: Troca elementos da matriz
%troca os elementos da matriz
M=[1 2 3 4;
1 2 3 4;
1 2 3 4;
1 2 3 4];
M
A=M(1:2,1:2);
M(1:2,1:2)= M(3:4,3:4);
M(3:4,3:4)= A;
M
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
4.Equações Lineares: Com a notação de matriz, um sistema de várias equações lineares
simultâneas pode ser escrito como:
Ax=b
A – matriz quadrada de ordem n
b – vetor coluna com n componentes
x – é a coluna de componentes desconhecidos
A solução de Ax=b pode ser escrita como x=inv(A)*b. Esta solução é pouco utilizada pois
produz resultados menos precisos.
MatLab tem o operador Backslash que calcula a inversa de uma matriz.
Ax=b
x=Ab;
Resolver:
x1+3x2=5
2x1+4x2=6
Solução MatLab:
A=[1 3;
2 4]
b=[5; 6];
x=inv(A)*b;
x
Saída: x= [-1; 2]
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
5) Método da Eliminação de Gauss
A idéia central do Método da Eliminação de Gauss, é a de transformar em
triangular um sistema que não o seja, permitindo, assim, sua solução.
Para tanto, o método contem duas fases:
1. triangularização do sistema original, chamada de “forward”.
2. resolução propriamente dita, da última variável para a primeira, chamada de
“backward”.
Na primeira fase, é preciso eliminar a variável x​1 da segunda, terceira, ... até a última
equação, só ficando na primeira; em seguida elimina-se x​2 da terceira, quarta, ... só
ficando nas duas primeiras; elimina-se a variável x​3 da quarta em diante, só ficando nas
três primeiras etc...
Ao final dessa fase, o sistema estará triangularizado.
Na segunda fase resolve-se de trás para a frente, calculando-se a última, a penúltima,...
até a primeira variável, a exemplo do que foi feito acima.
Exercício MatLab
%preeencher matriz 10x10 com a diag principal c/ 5 e diag sec. com 2
n=10;
M=zeros(n,n);
for i=1:n
for j=1:n
if i==j
M(i,j)=5;
end
if i+1==j | i-1==j
M(i,j)=2;
end
end
end
M
for j=2:n
af=-M(j,j-1)/M(j-1,j-1);
M(j,:)=M(j,:)+M(j-1,:)*af;
end
M
* Programa elimina a matriz secundária inferior.
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Exercício MatLab
%matriz de gauss generica se a diagonal principal for diferente de zero
clear
n=3
A=zeros(n,n);
for i=1:n
for j=1:n
if i==j
A(i,j)=5;
end
if ((i+1)==j)| ((i-1)==j)
A(i,j)=2;
end
if ((i+2)==j)| ((i-2)==j)
A(i,j)=1;
end
end
end
A
for j=2:n
for k=j:n
af=-A(k,j-1)/A(j-1,j-1);
A(k,:)=A(k,:)+af*A(j-1,:);
end
end
A
* gera matriz triangular superior
Resultado:
n =
3
A =
5 2 1
2 5 2
1 2 5
A =
5.0000 2.0000 1.0000
0 4.2000 1.6000
0 0 4.1905
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Exercício de Solução de sistema linear incorporando a matriz y
%gauss genercioincorporandomatriz b
n=3;
M=zeros(n,n);
B=zeros(1,n);
for i=1:n
for j=1:n
M(i,j)=input ('Leia valores da matriz:');
end
end
for i=1:n
B(i)= input('Valores de B:')
end
%transformando em matriz coluna
B=B';
MM=M;
M(:,n+1)=B
M
for i=2:n
for j=i:n
af=-M(j,i-1)/M(i-1,i-1);
M(j,:)=M(j,:)+af*M(i-1,:)
end
end
x(n)=M(n,n+1)/M(n,n)
for k=n-1:-1:1
sum=0;
for j = k+1: n;
sum=sum+M(k,j)*x(j);
end
x(k)=(M(k,n+1)-sum)/M(k,k);
end
M
x
%verificando o resultado
MM*x'
Solução:
M =
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
5.0000 2.0000 1.0000 1.0000
0 4.2000 1.6000 1.6000
0 0 4.1905 2.1905
x = 0.0227 0.1818 0.5227
Exercício de solução de equações lineares com pivoteamento.
%calculando sistema de eq lineares por gauss
clc
n=3
M=[0 1 5;
10 -1 1;
1 -6 2];
b=[1; 19; -4];
%calcular usando matriz inversa
y=inv(M)*b
%fazer o pivotamento e calcular matriz triang superior
%anexar vetor b a M
M(:,n+1)=b
for j=1:n-1;
maior=abs(M(j,j));
posicao=1;
for i=j+1:n;
if abs(M(i,j))>maior
maior=abs(M(i,j));
posicao=i;
end
end
piv=M(j,:);
M(j,:)=M(posicao,:);
M(posicao,:)=piv;
for k=j+1:n
af=-M(k,j )/M(j,j);
M(k,:)=M(k,:)+af*M(j,:)
end
end
x(n)=M(n,n+1)/M(n,n);
for k=n-1:-1:1
sum=0;
for i=n:-1:k+1
sum=sum+M(k,i)*x(i);
sum
x(k)=(M(k,n+1)-sum)/M(k,i-1)
end
end
x
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
6) Solução de sistemas retangulares
Resolver sistemas retangulares significa achar a melhor solução.
x1+x2=1
x1-x2= -1
2x1-x2=1
x1+3x2=-1
-4x1+5x2
A solução do sistema se obtem da seguinte forma:
​ t t
A * A * x = A * b
Solução MatLab
%Achar a melhor solucao de um sistema retangular
clc
A=[1 1;
1 -1;
2 -1;
1 3;
-4 5];
b=[1 -1 1 -1 1];
b=b';
%construcao do sistema normal
B=A'*A
bb=A'*b
%solucao
x=inv(B)*bb
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
%calculo dos residuos r=Ax-b
r=A*x-b
%este é o menor residuo em termos da soma
%dos quadrados somaq=r1^2+r2^2+r3^2+r4^2+r5^2
soma=0;
for x=1:5
soma=soma+r(x)^2;
end
soma
A*[0;0]-b
● Esta solução minimiza os resíduos de r=Ax+b
● soma=r1^2+r2^2+r3^2+r4^5+r^5^2
● Método dos mínimos quadrados
7)Métodos dos mínimos quadrados para ajustamento de curvas
O Método dos Mínimos Quadrados, ou Mínimos Quadrados Ordinários
(MQO) ou OLS (do inglês ​Ordinary Least Squares) é uma técnica de otimização
matemática que procura encontrar o melhor ajuste para um conjunto de dados tentando
minimizar a soma dos quadrados das diferenças entre o valor estimado e os dados
observados (tais diferenças são chamadas resíduos).
X | x1 x2 x3 x4
Y | y1 y2 y3 y4
Y(xi)=Y=ax+b
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
ri= yi-Y(xi)= yi-axi-b → reta no ponto
n 2
min= ∑ (ri)
i=1
Toda vez que eu tiver 2 parâmetros eu consigo fazer a regressão linear.
b
Ex: y(x)=a*x
b
log y = log a x = log a + b log x
Y = B + A X
Y é a reta ajustada aos pontos logx e log y.
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
8) Método da bisseção
Este método pode ser usado para encontrar as raízes de uma função f(x)
contínua com x pertencente aos reais definida num intervalo [a,b], tendo f(a) e f(b) sinais
opostos, ou seja, f(a).f(b)≤0. Como f(a) e f(b) têm sinais opostos e f(x) é contínua, pelo
teorema do valor intermediário podemos afirmar que existe uma raiz neste intervalo [a,b].
Vamos considerar também que esta raiz seja a única no intervalo.
Algoritmo
e=precisao
faca
x=(a1+b1)/2
se f(x)*f(a)<0
b=x
else
a=x
fim
ate que precisao seja obtida
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
9)Algoritmo de Newton
Em análise numérica, o ​método de Newton (ou ​método de
Newton-Raphson​) tem o objetivo de estimar as raízes de uma função. Para isso, toma-se
um ponto qualquer do domínio da função, calcula-se a equação da tangente (derivada) da
função nesse ponto, calcula-se o intersecção da tangente ao eixo das abcissas a fim de
encontrar um novo ponto do domínio da função e repete-se o processo, que deve tender a
uma das raízes da função rapidamente, ou não tender a nada, deixando isso claro logo.
Em notação matemática representa-se desta forma:
,
onde ​n indica a ​n-ésima iteração do algoritmo e é a derivada da função ​f em ​xn.
Para que se obtenha sucesso na iteração deve-se primeiramente delimitar um intervalo, a
fim de escolher um valor estimado inicial adequado, para que a convergência de ​(xn) seja
propícia. Para tanto existem apenas quatro condições a serem satisfeitas:
● O intervalo delimitado deve conter a raiz de ​f;
● A função ​f deve ser diferenciável em todo o intervalo;
● A primeira derivada no intervalo não deve trocar de sinal;
● A segunda derivada no intervalo não deve trocar de sinal.
Exercício MatLab
clc
clear
%newton1 f(x)=25*x^2+8x-58
%f'(x)=50*x+8
n=10 %numero de iterações
x(1)=input('Valor inicial de x:');
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
for k=2:n
x(k)=x(k-1)- ((25*x(k-1)^2+8*x(k-1)-58)/(50*x(k-1)+8))
end
xx=-10:0.1:10
yy=25*xx.^2+8*xx-58
plot(xx,yy,'-')
y=25*x(n)^2+8*x(n)-58
hold on
plot(x(n),y,'+r')
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
9)Método iterativo de Jacobi para solução de sistemas lineares
O método de Jacobi trata-se de um algoritmo para determinar a solução
de um sistema de equações lineares com os maiores valores absolutos em cada linha e
coluna dominados pelo elemento da sua diagonal. Trata-se duma versão simplificada do
algoritmo de valores próprios de Jacobi. O método tem o nome do matemático Alemão
Carl Gustav Jakob Jacobi, é um método clássico que data do final do século XVIII.
Técnicas iterativas são raramente utilizadas para solucionar sistemas lineares de
pequenas dimensões, já que o tempo requerido para obter um mínimo de precisão
ultrapassa o requerido pelas técnicas diretas como a eliminação gaussiana. Contudo,
para sistemas grandes, com grande porcentagem de entradas de zero, essa técnicas são
eficientes em termo de cálculo como de armazenamento. Sistemas desse tipo
frequentemente surgem na análise de circuitos e na solução numérica de problemas de
valor de limite e equações diferenciais parciais.
Dado o sistema de equações lineares:
Ax=b
Podemos decompor este sistema em matriz diagonal + matriz resto:
Dx+Rx=b
Dx=b-Rx
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Dados as equações lineares, calcular as raízes pelo método iterativo de Jacobi
Solução MatLab
%método de jacobi
A=[10 -1 1;
1 -6 2;
0 1 5];
b=[19; -4; 1];
x=[0; 0; 0];
n=length(b);
for k=1:5
for i=1:n
s=0;
for ind=1:i-1
s=s+A(i,ind)*x(ind);
end
for ind=i+1:n
s=s+A(i,ind)*x(ind);
end
x(i)=(b(i)-s)/A(i,i);
end
x
end
x
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
10) Método de Euler
O método de Euler é um procedimento numérico para aproximar a
solução da equação diferencial ​y0 = ​f(​t, y) que satisfaz a condição inicial ​y(​t0) = ​y0.
Sabemos que o gráfico da solução passa pelo ponto (​t0​, y0) com inclinaçãoao igual
a ​y0(​t0) (ou seja, com inclinação igual ​f(​t0​, y0)). Isto serve de ponto de partida para achar
uma aproximação da solução.
Começando pelo ponto (​t0​, y0), podemos seguir na direção dada pela inclinação.
Usando um pequeno passo ​h, seguimos ao longo da reta tangente até chegar ao ponto
(​t1​, y1), onde, ​t1 = ​t0 + ​h e ​y1 = ​y0 + ​h f(​t0​, y0) ​.
Tomando (​t1​, y1) como novo ponto de partida, pode-se repetir o processo e obter
um segundo ponto (​t2​, y2), onde ​t2 = ​t1 + ​h e ​y2 = ​y1 + ​h f(​t1​, y1) ​.
O método de Euler consiste na repetição deste processo e gera a sucessão de
pontos ​tn+1 = ​tn + ​h e ​yn+1 = ​yn + ​h f(​tn, yn) ​, n = 0​, 1​, 2​, . . .
y(x)=y(a)+(x-a)*f'(a)
y(x+h)=y(x)+h* f'(x) – Método de EULER explícito
Método de Euler implícito:
y(x+h)=y(x)+h*f'(x+h)
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
2x
Exemplo: ​y=e
{ y'=2y e y(0)=1
Vamos calcular até x=1 passo h=0.1
MatLab
clc
clear
%método de Euler explícito
%dado: y(x)=2e^2x calcular
%y'(x)=2*y(x) y(0)=1
% y(x+1)=y(x)+h*f'(x)
y(1)=1;
h=0.1;
xx=0:h:1;
n=length(xx);
for i=2:n
y(i)=y(i-1)+h*2*y(i-1);
end
z=exp(2*xx);
plot(xx,z,'-',xx,y,'or')
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
Exercício dado em aula
%exercicio de aula
e=0.01
A=[5 1 0 0;
1 5 1 0;
0 1 5 1;
0 0 1 5];
b=[ 0 1 4 -4];
v=[0 0 0 0];
v=v';
r=A*v+b';
n=50;
for k=1:n
tm=(r'*r)/((A*r)'*r)
va=v
v=v-(tm*r)
r=r-tm*A*r
if norm(r)<e | norm(v-va)/norm(v)<e
break
end
end
v
Exercícios Finais
1) Fale sobre o comando de repetição e dê exemplos.
O comando de repetição é usado quando queremos repetir alguma parte
do algoritmo, temos comando do tipo “for” em que podemos determinar o número de
execuções e comando do tipo “while” onde a execução continua até que uma condição
seja satisfeita.
Ex: for x=1:10
---------<comandos>
end
2)Fale sobre comando de desvio. Se temos 4 casos ou possibilidades, como
implementar?
A implementação de 4 possibilidades pode ser feita através de comandos
if aninhados.
Ex:
%O comando de desvio normalmente é utilizado na tomada de decisão e a
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
%implementação pode ser feita através de comandos if aninhados.
x=input('Leia x:');
if x==0
disp (x);
elseif x==1
disp(x);
elseif x==02
disp(x);
elseif x==3
disp(x);
else
disp('Maior');
end
3) Dados 3 vetores um com 5, outro com 15 e outro com 10 componentes. Trocar no de
15 os 5 centrais e no de 10 os 5 últimos.
clear
clc
x=[4 3 2 1 0];
y=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14];
z=[0 1 2 3 4 5 6 7 8 9 10];
y1=[y(1):y(5)]
y2=[y(11):y(15)]
y=[y1 x y2]
z1=[z(1):z(5)]
z=[z1 x]
4) Dados um vetor de 13 elementos, com valores inteiros de 10 a 90. Verificar quantos
elementos estão entre 10 e 30, 31 e 60 e entre 61 e 90.
x=[23 10 34 45 60 90 34 65 56 78 80 61 15]
s1=0
s2=0
s3=0
for i=1:length(x)
if x(i)>=10 & x(i)<=30
s1=s1+1;
end
if x(i)>=31 & x(i)<=60
s2=s2+1;
end
if x(i)>=61 & x(i)<=90
s3=s3+1;
end
end
% s1 entre 10 e 30
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
s1
% s2 entre 31 e 60
s2
% s3 entre 61 e 90
s3
5) Dado um número entre 5 e 95 verificar se ele é primo.
%número primo
x=input('Leia x:')
primo=0
for i=1:x % ou for i=1:round(sqrt(x))
if mod(x,i)==0
primo=primo+1
end
end
primo
if primo>2
disp('Nao eh primo');
else
disp('Eh primo');
end
6)Dados os valores
​2
Obter a ​∫ dx ​por trapézio.
​-2
int = 0;
% primeiro intervalo
h=2;
f1=0;
f2=-4;
int1=(f2-f1)*h/2
% segundo intervalo
h=1;
f1=0;
f2=-1;
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
int2=(f2-f1)*h/2
% terceiro intervalo
h=1;
f1=-1;
f2=4;
int3=(f2-f1)*h/2
int= int1+int2+int3
7) Interpolar y sobre x com os dados anteriores.
%interpolar
x=[-2 0 1 2];
y=[-4 0 -1 4];
A=[1 x(1) x(1)^2 x(1)^3;
1 x(2) x(2)^2 x(2)^3;
1 x(3) x(3)^2 x(3)^3;
1 x(4) x(4)^2 x(4)^3];
p=inv(A)*y'
h=0.1
xx=-2:h:2
int=0;
for i=2:length(xx)
f(i-1)=p(1)+p(2)*xx(i-1)+p(3)*xx(i)^2+p(4)*xx(i-1)^3;
f(i)=p(1)+p(2)*xx(i)+p(3)*xx(i)^2+p(4)*xx(i)^3;
int=int+h/2*abs((f(i)+f(i-1)));
end
plot(xx,f)
int
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
8) Faça uma função círculo(x,y,r) para traçar uma circunferência. Dados: centro x, y e raio
r.
%circunferencia centro x,y raio r
function c(x,y,r)
z=0:0.1:2*pi;
j=r*cos(z)+x;
k=r*sin(z)+y;
plot(j,k,'-',x,y,'o')
end
9. Implemente um algoritmo de eliminação para zerar a diagonal inferior de uma matriz de
10x10.
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
% algoritmo
M= zeros(10,10);
n=10;
for i=1:n
for j=1:n
if i==j
M(i,j)=4;
end
if i+1==j | i-1==j
M(i,j)=1;
end
end
end
M
for i=2:n
for j=i:n
af=-(M(j,i-1)/M(i-1,i-1));
M(j,:)=M(j,:)+af*M(i-1,:)
end
end
M
Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira
10) Implementar o algoritmo, para v​(0) ​
e Є dados.
%exercicio 10
n=50
k=50 %estabelecemos um valor de K
v=[1; 1; 1; 1; 1] %adotamos um valor de vo
e=0.01; % estabelecemos a margem de erro
A=[4 1 0 1 0;
1 1 1 0 1;
0 1 4 1 0;
0 0 1 4 1;
0 1 0 1 4]
b=[ 1 -1 0 -1 1]'
ro=A*vo+b
p=-ro
q1=(ro'*ro)/ ((A*ro)'*ro)
v=v+q1*p
r1=ro+q1*A*p
for k=2:3
alpha=(r1'*r1)/(ro'*ro);
p=-ro+alpha*p
q=(r1'*r1)/((A*p2)'*p2);
v2=v1+(q*p2);
r2=r1+(q*A*p2);
if ((norm(v2-v1))/norm(v2))<e
break
end
%atualiza valores anteriores
r0=r1;
r1=r2;
v1=v2;
disp(norm(v2-v1)/norm(v2));
end

More Related Content

What's hot

Variaveis+aleatorias
Variaveis+aleatoriasVariaveis+aleatorias
Variaveis+aleatorias
Fagner Talles
 
Equação de 1º grau
Equação de 1º grauEquação de 1º grau
Equação de 1º grau
leilamaluf
 
Tabela derivadas integral
Tabela derivadas integralTabela derivadas integral
Tabela derivadas integral
Lidia Tiggemann
 

What's hot (20)

Variaveis+aleatorias
Variaveis+aleatoriasVariaveis+aleatorias
Variaveis+aleatorias
 
Equação de 1º grau
Equação de 1º grauEquação de 1º grau
Equação de 1º grau
 
Hidraúlica agrícola
Hidraúlica agrícolaHidraúlica agrícola
Hidraúlica agrícola
 
Exercicios de estatistica resolvido.3
Exercicios de estatistica resolvido.3Exercicios de estatistica resolvido.3
Exercicios de estatistica resolvido.3
 
Algebra
AlgebraAlgebra
Algebra
 
Função de duas variáveis, domínios e imagem
Função de duas variáveis, domínios e imagemFunção de duas variáveis, domínios e imagem
Função de duas variáveis, domínios e imagem
 
Associações de geradores
Associações de geradoresAssociações de geradores
Associações de geradores
 
Bombas e Máquinas Hidráulicas
Bombas e Máquinas HidráulicasBombas e Máquinas Hidráulicas
Bombas e Máquinas Hidráulicas
 
14.3 derivadas parciais [pt. 1]
14.3 derivadas parciais [pt. 1]14.3 derivadas parciais [pt. 1]
14.3 derivadas parciais [pt. 1]
 
Solução da lista 2
Solução da lista 2Solução da lista 2
Solução da lista 2
 
Exercício - Torre de Resfriamento - Termodinâmica
Exercício - Torre de Resfriamento - TermodinâmicaExercício - Torre de Resfriamento - Termodinâmica
Exercício - Torre de Resfriamento - Termodinâmica
 
Aula 1 Probabilidade Introdução
Aula 1 Probabilidade IntroduçãoAula 1 Probabilidade Introdução
Aula 1 Probabilidade Introdução
 
Potenciação.pdf
Potenciação.pdfPotenciação.pdf
Potenciação.pdf
 
Aguaquente dimensionamento completo
Aguaquente dimensionamento completoAguaquente dimensionamento completo
Aguaquente dimensionamento completo
 
Função modular
Função modularFunção modular
Função modular
 
Introdução à probabilidade - Probabilidade frequentista
Introdução à probabilidade - Probabilidade frequentistaIntrodução à probabilidade - Probabilidade frequentista
Introdução à probabilidade - Probabilidade frequentista
 
Tabela derivadas integral
Tabela derivadas integralTabela derivadas integral
Tabela derivadas integral
 
Apostila Calculo II - UDESC.pdf
Apostila Calculo II - UDESC.pdfApostila Calculo II - UDESC.pdf
Apostila Calculo II - UDESC.pdf
 
Tabela completa de derivadas e integrais
Tabela completa de derivadas e integraisTabela completa de derivadas e integrais
Tabela completa de derivadas e integrais
 
Analise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabAnalise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com Matlab
 

Similar to Cálculo usando MatLab

Similar to Cálculo usando MatLab (20)

Material sobre a Derivada
Material sobre a DerivadaMaterial sobre a Derivada
Material sobre a Derivada
 
1 interpol polinomial_met_lagrange_newton
1 interpol polinomial_met_lagrange_newton1 interpol polinomial_met_lagrange_newton
1 interpol polinomial_met_lagrange_newton
 
Capítulo4 interpolação
Capítulo4 interpolaçãoCapítulo4 interpolação
Capítulo4 interpolação
 
Mn aula06-interpolacao
Mn aula06-interpolacaoMn aula06-interpolacao
Mn aula06-interpolacao
 
Derivadas
DerivadasDerivadas
Derivadas
 
Derivadas
DerivadasDerivadas
Derivadas
 
1 integr num_simples
1 integr num_simples1 integr num_simples
1 integr num_simples
 
1 integr num_simples
1 integr num_simples1 integr num_simples
1 integr num_simples
 
Matemática básica derivada e integral
Matemática básica   derivada e integralMatemática básica   derivada e integral
Matemática básica derivada e integral
 
Funções Elementares
Funções ElementaresFunções Elementares
Funções Elementares
 
Cl interpolao
Cl interpolaoCl interpolao
Cl interpolao
 
Lista de exercícios 8
Lista de exercícios 8Lista de exercícios 8
Lista de exercícios 8
 
matematica e midias
matematica e midiasmatematica e midias
matematica e midias
 
Fourier
FourierFourier
Fourier
 
Função do 2º Grau.
Função do 2º Grau.Função do 2º Grau.
Função do 2º Grau.
 
Integracão para engenharia
Integracão para engenhariaIntegracão para engenharia
Integracão para engenharia
 
FunçãO Do 1º E 2º Grau Autor Antonio Carlos Carneiro Barroso
FunçãO Do 1º  E 2º Grau Autor Antonio Carlos Carneiro BarrosoFunçãO Do 1º  E 2º Grau Autor Antonio Carlos Carneiro Barroso
FunçãO Do 1º E 2º Grau Autor Antonio Carlos Carneiro Barroso
 
Zero de função
Zero de funçãoZero de função
Zero de função
 
Sries de taylor e de maclaurin
Sries de taylor e de maclaurinSries de taylor e de maclaurin
Sries de taylor e de maclaurin
 
Mn aula06-interpolacao
Mn aula06-interpolacaoMn aula06-interpolacao
Mn aula06-interpolacao
 

More from antonio sérgio nogueira

More from antonio sérgio nogueira (20)

Montagem capota Montana 2008
Montagem capota Montana 2008Montagem capota Montana 2008
Montagem capota Montana 2008
 
Montagem capota Saveiro 2010 correta sem gancho
Montagem capota Saveiro 2010 correta sem ganchoMontagem capota Saveiro 2010 correta sem gancho
Montagem capota Saveiro 2010 correta sem gancho
 
Montagem capota Saveiro 2010 correta sem gancho
Montagem capota Saveiro 2010 correta sem ganchoMontagem capota Saveiro 2010 correta sem gancho
Montagem capota Saveiro 2010 correta sem gancho
 
MOntagem capota Saveiro cross folha o1
MOntagem capota Saveiro cross folha o1MOntagem capota Saveiro cross folha o1
MOntagem capota Saveiro cross folha o1
 
Montagem capota Saveiro cross coretissima fls 02
Montagem capota Saveiro cross coretissima fls 02Montagem capota Saveiro cross coretissima fls 02
Montagem capota Saveiro cross coretissima fls 02
 
Montagem capota Saveiro 1997
Montagem capota Saveiro 1997 Montagem capota Saveiro 1997
Montagem capota Saveiro 1997
 
montagem capota Strada simp estend-dupla novo 2014
montagem capota Strada simp estend-dupla novo 2014montagem capota Strada simp estend-dupla novo 2014
montagem capota Strada simp estend-dupla novo 2014
 
Montagem Capota Strada simples e est.perfil novo 2014
Montagem Capota Strada simples e est.perfil novo 2014Montagem Capota Strada simples e est.perfil novo 2014
Montagem Capota Strada simples e est.perfil novo 2014
 
Montagem capota Mitsubshi antiga
Montagem capota Mitsubshi antigaMontagem capota Mitsubshi antiga
Montagem capota Mitsubshi antiga
 
Montagem capota de Jeep
Montagem capota de Jeep Montagem capota de Jeep
Montagem capota de Jeep
 
Montagem Capota Hoggar peugeot
Montagem Capota Hoggar peugeot Montagem Capota Hoggar peugeot
Montagem Capota Hoggar peugeot
 
Montagem Capota Hilux ate 2001
Montagem Capota Hilux ate 2001Montagem Capota Hilux ate 2001
Montagem Capota Hilux ate 2001
 
Montagem capota S10
Montagem capota S10Montagem capota S10
Montagem capota S10
 
Montagem capota Toro
Montagem capota ToroMontagem capota Toro
Montagem capota Toro
 
Montagem Capota Fiat fiorino
Montagem Capota Fiat fiorino Montagem Capota Fiat fiorino
Montagem Capota Fiat fiorino
 
Montagem capota F 250 e f-1000
Montagem capota F 250 e f-1000Montagem capota F 250 e f-1000
Montagem capota F 250 e f-1000
 
Montagem Capota Diversos montagem 2019
Montagem Capota Diversos montagem 2019Montagem Capota Diversos montagem 2019
Montagem Capota Diversos montagem 2019
 
Montagem Capota Courier
Montagem Capota CourierMontagem Capota Courier
Montagem Capota Courier
 
Montagem Amarok extreme 2018
Montagem Amarok extreme 2018Montagem Amarok extreme 2018
Montagem Amarok extreme 2018
 
Montagem Capota Altas grande fechada -detalhe
Montagem Capota Altas grande fechada -detalheMontagem Capota Altas grande fechada -detalhe
Montagem Capota Altas grande fechada -detalhe
 

Recently uploaded

O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 

Recently uploaded (20)

O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
tensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptxtensoes-etnicas-na-europa-template-1.pptx
tensoes-etnicas-na-europa-template-1.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Acessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidadeAcessibilidade, inclusão e valorização da diversidade
Acessibilidade, inclusão e valorização da diversidade
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 

Cálculo usando MatLab

  • 1. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira A derivada aproximada 1)Função diferenciável Uma função f é diferenciável se em cada ponto do domínio o gráfico graf(f) tiver uma reta tangente. A reta tangente no ponto (a, f(a)) tem um coeficiente angular m e nós diremos que f′(a) = m. A função derivada, f′ é uma outra função que descreve as derivadas de f e portanto as taxas de variação instantâneas de f. No Cálculo dizemos que a derivada define a reta tangente ao gráfico. Figura de tangente e 3 secantes. Se f representar a parte da equação e a o ponto onde temos a tangente, então derivada de f é f'(a) no ponto (a,f(a)). Como podemos ver na figura temos uma tangente e 3 secantes, as secantes são aproximações da tangente. Como temos 3 secantes podemos dizer que o coeficiente angular de uma das secantes é: m= ​ f(a+h)-f(a) (a+h) – a Quanto mais próximo estiver ​(a+h)​ de ​a​ mas preciso será o valor do coeficiente angular da secante, relativamente ao desejado coeficiente angular da tangente.
  • 2. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Considere a figura abaixo, que representa o gráfico de uma função y = f(x), definida num intervalo de números reais. Observando a figura, podemos definir o seguinte quociente, denominado razão incremental da função y = f(x), quando x varia de x0 para x0 + ∆x0 : Define-se a derivada da função y = f(x) no ponto x = x0, como sendo o limite da razão incremental acima, quando x0 tende a zero, e é representada por f ' (x0) , ou seja: Nota: a derivada de uma função y = f(x), pode ser representada também pelos símbolos y' ou dy/dx. Guarde então a seguinte conclusão importante: A derivada de uma função y = f(x) num ponto x = x0 , coincide numericamente com o valor da tangente trigonométrica do ângulo formado pela tangente geométrica à curva representativa de y = f(x), no ponto x = x0. Voltando a figura 1 dizemos: f' (a)=​f(a+h) – f(a)​ x=a e x1=a+h (a+h) – a
  • 3. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira f'(x)=​ f(x1)-f(x) h y(x1)=f(x1), f'(x)=y'(x), f(x)=y(x) y(x1)-y(x)= h* f'(x)
  • 4. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 2)Interpolação polinomial Interpolar uma função f(x) consiste em aproximar essa função por uma outra função g(x), escolhida entre uma classe de funções definida a priori e que satisfaça algumas propriedades. A função g(x) é então usada em substituição à função f(x). A necessidade de se efetuar esta substituição surge em várias situações, como por exemplo: a.)quando são conhecidos somente os valores numéricos da função para um conjunto de pontos e é necessário calcular o valor da função em um ponto não tabelado; b.)quando a função em estudo tem uma expressão tal que operações como a diferenciação e a integração são difíceis (ou mesmo impossíveis) de serem realizadas. Denomina-se interpolação polinomial o processo matemático de interpolação em que a função interpoladora é um polinômio. A função interpoladora é a função Definidos um intervalo e uma função denomina-se interpolação o processo matemático de avaliar substituindo-se a função pela função interpoladora de modo que ( ). Assim, é a função real, definida em da qual conhecem-se os valores nos pontos de abcissas ( ). Consideremos um conjunto de pontos (designados nós de interpolação) x0 , ... , xn , a que estão associados os valores de uma função f0 , ... , fn, respectivamente. Pretendemos encontrar um polinômio p tal que p ( xi ) = fi para i = 0, ..., n. O polinómio de 3º grau interpola a função em 4 pontos Escrevendo ​p( x ) = a0 + a1 x + ... + am xm, obtemos o sistema
  • 5. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira a0 + a1 x0 + ... + am x0m = f0 ... a0 + a1 xn + ... + am xnm = fn Exemplo: Dados os pontos (x0, f(x0)), (x1, f(x1)), ..., (xn, f(xn)), portanto (n + 1) pontos, queremos aproximar f(x) por um polinômio pn(x), de grau menor ou igual a n, tal que: f(xk) = pn(xk) k = 0, 1, 2, ..., n Surgem aqui as perguntas: existe sempre um polinômio pn(x) que satisfaça estas condições? Caso exista, ele é único? Representaremos pn(x) por: pn(x) = a0 + a1x + a2x2 + ... + anxn. Portanto, obter pn(x) significa obter os coeficientes a0, a1, ..., an. Da condição pn(xk) = f(xk), " k = 0, 1, 2, ..., n, montamos o seguinte sistema linear: com n + 1 equações e n + 1 variáveis: a0, a1, ..., an. A matriz A dos coeficientes é que é uma matriz de Vandermonde e, portanto, desde que x0, x1, ..., xn sejam pontos distintos, temos det (A) ≠ 0 e, então, o sistema linear admite solução única. Demonstramos assim o seguinte teorema: Existência e unicidade do Polinômio Interpolador Existe um único polinômio pn(x), de grau £ n, tal que: pn(xk) = f(xk), k = 0, 1, 2,..., n, desde que xk ≠ xj, j ≠ k.
  • 6. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Exercício: Dado x=[0 1 2 3] e y=[-5 -6 -1 16]. Calcular o polinômio interpolador e o valor de x=1.5. Desenhe o gráfico da função e o pontos. Solução MatLab: %Interpolação x=[0 1 2 3]; x=x'; % transformando em matriz coluna y=[-5 -6 -1 16]; y=y' %transformando em matriz coluna % polinômio interpolador p(x)=ao+a1*x+a2*x^2+a3*x^3 % A*p=y A= [ 1 x(1) x(1)^2 x(1)^3; 1 x(2) x(2)^2 x(3)^3; 1 x(3) x(3)^2 x(3)^3; 1 x(4) x(4)^2 x(4)^3]; % calcula p através da matriz inversa p=inv(A)*y; disp(p); %mostra valores de a0,...,an do polinômio %entre o valor a ser interposto interp=input('Digite o valor:'); resultado=p(1)+p(2)*interp+p(3)*interp^2+p(4)*interp^3; disp(resultado); %mostra resultado %definindo uma matriz de valores a serem calculados xx=0:0.01:4; res=p(1)+p(2)*xx+p(3)*xx.^2+p(4)*xx.^3; plot(x,y,'r+',xx,res,'-'); Resultado: Digite o valor:1.5 -5.5000
  • 7. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Exercício 2: resolução Vandermonde clc clear %Interpolação x=[0 1 2 3]; % transformando em matriz coluna y=[-5 -6 -1 16]; y=y' %transformando em matriz coluna % polinômio interpolador p(x)=ao+a1*x+a2*x^2+a3*x^3 % A*p=y A=vander(x) %calcula matriz p=inv(A)*y %definindo uma matriz de valores a serem calculados xx=0:0.01:4; res=p(4)+p(3)*xx+p(2)*xx.^2+p(1)*xx.^3; plot(x,y,'r+',xx,res,'-'); Resposta:p = 1.0000 0.0000 -2.0000 -5.0000
  • 8. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Exercício 3: Dados os valores x=[0​0​ 45​0​ 60​0 ​ 90​0​ ] y=[1 √2/2 ½ 0] ​Calcular o Valor de 35​0 usando interpolação. Vamos transformar graus em radianos: x=[0 π/4 π/3 π/2] Solução MatLab: %interpolacao cosseno clc clear y=[ 1 sqrt(2)/2 1/2 0]; y=y'; x=[ 0 pi/4 pi/3 pi/2]; A=[1 x(1) x(1)^2 x(1)^3; 1 x(2) x(2)^2 x(2)^3; 1 x(3) x(3)^2 x(3)^3; 1 x(4) x(4)^2 x(4)^3]; p=inv(A)*y; %interpolação de valor valor=input('Leia valor em graus a ser interpolado:'); valor=valor/180*pi; resnum=p(1)+p(2)*valor+p(3)*valor.^2+p(4)*valor.^3; %interpolacao de varios valores xx=0:0.1:pi/2; res=p(1)+p(2)*xx+p(3)*xx.^2+p(4)*xx.^3; plot(xx,res,'-',xx,cos(xx),'r.',valor,resnum,'+b');
  • 9. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Lagrange Interpolação Dado um conjunto de ​k+1 pontos: com todos ​xj distintos, o polinômio de interpolação de um conjunto de pontos na forma de Lagrange é a combinação linear dos polinômios da base de Lagrange: , com polinômios da base de Lagrange dados por: p(x)=y0 L0(x)+y1 L1(x)+........+yn Ln(x)
  • 10. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Note que: L1(x1)=1 …., Ln(xn)=1 e que Lo(xn) onde n≠0 Lo=0 …. Exercício: Dado Ө= [0 45 60 90] e y=[1 √2 /2 1/2 0] . Obter a aproximação de 35​o ​ por Lagrange. Resolução: Transformando Ө em radianos temos: Ө=[0 pi/4 pi/3 pi/2]=[0 0,79 1,05 1,57] 35​o ​ = pi*35/180=0,611 → x=? L1(x)=​(x-x2) (x-x3) (x-x4) (x1-x2)(x1-x3)(x1-x4) L2(x)=​(x-x1) (x-x3) (x-x4) (x2-x1)(x2-x3)(x2-x4) L3(x)=​(x-x1) (x-x2) (x-x4) (x3-x1)(x3-x2)(x3-x4) L4(x)=​(x-x1) (x-x2) (x-x3) (x4-x1)(x4-x2)(x4-x3) p(0,611)=1*L1+√2 /2*L2+1/2*L3+0*L4 Solução no MatLab: %Lagrange interpolação clear clc
  • 11. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira %Lagrange interpolação v=pi/3 x=[0 pi/4 pi/3 pi/2] y=[1 sqrt(2)/2 1/2 0] L(1)=((v-x(2))*(v-x(3))*(v-x(4)))/((x(1)-x(2))*(x(1)-x(3))*(x(1)-x(4))); L(2)=((v-x(1))*(v-x(3))*(v-x(4)))/((x(2)-x(1))*(x(2)-x(3))*(x(2)-x(4))); L(3)=((v-x(1))*(v-x(2))*(v-x(4)))/((x(3)-x(1))*(x(3)-x(2))*(x(3)-x(4))); L(4)=((v-x(1))*(v-x(2))*(v-x(3)))/((x(4)-x(1))*(x(4)-x(2))*(x(4)-x(3))); L valor=y(1)*L(1)+y(2)*L(2)+y(3)*L(3)+y(3)*L(4)
  • 12. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 3. Integração Numérica Seja f uma função contínua no intervalo [a, b] da qual se conhece a primitiva F. O valor da integral definida de f pode ser calculada usando a fórmula de Newton-Leibniz: Método dos trapézios ​2 Exemplo: f(x)=e​x ​ Calcular : Devemos obter um vetor e usar a forma do trapézio. Solução MatLab:
  • 13. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira %integral de f(x)=exp(x.^2) x=0:0.05:0.5; y=exp(x.^2); h=0.05; soma=0; for i=1:length(x)-1 soma= s+h/2(y(i)+y(i+1); end disp(['Valor integral:' num2str(soma)); Exercício MatLab – integral de um triângulo clear %calcular a integral de um triangulo xx=0:0.005:5; plot(xx,xx,'-'); hold plot(xx,xx,'r*'); h=0.005; s=0; for y=1:length(xx)-1; s=s+(xx(y)+(xx(y+1)))*h*0.5; end disp(s); >> integral Current plot released 12.5000 Exercício: Maior valor em módulo dos elementos de uma matriz
  • 14. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira %maior valor módulo matriz 5x5 clear maior=0; for x=1:2; for y=1:2; A(x,y)=input(['Leia matriz a(' num2str(x) ',' num2str(y) '):']); if (abs(maior)<= abs(A(x,y))) maior=A(x,y); i=x; j=y; end end end disp(A); disp(['Maior:' num2str(maior)]); disp(['x=' num2str(i) ' y=' num2str(j)]); Exercício: Preencher a diagonal de uma matriz com 5 e as 2 secundárias com 2 e 1. %ex05.m %preeencher matriz 10x10 com a diag principal c 5 e diag sec com 2 n=10; M=zeros(n,n); for i=1:n for j=1:n if i==j M(i,j)=5; end if i+1==j | i-1==j M(i,j)=2; end end end M Exercício: Troca elementos da matriz %troca os elementos da matriz M=[1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4]; M A=M(1:2,1:2); M(1:2,1:2)= M(3:4,3:4); M(3:4,3:4)= A; M
  • 15. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 4.Equações Lineares: Com a notação de matriz, um sistema de várias equações lineares simultâneas pode ser escrito como: Ax=b A – matriz quadrada de ordem n b – vetor coluna com n componentes x – é a coluna de componentes desconhecidos A solução de Ax=b pode ser escrita como x=inv(A)*b. Esta solução é pouco utilizada pois produz resultados menos precisos. MatLab tem o operador Backslash que calcula a inversa de uma matriz. Ax=b x=Ab; Resolver: x1+3x2=5 2x1+4x2=6 Solução MatLab: A=[1 3; 2 4] b=[5; 6]; x=inv(A)*b; x Saída: x= [-1; 2]
  • 16. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 5) Método da Eliminação de Gauss A idéia central do Método da Eliminação de Gauss, é a de transformar em triangular um sistema que não o seja, permitindo, assim, sua solução. Para tanto, o método contem duas fases: 1. triangularização do sistema original, chamada de “forward”. 2. resolução propriamente dita, da última variável para a primeira, chamada de “backward”. Na primeira fase, é preciso eliminar a variável x​1 da segunda, terceira, ... até a última equação, só ficando na primeira; em seguida elimina-se x​2 da terceira, quarta, ... só ficando nas duas primeiras; elimina-se a variável x​3 da quarta em diante, só ficando nas três primeiras etc... Ao final dessa fase, o sistema estará triangularizado. Na segunda fase resolve-se de trás para a frente, calculando-se a última, a penúltima,... até a primeira variável, a exemplo do que foi feito acima. Exercício MatLab %preeencher matriz 10x10 com a diag principal c/ 5 e diag sec. com 2 n=10; M=zeros(n,n); for i=1:n for j=1:n if i==j M(i,j)=5; end if i+1==j | i-1==j M(i,j)=2; end end end M for j=2:n af=-M(j,j-1)/M(j-1,j-1); M(j,:)=M(j,:)+M(j-1,:)*af; end M * Programa elimina a matriz secundária inferior.
  • 17. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Exercício MatLab %matriz de gauss generica se a diagonal principal for diferente de zero clear n=3 A=zeros(n,n); for i=1:n for j=1:n if i==j A(i,j)=5; end if ((i+1)==j)| ((i-1)==j) A(i,j)=2; end if ((i+2)==j)| ((i-2)==j) A(i,j)=1; end end end A for j=2:n for k=j:n af=-A(k,j-1)/A(j-1,j-1); A(k,:)=A(k,:)+af*A(j-1,:); end end A * gera matriz triangular superior Resultado: n = 3 A = 5 2 1 2 5 2 1 2 5 A = 5.0000 2.0000 1.0000 0 4.2000 1.6000 0 0 4.1905
  • 18. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Exercício de Solução de sistema linear incorporando a matriz y %gauss genercioincorporandomatriz b n=3; M=zeros(n,n); B=zeros(1,n); for i=1:n for j=1:n M(i,j)=input ('Leia valores da matriz:'); end end for i=1:n B(i)= input('Valores de B:') end %transformando em matriz coluna B=B'; MM=M; M(:,n+1)=B M for i=2:n for j=i:n af=-M(j,i-1)/M(i-1,i-1); M(j,:)=M(j,:)+af*M(i-1,:) end end x(n)=M(n,n+1)/M(n,n) for k=n-1:-1:1 sum=0; for j = k+1: n; sum=sum+M(k,j)*x(j); end x(k)=(M(k,n+1)-sum)/M(k,k); end M x %verificando o resultado MM*x' Solução: M =
  • 19. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 5.0000 2.0000 1.0000 1.0000 0 4.2000 1.6000 1.6000 0 0 4.1905 2.1905 x = 0.0227 0.1818 0.5227 Exercício de solução de equações lineares com pivoteamento. %calculando sistema de eq lineares por gauss clc n=3 M=[0 1 5; 10 -1 1; 1 -6 2]; b=[1; 19; -4]; %calcular usando matriz inversa y=inv(M)*b %fazer o pivotamento e calcular matriz triang superior %anexar vetor b a M M(:,n+1)=b for j=1:n-1; maior=abs(M(j,j)); posicao=1; for i=j+1:n; if abs(M(i,j))>maior maior=abs(M(i,j)); posicao=i; end end piv=M(j,:); M(j,:)=M(posicao,:); M(posicao,:)=piv; for k=j+1:n af=-M(k,j )/M(j,j); M(k,:)=M(k,:)+af*M(j,:) end end x(n)=M(n,n+1)/M(n,n); for k=n-1:-1:1 sum=0; for i=n:-1:k+1 sum=sum+M(k,i)*x(i); sum x(k)=(M(k,n+1)-sum)/M(k,i-1) end end x
  • 20. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 6) Solução de sistemas retangulares Resolver sistemas retangulares significa achar a melhor solução. x1+x2=1 x1-x2= -1 2x1-x2=1 x1+3x2=-1 -4x1+5x2 A solução do sistema se obtem da seguinte forma: ​ t t A * A * x = A * b Solução MatLab %Achar a melhor solucao de um sistema retangular clc A=[1 1; 1 -1; 2 -1; 1 3; -4 5]; b=[1 -1 1 -1 1]; b=b'; %construcao do sistema normal B=A'*A bb=A'*b %solucao x=inv(B)*bb
  • 21. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira %calculo dos residuos r=Ax-b r=A*x-b %este é o menor residuo em termos da soma %dos quadrados somaq=r1^2+r2^2+r3^2+r4^2+r5^2 soma=0; for x=1:5 soma=soma+r(x)^2; end soma A*[0;0]-b ● Esta solução minimiza os resíduos de r=Ax+b ● soma=r1^2+r2^2+r3^2+r4^5+r^5^2 ● Método dos mínimos quadrados 7)Métodos dos mínimos quadrados para ajustamento de curvas O Método dos Mínimos Quadrados, ou Mínimos Quadrados Ordinários (MQO) ou OLS (do inglês ​Ordinary Least Squares) é uma técnica de otimização matemática que procura encontrar o melhor ajuste para um conjunto de dados tentando minimizar a soma dos quadrados das diferenças entre o valor estimado e os dados observados (tais diferenças são chamadas resíduos). X | x1 x2 x3 x4 Y | y1 y2 y3 y4 Y(xi)=Y=ax+b
  • 22. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira ri= yi-Y(xi)= yi-axi-b → reta no ponto n 2 min= ∑ (ri) i=1 Toda vez que eu tiver 2 parâmetros eu consigo fazer a regressão linear. b Ex: y(x)=a*x b log y = log a x = log a + b log x Y = B + A X Y é a reta ajustada aos pontos logx e log y.
  • 23. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 8) Método da bisseção Este método pode ser usado para encontrar as raízes de uma função f(x) contínua com x pertencente aos reais definida num intervalo [a,b], tendo f(a) e f(b) sinais opostos, ou seja, f(a).f(b)≤0. Como f(a) e f(b) têm sinais opostos e f(x) é contínua, pelo teorema do valor intermediário podemos afirmar que existe uma raiz neste intervalo [a,b]. Vamos considerar também que esta raiz seja a única no intervalo. Algoritmo e=precisao faca x=(a1+b1)/2 se f(x)*f(a)<0 b=x else a=x fim ate que precisao seja obtida
  • 24. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 9)Algoritmo de Newton Em análise numérica, o ​método de Newton (ou ​método de Newton-Raphson​) tem o objetivo de estimar as raízes de uma função. Para isso, toma-se um ponto qualquer do domínio da função, calcula-se a equação da tangente (derivada) da função nesse ponto, calcula-se o intersecção da tangente ao eixo das abcissas a fim de encontrar um novo ponto do domínio da função e repete-se o processo, que deve tender a uma das raízes da função rapidamente, ou não tender a nada, deixando isso claro logo. Em notação matemática representa-se desta forma: , onde ​n indica a ​n-ésima iteração do algoritmo e é a derivada da função ​f em ​xn. Para que se obtenha sucesso na iteração deve-se primeiramente delimitar um intervalo, a fim de escolher um valor estimado inicial adequado, para que a convergência de ​(xn) seja propícia. Para tanto existem apenas quatro condições a serem satisfeitas: ● O intervalo delimitado deve conter a raiz de ​f; ● A função ​f deve ser diferenciável em todo o intervalo; ● A primeira derivada no intervalo não deve trocar de sinal; ● A segunda derivada no intervalo não deve trocar de sinal. Exercício MatLab clc clear %newton1 f(x)=25*x^2+8x-58 %f'(x)=50*x+8 n=10 %numero de iterações x(1)=input('Valor inicial de x:');
  • 25. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira for k=2:n x(k)=x(k-1)- ((25*x(k-1)^2+8*x(k-1)-58)/(50*x(k-1)+8)) end xx=-10:0.1:10 yy=25*xx.^2+8*xx-58 plot(xx,yy,'-') y=25*x(n)^2+8*x(n)-58 hold on plot(x(n),y,'+r')
  • 26. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 9)Método iterativo de Jacobi para solução de sistemas lineares O método de Jacobi trata-se de um algoritmo para determinar a solução de um sistema de equações lineares com os maiores valores absolutos em cada linha e coluna dominados pelo elemento da sua diagonal. Trata-se duma versão simplificada do algoritmo de valores próprios de Jacobi. O método tem o nome do matemático Alemão Carl Gustav Jakob Jacobi, é um método clássico que data do final do século XVIII. Técnicas iterativas são raramente utilizadas para solucionar sistemas lineares de pequenas dimensões, já que o tempo requerido para obter um mínimo de precisão ultrapassa o requerido pelas técnicas diretas como a eliminação gaussiana. Contudo, para sistemas grandes, com grande porcentagem de entradas de zero, essa técnicas são eficientes em termo de cálculo como de armazenamento. Sistemas desse tipo frequentemente surgem na análise de circuitos e na solução numérica de problemas de valor de limite e equações diferenciais parciais. Dado o sistema de equações lineares: Ax=b Podemos decompor este sistema em matriz diagonal + matriz resto: Dx+Rx=b Dx=b-Rx
  • 27. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Dados as equações lineares, calcular as raízes pelo método iterativo de Jacobi Solução MatLab %método de jacobi A=[10 -1 1; 1 -6 2; 0 1 5]; b=[19; -4; 1]; x=[0; 0; 0]; n=length(b); for k=1:5 for i=1:n s=0; for ind=1:i-1 s=s+A(i,ind)*x(ind); end for ind=i+1:n s=s+A(i,ind)*x(ind); end x(i)=(b(i)-s)/A(i,i); end x end x
  • 28. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 10) Método de Euler O método de Euler é um procedimento numérico para aproximar a solução da equação diferencial ​y0 = ​f(​t, y) que satisfaz a condição inicial ​y(​t0) = ​y0. Sabemos que o gráfico da solução passa pelo ponto (​t0​, y0) com inclinaçãoao igual a ​y0(​t0) (ou seja, com inclinação igual ​f(​t0​, y0)). Isto serve de ponto de partida para achar uma aproximação da solução. Começando pelo ponto (​t0​, y0), podemos seguir na direção dada pela inclinação. Usando um pequeno passo ​h, seguimos ao longo da reta tangente até chegar ao ponto (​t1​, y1), onde, ​t1 = ​t0 + ​h e ​y1 = ​y0 + ​h f(​t0​, y0) ​. Tomando (​t1​, y1) como novo ponto de partida, pode-se repetir o processo e obter um segundo ponto (​t2​, y2), onde ​t2 = ​t1 + ​h e ​y2 = ​y1 + ​h f(​t1​, y1) ​. O método de Euler consiste na repetição deste processo e gera a sucessão de pontos ​tn+1 = ​tn + ​h e ​yn+1 = ​yn + ​h f(​tn, yn) ​, n = 0​, 1​, 2​, . . . y(x)=y(a)+(x-a)*f'(a) y(x+h)=y(x)+h* f'(x) – Método de EULER explícito Método de Euler implícito: y(x+h)=y(x)+h*f'(x+h)
  • 29. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 2x Exemplo: ​y=e { y'=2y e y(0)=1 Vamos calcular até x=1 passo h=0.1 MatLab clc clear %método de Euler explícito %dado: y(x)=2e^2x calcular %y'(x)=2*y(x) y(0)=1 % y(x+1)=y(x)+h*f'(x) y(1)=1; h=0.1; xx=0:h:1; n=length(xx); for i=2:n y(i)=y(i-1)+h*2*y(i-1); end z=exp(2*xx); plot(xx,z,'-',xx,y,'or')
  • 30. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira Exercício dado em aula %exercicio de aula e=0.01 A=[5 1 0 0; 1 5 1 0; 0 1 5 1; 0 0 1 5]; b=[ 0 1 4 -4]; v=[0 0 0 0]; v=v'; r=A*v+b'; n=50; for k=1:n tm=(r'*r)/((A*r)'*r) va=v v=v-(tm*r) r=r-tm*A*r if norm(r)<e | norm(v-va)/norm(v)<e break end end v Exercícios Finais 1) Fale sobre o comando de repetição e dê exemplos. O comando de repetição é usado quando queremos repetir alguma parte do algoritmo, temos comando do tipo “for” em que podemos determinar o número de execuções e comando do tipo “while” onde a execução continua até que uma condição seja satisfeita. Ex: for x=1:10 ---------<comandos> end 2)Fale sobre comando de desvio. Se temos 4 casos ou possibilidades, como implementar? A implementação de 4 possibilidades pode ser feita através de comandos if aninhados. Ex: %O comando de desvio normalmente é utilizado na tomada de decisão e a
  • 31. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira %implementação pode ser feita através de comandos if aninhados. x=input('Leia x:'); if x==0 disp (x); elseif x==1 disp(x); elseif x==02 disp(x); elseif x==3 disp(x); else disp('Maior'); end 3) Dados 3 vetores um com 5, outro com 15 e outro com 10 componentes. Trocar no de 15 os 5 centrais e no de 10 os 5 últimos. clear clc x=[4 3 2 1 0]; y=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]; z=[0 1 2 3 4 5 6 7 8 9 10]; y1=[y(1):y(5)] y2=[y(11):y(15)] y=[y1 x y2] z1=[z(1):z(5)] z=[z1 x] 4) Dados um vetor de 13 elementos, com valores inteiros de 10 a 90. Verificar quantos elementos estão entre 10 e 30, 31 e 60 e entre 61 e 90. x=[23 10 34 45 60 90 34 65 56 78 80 61 15] s1=0 s2=0 s3=0 for i=1:length(x) if x(i)>=10 & x(i)<=30 s1=s1+1; end if x(i)>=31 & x(i)<=60 s2=s2+1; end if x(i)>=61 & x(i)<=90 s3=s3+1; end end % s1 entre 10 e 30
  • 32. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira s1 % s2 entre 31 e 60 s2 % s3 entre 61 e 90 s3 5) Dado um número entre 5 e 95 verificar se ele é primo. %número primo x=input('Leia x:') primo=0 for i=1:x % ou for i=1:round(sqrt(x)) if mod(x,i)==0 primo=primo+1 end end primo if primo>2 disp('Nao eh primo'); else disp('Eh primo'); end 6)Dados os valores ​2 Obter a ​∫ dx ​por trapézio. ​-2 int = 0; % primeiro intervalo h=2; f1=0; f2=-4; int1=(f2-f1)*h/2 % segundo intervalo h=1; f1=0; f2=-1;
  • 33. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira int2=(f2-f1)*h/2 % terceiro intervalo h=1; f1=-1; f2=4; int3=(f2-f1)*h/2 int= int1+int2+int3 7) Interpolar y sobre x com os dados anteriores. %interpolar x=[-2 0 1 2]; y=[-4 0 -1 4]; A=[1 x(1) x(1)^2 x(1)^3; 1 x(2) x(2)^2 x(2)^3; 1 x(3) x(3)^2 x(3)^3; 1 x(4) x(4)^2 x(4)^3]; p=inv(A)*y' h=0.1 xx=-2:h:2 int=0; for i=2:length(xx) f(i-1)=p(1)+p(2)*xx(i-1)+p(3)*xx(i)^2+p(4)*xx(i-1)^3; f(i)=p(1)+p(2)*xx(i)+p(3)*xx(i)^2+p(4)*xx(i)^3; int=int+h/2*abs((f(i)+f(i-1))); end plot(xx,f) int
  • 34. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 8) Faça uma função círculo(x,y,r) para traçar uma circunferência. Dados: centro x, y e raio r. %circunferencia centro x,y raio r function c(x,y,r) z=0:0.1:2*pi; j=r*cos(z)+x; k=r*sin(z)+y; plot(j,k,'-',x,y,'o') end 9. Implemente um algoritmo de eliminação para zerar a diagonal inferior de uma matriz de 10x10.
  • 35. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira % algoritmo M= zeros(10,10); n=10; for i=1:n for j=1:n if i==j M(i,j)=4; end if i+1==j | i-1==j M(i,j)=1; end end end M for i=2:n for j=i:n af=-(M(j,i-1)/M(i-1,i-1)); M(j,:)=M(j,:)+af*M(i-1,:) end end M
  • 36. Resumo da matéria de cálculo com o uso do MATLAB - Antonio Sérgio Nogueira 10) Implementar o algoritmo, para v​(0) ​ e Є dados. %exercicio 10 n=50 k=50 %estabelecemos um valor de K v=[1; 1; 1; 1; 1] %adotamos um valor de vo e=0.01; % estabelecemos a margem de erro A=[4 1 0 1 0; 1 1 1 0 1; 0 1 4 1 0; 0 0 1 4 1; 0 1 0 1 4] b=[ 1 -1 0 -1 1]' ro=A*vo+b p=-ro q1=(ro'*ro)/ ((A*ro)'*ro) v=v+q1*p r1=ro+q1*A*p for k=2:3 alpha=(r1'*r1)/(ro'*ro); p=-ro+alpha*p q=(r1'*r1)/((A*p2)'*p2); v2=v1+(q*p2); r2=r1+(q*A*p2); if ((norm(v2-v1))/norm(v2))<e break end %atualiza valores anteriores r0=r1; r1=r2; v1=v2; disp(norm(v2-v1)/norm(v2)); end