Fórum de Matemática | DÚVIDAS? Nós respondemos! https://forumdematematica.org/ |
|
Como determinar a função com pontos existentes https://forumdematematica.org/viewtopic.php?f=21&t=8040 |
Página 1 de 2 |
Autor: | adamopinheiro [ 18 fev 2015, 18:11 ] |
Título da Pergunta: | Como determinar a função com pontos existentes |
Olá pessoal, Estou tentando desenvolver uma aplicação no meu trabalho, mas para isso preciso encontrar a função que represente uma curva que passa pelos seguintes pontos: (x,y) = (1.000,20) (10.000,10) (50.000,5) (100.000,2) Como encontrar a curva sabendo os pontos? É possível? Qual a função desta curva? Estou muito enferrujado na minha matemática, agradeço a ajuda. Obrigado. |
Autor: | Baltuilhe [ 18 fev 2015, 21:05 ] |
Título da Pergunta: | Re: Como determinar a função com pontos existentes |
Boa tarde! Eu utilizei regressão linear para encontrar uma curva que se encaixe melhor nestes pontos. No caso, a regressão transformando os pontos em uma curva logarítmica é a melhor solução para este caso. \(Y=A+BlogX\) A tabela abaixo possui tudo o que precisamos: \(\begin{tabular}{r|c|c|c|c|c} \hline X & Y & logX & (logX)^2 & Y^2 & YlogX \\ \hline 1000 & 20 & 3 & 9 & 400 & 60 \\ 10000 & 10 & 4 & 16 & 100 & 40 \\ 50000 & 5 & 4,69897 & 22,08032 & 25 & 23,49485 \\ 100000 & 2 & 5 & 25 & 4 & 10 \\ \hline \sum 161000 & 37 & 16,69897 & 72,08032 & 529 & 133,49485 \\ \hline \end{tabular}\) Agora, vamos resolver a seguinte equação: \(\left{ \sum Y=NA+B\sum{logX} \sum {YlogX}=A\sum{logX}+B\sum{(logX)^2}\) Substituindo os valores, temos: \(\left{ 37=4A+16,69897B 133,49485=16,69897A+72,08032B\) Chegamos em: \(A=46,24552 B=-8,86175\) Então, a equação \(y=46,24552-8,86175logX\) é uma equação que está bastante próxima dos pontos. Para saber o grau de correlação entre as variáveis podemos calcular o coeficiente de correlação entre elas. A fórmula é a seguinte: \(r=\frac{N\sum{YlogX}-\sum{Y}\sum{logX}}{\sqrt{N\sum{(logX)^2}-(\sum{logX})^2}\sqrt{N\sum{Y^2}-(\sum{Y})^2}}\) \(r=\frac{4(133,49485)-(37)(16,69897)}{\sqrt{4(72,08032)-(16,69897)^2}\sqrt{4(529)-(37)^2}} r\approx -0,99755\) Quanto mais próximo de módulo de 1, melhor a correspondência entre as variáveis. Neste caso, foi quase perfeita. Vamos montar uma tabela com as respostas para cada valor de X para esta tabela. \(\begin{tabular}{|l|l|} \hline X & Y \\ \hline 1000 & 19,660 \\ \hline 10000 & 10,799 \\ \hline 50000 & 4,604 \\ \hline 100000 & 1,937 \\ \hline \end{tabular}\) Veja que estes valores estão MUITO próximos dos pontos que tem em seu gráfico. Espero que isto ajude! Abraços! |
Autor: | Sobolev [ 18 fev 2015, 23:38 ] |
Título da Pergunta: | Re: Como determinar a função com pontos existentes |
Se pretende uma função que passe nos pontos dados, pode usar interpolação polinomial. Neste caso, o polinómio \(p(x)=-\frac{17113 x^3}{87318000}+\frac{2801143 x^2}{87318000}-\frac{12593303 x}{8731800}+\frac{1869509}{87318}\) passa exactamente em todos os pontos da tabela. Em geral, dada uma tabela de valores em n+1 pontos distintos, existe um e um só polinómio de grau menor ou igual que descreve exactamente a tabela dada. |
Autor: | Baltuilhe [ 19 fev 2015, 00:48 ] |
Título da Pergunta: | Re: Como determinar a função com pontos existentes |
Boa noite! Testei a equação que encontrou e acho que faltam alguns 'zeros' no denominador, Sobolev. Veja se confere com a que encontrei: \(p(x)=-\frac{17113 x^3}{87318000000000000}+\frac{2801143 x^2}{87318000000000}-\frac{12593303 x}{8731800000}+\frac{1869509}{87318}\) Acho interpolação por polinômios algo muito interessante para podermos obter uma equação que nos entregue uma curva que passe exatamente pelos pontos dados. Não me lembrava de 'bate-pronto' desta ferramenta! Abraços! |
Autor: | adamopinheiro [ 19 fev 2015, 16:55 ] |
Título da Pergunta: | Re: Como determinar a função com pontos existentes |
Obrigado pela presteza! Existe algum tutorial de como encontrar esse polinômio? |
Autor: | Baltuilhe [ 19 fev 2015, 17:50 ] |
Título da Pergunta: | Re: Como determinar a função com pontos existentes |
adamopinheiro Escreveu: Obrigado pela presteza! Existe algum tutorial de como encontrar esse polinômio? Boa tarde! Vou deixar abaixo como encontrei o polinômio: \(f(x)=A(x-1.000)(x-10.000)(x-50.000)+B(x-1.000)(x-10.000)(x-100.000)+C(x-1.000)(x-50.000)(x-100.000)+D(x-10.000)(x-50.000)(x-100.000)\) Veja que os valores 1.000, 10.000, 50.000, 100.000, que são os valores de x conhecidos, foram inseridos de forma a cada produto possuir 3 a cada vez. As combinações, 3 a 3, seriam: 1.000, 10.000, 50.000 1.000, 10.000, 100.000 1.000, 50.000, 100.000 10.000, 50.000, 100.000 Qual a ideia? Agora, basta substituir os valores conhecidos de x para obter os também valores conhecidos de f(x) \(\begin{tabular}{|l|l|} \hline x & f(x) \\ \hline 1.000 & 20 \\ \hline 10.000 & 10 \\ \hline 50.000 & 5 \\ \hline 100.000 & 2 \\ \hline \end{tabular}\) Vou calcular só o primeiro para entender o processo: Substituindo x=100.000, f(x)=2: \(f(2)=A(100.000-1.000)(100.000-10.000)(100.000-50.000) 2=A(99.000)(90.000)(50.000) A=\frac{2}{445.500.000.000.000} A=\frac{1}{222.750.000.000.000}\) Repetindo o mesmo processo, encontrará o B, C e D. Depois, só voltar para 1a. equação, simplificar, que chegará na equação demonstrada anteriormente. Espero ter ajudado! |
Autor: | adamopinheiro [ 19 fev 2015, 22:14 ] |
Título da Pergunta: | Re: Como determinar a função com pontos existentes |
Obrigado! O bom é assim, aprender o caminho das pedras! Fiz umas alterações nas proporções e consegui recalcular com sucesso! |
Autor: | Sobolev [ 20 fev 2015, 17:03 ] |
Título da Pergunta: | Re: Como determinar a função com pontos existentes |
Boa tarde, No polinómio que calculei inicialmente interpretei o ponto "." como separador decimal, pelo que os pontos que considerei foram 1, 10, 50, 100. O polinómio interpolador pode ser calculado de modo muito simples, basta procurar por "diferenças divididas, polinómio interpolador de Newton". Em último caso, basta resolver um sistema linear: os coeficientes \(a_0, \cdots, a_n\) do polinómio de grau n \(p_n(x)=a_n x^n + \cdots a_0\) que interpola os valores \((x_0,y_0), \cdots (x_n,y_n)\) podem ser dados pela resolução do sistema \(\left(\begin{array}1 & x_0 & x_0^2 & \cdots & x_0^n\\ 1 &x_1 & x_1^2& \cdots x_1^n \\ \vdots & \vdots& \vdots & \ddots & \vdots \\ 1 & x_n & x_n^2 & \cdots & x_n^n\end{array}\right)\left(\begin{array}a_0\\a_1\\ \vdots \\ a_n\end{array}\right)\left(\begin{array}y_0\\y_1\\ \vdots \\ y_n\end{array}\right)\) A matrix deste sistema é invertível sempre que os pontos x_i são distintos. |
Autor: | Baltuilhe [ 20 fev 2015, 18:10 ] |
Título da Pergunta: | Re: Como determinar a função com pontos existentes |
Gostei da solução, Sobolev! Acaba caindo em um sistema linear! Seria o mesmo que procurar \(f(x)=ax^3+bx^2+cx+d\) e substituir os valores para x e f(x) conhecidos. Daria um sistema 4 variáveis (a,b,c,d) e 4 equações. Ou faz como sugeriu, usando matriz inversa, ou resolve o sistema, escalonando mesmo. Mas sempre é bom ver soluções diferentes! A que eu sugeri era para não cair em sistema, de forma a encontrar as variáveis A, B, C e D rapidamente. No entanto, ainda teria que manipular algebricamente a equação até chegar no formato desejado. Abraços! |
Página 1 de 2 | Os Horários são TMG [ DST ] |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |