[Matlab] Ponto de interseção entre as equações

Postagem de conteudo sobre outras linguagem de script
Post Reply
User avatar
51M0N
Admin
Admin
Posts: 870
Joined: Fri Jan 02, 2015 2:06 pm

[Matlab] Ponto de interseção entre as equações

Post by 51M0N » Thu Mar 22, 2018 9:22 am

Galera vamos desenvolver uma abordagem básica e prática usando os recursos disponíveis do matlab para encontrarmos os ponto de interseção entre as equações. Seja o gráfico abaixo, onde temos uma reta e uma parábola, temos abaixo a plotagem no matlab:

Code: Select all

y1 = x + 4  
y2 = x^2 – 5 

Code: Select all

% seja a seguintes funções 
% y1 = x + 4 , reta
% y2 = x^2 - 5 , parábola
 
x = -4 : .1 : 4; % intervalo
y1 = x + 4;
y2 = x.^2 - 5; 
%plot(x,y1,'b', x,y2,'r')
plot(x,y1,'bo', x,y2,'ro')
grid on 
title('Interseção')
xlabel('eixo x')
ylabel('eixo y')
Image

Iremos colocar um intervalo de pontos e plotar a interseção entre eles, como acima, podemos olhar no gráfico e ver uma melhor aproximação entre 0,95 e 1,05 no matlab o vamos digitar o seguinte comando:

Code: Select all

d = y1./ (y2 + eps); % e uma constate predefinida no matlab; e um valor muito pequeno, usei para evitar divisão por zero  
ix = find(d > .95 & d < 1.05);
x_sol = x(ix)
y1_sol = y1(ix)
y2_sol = y2(ix) 
A saída do comando é essa:

Code: Select all

x_sol =  3.5000    3.6000
y1_sol = 7.5000    7.6000
y2_sol = 7.2500    7.9600
Uma outra forma podemos fazer dessa forma:

Code: Select all

x = 0:0.01:30;
y1 = x .^ 2 + 2;
y2 = x .^ 3;
% procura os pontos de interseção
idx = find(y1 - y2 < eps, 1);
px = x(idx);
py = y1(idx);
 
% figure
plot(x, y1, x, y2, px, py, 'ro', 'MarkerSize', 18)
grid on 
axis([0 20 0 20]) % definir o limites dos eixos e proporções
Image


Encontrar interseções entre equações é muito comum em álgebra .O significado dessas interseções é que as linhas ou curvas dadas possuem os mesmos valores de coordenadas em alguns pontos. Em outras palavras, essas linhas ou funções têm os mesmos valores de x e y (ou mesmo z) nos pontos chamados interseções.

Inté 8-)
Image
"Você, eu, nem ninguém vai bater tão duro como a vida. Mas não se trata de bater duro. Se trata de quanto você aguenta apanhar e seguir em frente (...). É assim que se consegue vencer." by Rocky Balboa

User avatar
Kodo no Kami
Admin
Admin
Posts: 692
Joined: Fri Jan 02, 2015 1:56 pm
Contact:

Re: [Matlab] Ponto de interseção entre as equações

Post by Kodo no Kami » Thu Mar 22, 2018 5:19 pm

bastante interessante isso mano da para fazer uns graficos bem doido nesse programa matlab *-*
Image

que desagradavel ~ mirai kuriyama

Post Reply

Return to “Outros”