Cálculo usando MatLab

antonio sérgio nogueira
antonio sérgio nogueirasoftware engeneering em Home

Função diferenciável, Interpolação, Integração Numérica, Método de Eliminação de Gauss..

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

Recomendados

Distribuição normal (curva de gauss) - exercícios resolvidos por
Distribuição normal (curva de gauss) - exercícios resolvidosDistribuição normal (curva de gauss) - exercícios resolvidos
Distribuição normal (curva de gauss) - exercícios resolvidosnumerosnamente
1.7K visualizações14 slides
Equações diferenciais ordinárias por
Equações diferenciais ordináriasEquações diferenciais ordinárias
Equações diferenciais ordináriasHerlan Ribeiro de Souza
6.4K visualizações32 slides
Tabela completa de derivadas e integrais por
Tabela completa de derivadas e integraisTabela completa de derivadas e integrais
Tabela completa de derivadas e integraisDiego Rodrigues Vaz
26.5K visualizações3 slides
Solução dos exercícios de mecânica dos fluidos franco brunetti capitulo7 por
Solução dos exercícios de mecânica dos fluidos   franco brunetti capitulo7Solução dos exercícios de mecânica dos fluidos   franco brunetti capitulo7
Solução dos exercícios de mecânica dos fluidos franco brunetti capitulo7Cristiano Figueiras
4.8K visualizações17 slides
Tabela derivadas-e-integrais por
Tabela derivadas-e-integraisTabela derivadas-e-integrais
Tabela derivadas-e-integraismariasousagomes
16.5K visualizações3 slides
FUNÇÃO POLINOMIAL DO 2º GRAU.pptx por
FUNÇÃO POLINOMIAL DO  2º GRAU.pptxFUNÇÃO POLINOMIAL DO  2º GRAU.pptx
FUNÇÃO POLINOMIAL DO 2º GRAU.pptxFabiolaSouza36
339 visualizações36 slides

Mais conteúdo relacionado

Mais procurados

Limite por
LimiteLimite
LimiteAristóteles Meneses
1.6K visualizações24 slides
34 nucleo e imagem de uma transformacao linear por
34 nucleo e imagem de uma transformacao linear34 nucleo e imagem de uma transformacao linear
34 nucleo e imagem de uma transformacao linearAndressa Leite Rodrigues
1.8K visualizações18 slides
21 aula graficos de funcoes reais por
21 aula   graficos de funcoes reais21 aula   graficos de funcoes reais
21 aula graficos de funcoes reaisjatobaesem
1.9K visualizações23 slides
GEOMETRIA ANALÍTICA cap 10 por
GEOMETRIA ANALÍTICA cap 10GEOMETRIA ANALÍTICA cap 10
GEOMETRIA ANALÍTICA cap 10Andrei Bastos
2.5K visualizações6 slides
Aula 17: Separação da equação de Schrödinger em coordenadas cartesianas. Part... por
Aula 17: Separação da equação de Schrödinger em coordenadas cartesianas. Part...Aula 17: Separação da equação de Schrödinger em coordenadas cartesianas. Part...
Aula 17: Separação da equação de Schrödinger em coordenadas cartesianas. Part...Adriano Silva
9.7K visualizações13 slides
Sequencias e series unicamp por
Sequencias e series   unicampSequencias e series   unicamp
Sequencias e series unicampLuis Gustavo
2.4K visualizações21 slides

Mais procurados(20)

34 nucleo e imagem de uma transformacao linear por Andressa Leite Rodrigues
34 nucleo e imagem de uma transformacao linear34 nucleo e imagem de uma transformacao linear
34 nucleo e imagem de uma transformacao linear
Andressa Leite Rodrigues1.8K visualizações
21 aula graficos de funcoes reais por jatobaesem
21 aula   graficos de funcoes reais21 aula   graficos de funcoes reais
21 aula graficos de funcoes reais
jatobaesem1.9K visualizações
GEOMETRIA ANALÍTICA cap 10 por Andrei Bastos
GEOMETRIA ANALÍTICA cap 10GEOMETRIA ANALÍTICA cap 10
GEOMETRIA ANALÍTICA cap 10
Andrei Bastos2.5K visualizações
Aula 17: Separação da equação de Schrödinger em coordenadas cartesianas. Part... por Adriano Silva
Aula 17: Separação da equação de Schrödinger em coordenadas cartesianas. Part...Aula 17: Separação da equação de Schrödinger em coordenadas cartesianas. Part...
Aula 17: Separação da equação de Schrödinger em coordenadas cartesianas. Part...
Adriano Silva9.7K visualizações
Sequencias e series unicamp por Luis Gustavo
Sequencias e series   unicampSequencias e series   unicamp
Sequencias e series unicamp
Luis Gustavo2.4K visualizações
MATEMÁTICAS E SUAS TECNOLOGIAS - MATEMÁTICA – 1ª SÉRIE – FUNÇÃO POLINOMIAL DO... por GernciadeProduodeMat
MATEMÁTICAS E SUAS TECNOLOGIAS - MATEMÁTICA – 1ª SÉRIE – FUNÇÃO POLINOMIAL DO...MATEMÁTICAS E SUAS TECNOLOGIAS - MATEMÁTICA – 1ª SÉRIE – FUNÇÃO POLINOMIAL DO...
MATEMÁTICAS E SUAS TECNOLOGIAS - MATEMÁTICA – 1ª SÉRIE – FUNÇÃO POLINOMIAL DO...
GernciadeProduodeMat197 visualizações
AULA PNEUMATICA.pptx por Leandro99994965
AULA PNEUMATICA.pptxAULA PNEUMATICA.pptx
AULA PNEUMATICA.pptx
Leandro99994965172 visualizações
Integral Definida por gustavocosta77
Integral DefinidaIntegral Definida
Integral Definida
gustavocosta771.7K visualizações
Cálculo diferencial e integral de várias variáveis unid iii por Bruno Luz
Cálculo diferencial e integral de várias variáveis   unid iiiCálculo diferencial e integral de várias variáveis   unid iii
Cálculo diferencial e integral de várias variáveis unid iii
Bruno Luz12.9K visualizações
Exercicios derivada lista3 por zeramento contabil
Exercicios derivada lista3Exercicios derivada lista3
Exercicios derivada lista3
zeramento contabil13.6K visualizações
Equação exponencial por Péricles Penuel
Equação exponencialEquação exponencial
Equação exponencial
Péricles Penuel9.3K visualizações
Estatística e Probabilidade 7 - Medidas de Variabilidade por Ranilson Paiva
Estatística e Probabilidade 7 - Medidas de VariabilidadeEstatística e Probabilidade 7 - Medidas de Variabilidade
Estatística e Probabilidade 7 - Medidas de Variabilidade
Ranilson Paiva1.4K visualizações
18 series de taylor e de maclaurin por Gabriela Cristina
18 series de taylor e de maclaurin18 series de taylor e de maclaurin
18 series de taylor e de maclaurin
Gabriela Cristina71.4K visualizações
Função quadrática por Pausa Matemática
Função quadráticaFunção quadrática
Função quadrática
Pausa Matemática7.1K visualizações
Função exponencial por Horacimar Cotrim
Função exponencialFunção exponencial
Função exponencial
Horacimar Cotrim876 visualizações
Geometria analítica distancia entre dois pontos por Camila Oliveira
Geometria analítica distancia entre dois pontosGeometria analítica distancia entre dois pontos
Geometria analítica distancia entre dois pontos
Camila Oliveira51K visualizações

Similar a Cálculo usando MatLab

Material sobre a Derivada por
Material sobre a DerivadaMaterial sobre a Derivada
Material sobre a DerivadaEinstein Rafael
3K visualizações54 slides
1 interpol polinomial_met_lagrange_newton por
1 interpol polinomial_met_lagrange_newton1 interpol polinomial_met_lagrange_newton
1 interpol polinomial_met_lagrange_newtonClaudiana Furtado
314 visualizações11 slides
Capítulo4 interpolação por
Capítulo4 interpolaçãoCapítulo4 interpolação
Capítulo4 interpolaçãoJADSON SANTOS
1.3K visualizações23 slides
Mn aula06-interpolacao por
Mn aula06-interpolacaoMn aula06-interpolacao
Mn aula06-interpolacaoJADSON SANTOS
488 visualizações23 slides
Derivadas por
DerivadasDerivadas
Derivadasmlthomaz
260 visualizações11 slides
Derivadas por
DerivadasDerivadas
DerivadasAldo Brasil
417 visualizações11 slides

Similar a Cálculo usando MatLab(20)

Material sobre a Derivada por Einstein Rafael
Material sobre a DerivadaMaterial sobre a Derivada
Material sobre a Derivada
Einstein Rafael3K visualizações
1 interpol polinomial_met_lagrange_newton por Claudiana Furtado
1 interpol polinomial_met_lagrange_newton1 interpol polinomial_met_lagrange_newton
1 interpol polinomial_met_lagrange_newton
Claudiana Furtado314 visualizações
Capítulo4 interpolação por JADSON SANTOS
Capítulo4 interpolaçãoCapítulo4 interpolação
Capítulo4 interpolação
JADSON SANTOS1.3K visualizações
Mn aula06-interpolacao por JADSON SANTOS
Mn aula06-interpolacaoMn aula06-interpolacao
Mn aula06-interpolacao
JADSON SANTOS488 visualizações
Derivadas por mlthomaz
DerivadasDerivadas
Derivadas
mlthomaz260 visualizações
Derivadas por Aldo Brasil
DerivadasDerivadas
Derivadas
Aldo Brasil417 visualizações
1 integr num_simples por Heron Soares
1 integr num_simples1 integr num_simples
1 integr num_simples
Heron Soares238 visualizações
1 integr num_simples por Heron Soares
1 integr num_simples1 integr num_simples
1 integr num_simples
Heron Soares190 visualizações
Funções Elementares por Carlos Campani
Funções ElementaresFunções Elementares
Funções Elementares
Carlos Campani186 visualizações
Cl interpolao por Fernando Loureiro
Cl interpolaoCl interpolao
Cl interpolao
Fernando Loureiro369 visualizações
Lista de exercícios 8 por Carlos Campani
Lista de exercícios 8Lista de exercícios 8
Lista de exercícios 8
Carlos Campani99 visualizações
matematica e midias por iraciva
matematica e midiasmatematica e midias
matematica e midias
iraciva5.6K visualizações
Função do 2º Grau. por Antonio Carneiro
Função do 2º Grau.Função do 2º Grau.
Função do 2º Grau.
Antonio Carneiro11.7K visualizações
Integracão para engenharia por Eder Ribeiro
Integracão para engenhariaIntegracão para engenharia
Integracão para engenharia
Eder Ribeiro145 visualizações
FunçãO Do 1º E 2º Grau Autor Antonio Carlos Carneiro Barroso por Antonio Carneiro
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
Antonio Carneiro30.4K visualizações
Sries de taylor e de maclaurin por Luciana Costa
Sries de taylor e de maclaurinSries de taylor e de maclaurin
Sries de taylor e de maclaurin
Luciana Costa285 visualizações
Mn aula06-interpolacao por jadsons95
Mn aula06-interpolacaoMn aula06-interpolacao
Mn aula06-interpolacao
jadsons95214 visualizações

Mais de antonio sérgio nogueira

Mocho regulavel base termoplastica por
Mocho regulavel base termoplasticaMocho regulavel base termoplastica
Mocho regulavel base termoplasticaantonio sérgio nogueira
96 visualizações1 slide
Cama infantil por
Cama infantilCama infantil
Cama infantilantonio sérgio nogueira
27 visualizações1 slide
Cadeira fixa estofada por
Cadeira fixa estofadaCadeira fixa estofada
Cadeira fixa estofadaantonio sérgio nogueira
28 visualizações1 slide
Cadeira coleta tabua por
Cadeira coleta tabuaCadeira coleta tabua
Cadeira coleta tabuaantonio sérgio nogueira
29 visualizações2 slides
Cadeira coleta bandeja por
Cadeira coleta bandejaCadeira coleta bandeja
Cadeira coleta bandejaantonio sérgio nogueira
26 visualizações1 slide
Cadeira aco por
Cadeira acoCadeira aco
Cadeira acoantonio sérgio nogueira
21 visualizações1 slide

Mais de antonio sérgio nogueira(20)

Montagem capota Saveiro 2010 correta sem gancho por antonio sérgio nogueira
Montagem capota Saveiro 2010 correta sem ganchoMontagem capota Saveiro 2010 correta sem gancho
Montagem capota Saveiro 2010 correta sem gancho
antonio sérgio nogueira34 visualizações
Montagem capota Saveiro 2010 correta sem gancho por antonio sérgio nogueira
Montagem capota Saveiro 2010 correta sem ganchoMontagem capota Saveiro 2010 correta sem gancho
Montagem capota Saveiro 2010 correta sem gancho
antonio sérgio nogueira41 visualizações
Montagem capota Saveiro cross coretissima fls 02 por antonio sérgio nogueira
Montagem capota Saveiro cross coretissima fls 02Montagem capota Saveiro cross coretissima fls 02
Montagem capota Saveiro cross coretissima fls 02
antonio sérgio nogueira41 visualizações
montagem capota Strada simp estend-dupla novo 2014 por antonio sérgio nogueira
montagem capota Strada simp estend-dupla novo 2014montagem capota Strada simp estend-dupla novo 2014
montagem capota Strada simp estend-dupla novo 2014
antonio sérgio nogueira32 visualizações
Montagem Capota Strada simples e est.perfil novo 2014 por antonio sérgio nogueira
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
antonio sérgio nogueira26 visualizações

Último

10_2_A _2_Guerra_mundial_violência.pdf por
10_2_A _2_Guerra_mundial_violência.pdf10_2_A _2_Guerra_mundial_violência.pdf
10_2_A _2_Guerra_mundial_violência.pdfVítor Santos
73 visualizações28 slides
Para essa atividade, identifique e descreva detalhadamente três técnicas ampl... por
Para essa atividade, identifique e descreva detalhadamente três técnicas ampl...Para essa atividade, identifique e descreva detalhadamente três técnicas ampl...
Para essa atividade, identifique e descreva detalhadamente três técnicas ampl...azulassessoriaacadem3
63 visualizações1 slide
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ... por
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...azulassessoriaacadem3
95 visualizações2 slides
O Atletismo precisa ser compreendido como uma expressão do movimento humano i... por
O Atletismo precisa ser compreendido como uma expressão do movimento humano i...O Atletismo precisa ser compreendido como uma expressão do movimento humano i...
O Atletismo precisa ser compreendido como uma expressão do movimento humano i...IntegrareAcademy2
15 visualizações4 slides
SEGUNDO REINADO TRABALHO.pptx por
SEGUNDO REINADO TRABALHO.pptxSEGUNDO REINADO TRABALHO.pptx
SEGUNDO REINADO TRABALHO.pptxprofesfrancleite
50 visualizações13 slides
A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for... por
A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for...A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for...
A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for...IntegrareAcademy2
80 visualizações2 slides

Último(20)

10_2_A _2_Guerra_mundial_violência.pdf por Vítor Santos
10_2_A _2_Guerra_mundial_violência.pdf10_2_A _2_Guerra_mundial_violência.pdf
10_2_A _2_Guerra_mundial_violência.pdf
Vítor Santos73 visualizações
Para essa atividade, identifique e descreva detalhadamente três técnicas ampl... por azulassessoriaacadem3
Para essa atividade, identifique e descreva detalhadamente três técnicas ampl...Para essa atividade, identifique e descreva detalhadamente três técnicas ampl...
Para essa atividade, identifique e descreva detalhadamente três técnicas ampl...
azulassessoriaacadem363 visualizações
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ... por azulassessoriaacadem3
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...
azulassessoriaacadem395 visualizações
O Atletismo precisa ser compreendido como uma expressão do movimento humano i... por IntegrareAcademy2
O Atletismo precisa ser compreendido como uma expressão do movimento humano i...O Atletismo precisa ser compreendido como uma expressão do movimento humano i...
O Atletismo precisa ser compreendido como uma expressão do movimento humano i...
IntegrareAcademy215 visualizações
SEGUNDO REINADO TRABALHO.pptx por profesfrancleite
SEGUNDO REINADO TRABALHO.pptxSEGUNDO REINADO TRABALHO.pptx
SEGUNDO REINADO TRABALHO.pptx
profesfrancleite50 visualizações
A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for... por IntegrareAcademy2
A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for...A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for...
A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for...
IntegrareAcademy280 visualizações
A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for... por IntegrareAcademy2
A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for...A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for...
A Ciência Contábil desempenha um papel fundamental no mundo dos negócios, for...
IntegrareAcademy221 visualizações
Imagine que você, profissional formado(a) foi contratado por uma Escola de En... por azulassessoriaacadem3
Imagine que você, profissional formado(a) foi contratado por uma Escola de En...Imagine que você, profissional formado(a) foi contratado por uma Escola de En...
Imagine que você, profissional formado(a) foi contratado por uma Escola de En...
azulassessoriaacadem313 visualizações
O consultor Breno, percebendo a resistência por parte de um dos sócios da emp... por IntegrareAcademy2
O consultor Breno, percebendo a resistência por parte de um dos sócios da emp...O consultor Breno, percebendo a resistência por parte de um dos sócios da emp...
O consultor Breno, percebendo a resistência por parte de um dos sócios da emp...
IntegrareAcademy225 visualizações
ATIVIDADE 1 - CCONT – CONTABILIDADE DE CUSTOS - 54 2023. por IntegrareAcademy2
ATIVIDADE 1 - CCONT – CONTABILIDADE DE CUSTOS - 54 2023.ATIVIDADE 1 - CCONT – CONTABILIDADE DE CUSTOS - 54 2023.
ATIVIDADE 1 - CCONT – CONTABILIDADE DE CUSTOS - 54 2023.
IntegrareAcademy2147 visualizações
Sendo assim, proponho a você que explique de forma argumentativa como ocorre ... por azulassessoriaacadem3
Sendo assim, proponho a você que explique de forma argumentativa como ocorre ...Sendo assim, proponho a você que explique de forma argumentativa como ocorre ...
Sendo assim, proponho a você que explique de forma argumentativa como ocorre ...
azulassessoriaacadem3350 visualizações
Tecnologia Hanak Anacona Ayala.docx por HanaAnaconaAyala
Tecnologia Hanak Anacona Ayala.docxTecnologia Hanak Anacona Ayala.docx
Tecnologia Hanak Anacona Ayala.docx
HanaAnaconaAyala13 visualizações
Agora é o momento de estudarmos sobre a história da sua futura profissão, par... por azulassessoriaacadem3
Agora é o momento de estudarmos sobre a história da sua futura profissão, par...Agora é o momento de estudarmos sobre a história da sua futura profissão, par...
Agora é o momento de estudarmos sobre a história da sua futura profissão, par...
azulassessoriaacadem316 visualizações
Comunicação e Relações Interpessoais.ppt por IvoPereira42
Comunicação e Relações Interpessoais.pptComunicação e Relações Interpessoais.ppt
Comunicação e Relações Interpessoais.ppt
IvoPereira42120 visualizações
A partir do exposto acima, disserte sobre os três campos de atuação da ciênci... por IntegrareAcademy2
A partir do exposto acima, disserte sobre os três campos de atuação da ciênci...A partir do exposto acima, disserte sobre os três campos de atuação da ciênci...
A partir do exposto acima, disserte sobre os três campos de atuação da ciênci...
IntegrareAcademy2456 visualizações
Reflexió personal.pdf por RaulGomez822561
Reflexió personal.pdfReflexió personal.pdf
Reflexió personal.pdf
RaulGomez82256129 visualizações
Diante do exposto, pesquise em quaisquer fontes de consultas ou in loco em su... por azulassessoriaacadem3
Diante do exposto, pesquise em quaisquer fontes de consultas ou in loco em su...Diante do exposto, pesquise em quaisquer fontes de consultas ou in loco em su...
Diante do exposto, pesquise em quaisquer fontes de consultas ou in loco em su...
azulassessoriaacadem344 visualizações
Poemas de Natal por Mary Alvarenga
Poemas de Natal Poemas de Natal
Poemas de Natal
Mary Alvarenga65 visualizações

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