O mais longo

Neste arquivo iremos colocar os problemas já resolvidos (não são problemas "mortos" porque a discussão pode continuar a qualquer altura!)

Mensagempor hexphreak em Sábado Jan 05, 2008 12:37 am

jap Escreveu:
Código: Seleccionar Todos
Big hand of applause for hexphreak that figured out a very stable IPF! :)
>>> >>>


:hands:

:confident:

Código: Seleccionar Todos
angles = [10*n for n in range(1,10)]

Aí está uma coisa que eu gostava de ter em C, dá bastante jeito nos testes numéricos. Não que seja difícil escrever um gerador, mas tem outro aspecto :wink:
Avatar do utilizador
hexphreak
top-Quark!
top-Quark!
 
Mensagens: 1959
Registado: Segunda Nov 05, 2007 8:52 pm
Localização: Maia/Porto

Mensagempor jap em Sábado Jan 05, 2008 12:52 am

Pois é, ainda havemos de te converter (ao Python!) :lol:

Já agora e não querendo ser chato deixo aqui um outro desafio: encontrar uma função iteradora para o problema que não funcione, mesmo quando se parte de muito, mesmo muito próximo da raiz, ou seja, que em vez de convergir, diverge mesmo quando a solução está mesmo em cima do nariz!

Se alguém quiser divertir-se com isto, ficará aqui a melhor ilustração do nome do método (Isto Pode ser que Funcione).

Reparem que quando se substitui a equação

f(x)= 0

por uma outra equivalente da forma

x = g(x)

a escolha de g não é única e há algumas funções g (a que se chama função iteradoras, por razões óbvias) que funcionam maravilhosamente, outras assim assim, e outras que não funcionam de todo. :shock:

Por isso uma escolha judiciosa da função iteradora é importante: claro que se conhecem as condições matemáticas a que g(x) deve obedecer para ser uma boa iteradora, mas os físicos podem nem prestar muita atenção a isso se tiverem algum conhecimento de onda pára a solução e alguma intuição...como o Henrique.:D
última vez editado por jap s Sábado Jan 05, 2008 2:35 am, editado 2 vezes no total
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6801
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Mensagempor hexphreak em Sábado Jan 05, 2008 1:38 am

Esta rebenta com a variável ao chegar à 38ª iteração (comecei com 0.8 ) :lol:

\sin \theta = e^{2/\sin \theta} - \frac{1 + \sin \theta}{1 - \sin \theta} - \sin \theta
Avatar do utilizador
hexphreak
top-Quark!
top-Quark!
 
Mensagens: 1959
Registado: Segunda Nov 05, 2007 8:52 pm
Localização: Maia/Porto

Mensagempor jap em Sábado Jan 05, 2008 1:57 am

hexphreak Escreveu:Esta rebenta com a variável ao chegar à 38ª iteração (comecei com 0.8 ) :lol:

\sin \theta = e^{2/\sin \theta} - \frac{1 + \sin \theta}{1 - \sin \theta} - \sin \theta


Acho que queres dizer,

\sin \theta = e^{2/\sin \theta} - \frac{1 + \sin \theta}{1 - \sin \theta} + \sin \theta

Não será? :roll:

É que a tua função g(x) nem sequer dá xquando x é o valor correcto!
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6801
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Mensagempor hexphreak em Sábado Jan 05, 2008 1:59 am

Claro, troquei o sinal :oops:
Avatar do utilizador
hexphreak
top-Quark!
top-Quark!
 
Mensagens: 1959
Registado: Segunda Nov 05, 2007 8:52 pm
Localização: Maia/Porto

Mensagempor jap em Sábado Jan 05, 2008 2:01 am

Pois a função

g(x) = e^{2/x} - \frac{1 + x}{1 - x} + x

é um péssimo iterador; reparem o que acontece quando se parte mesmo "de cima" da raiz - diverge! :? O algoritmo nem consegue estabilizar juntinho à raiz!

Código: Seleccionar Todos
Trial angles= [56.465835127399998]
0.8335565596 0.833556554256
0.833556559653 0.833557109614
0.833556554256 0.833499961705
0.833557109614 0.839379510239
0.833499961705 0.221918293323
0.839379510239 8202.23194604
0.221918293323 8204.23243377
8202.23194604 8206.23292138
8204.23243377 8208.23340888
8206.23292138 8210.23389625
8208.23340888 8212.23438351
8210.23389625 8214.23487065
(...)
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6801
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Mensagempor jap em Sábado Jan 05, 2008 2:18 am

Ah, e não se esqueçam que ainda falta demonstrar como se chega à expressão analítica...da equação transcendente. :P
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6801
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Mensagempor jap em Sábado Jan 05, 2008 2:31 am

E como uma imagem vale mais do que 1000 palavras aqui está a explicação da condição para uma boa função iteradora:

|g^\prime(x)| < 1

na região de busca da raiz.

Nas figuras estão representadas as função y =g(x) e y = x. Queremos achar o ponto de intersepção g(x) = x das duas curvas, partindo de um dado ponto.

Vejam o que acontece nos quatro casos: :D

Imagem

Não é giro? 8)
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6801
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Mensagempor hexphreak em Sábado Jan 05, 2008 2:34 am

Isso está naquele livro que eu referi há algum tempo, Elementary Numerical Analysis, até os gráficos são parecidos :D E utiliza Fortran, que continua a ser bastante bom em termos numéricos (embora não goste particularmente dele como linguagem).

Sempre gostei dessas imagens, havia uma relação qualquer com atractores estranhos, até aparece no Deus Joga Aos Dados? do Ian Stewart... Tenho de procurar :)
Avatar do utilizador
hexphreak
top-Quark!
top-Quark!
 
Mensagens: 1959
Registado: Segunda Nov 05, 2007 8:52 pm
Localização: Maia/Porto

Mensagempor jap em Sábado Jan 05, 2008 2:35 am

hexphreak Escreveu:Isso está naquele livro que eu referi há algum tempo, Elementary Numerical Analysis, até os gráficos são parecidos :D E utiliza Fortran, que continua a ser bastante bom em termos numéricos (embora não goste particularmente dele como linguagem).

Sempre gostei dessas imagens, havia uma relação qualquer com atractores estranhos, até aparece no Deus Joga Aos Dados? do Ian Stewart... Tenho de procurar :)


Isto tem tudo a ver com atractores estranhos! :yes
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6801
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Mensagempor hexphreak em Sexta Mar 07, 2008 11:04 pm

jap Escreveu:Ah, e não se esqueçam que ainda falta demonstrar como se chega à expressão analítica...da equação transcendente. :P

Dois meses depois... :lol:

Chegar à expressão analítica não é tão difícil como parece. Pelo menos não agora :P Temos que o comprimento total da trajectória é:

L = 2 \int^{v \sin \theta / g}_0 \sqrt{ \big( \frac{dx}{dt} \big)^2 + \big( \frac{dy}{dt} \big)^2 } dt

(Porquê?) Ora este não é um integral particularmente fácil, tive de fazer duas substituições de variável* e ainda ir a uma tabela, mas o resultado é:

L = \frac{v^2}{g} \big( \sin \theta + \cos^2 \theta \ln \big( \frac{\sin \theta + 1}{\cos \theta} \big) \big)

E agora, se derivarmos e igualarmos a zero, acabamos com a simples:

1 = \sin \theta \ln \big( \frac{1 + \sin \theta}{\cos \theta} \big)

:D


* Utilizei u = \tan \theta - \frac{gt}{v \cos \theta} e z = \tan \phi
Avatar do utilizador
hexphreak
top-Quark!
top-Quark!
 
Mensagens: 1959
Registado: Segunda Nov 05, 2007 8:52 pm
Localização: Maia/Porto

Mensagempor jap em Sexta Mar 07, 2008 11:08 pm

Parabéns, Henrique!

:hands:

O integral não é realmente dos mais fáceis! :lol:
José António Paixão
Departamento de Física da FCTUC
Avatar do utilizador
jap
Site Admin
Site Admin
 
Mensagens: 6801
Registado: Quinta Nov 09, 2006 9:34 pm
Localização: Univ. de Coimbra

Re: O mais longo

Mensagempor ampat em Quinta Abr 16, 2009 1:24 pm

Hoje tentei resolver este problema e cheguei à seguinte expressão final para obter \theta:

0=2 + sen\theta \ln(\frac{1-sen\theta}{1+sen\theta})

Que, podem confirmar, dá exactamente o mesmo resultado. :)
ampat
bottom-Quark!
bottom-Quark!
 
Mensagens: 68
Registado: Sábado Dez 13, 2008 10:50 am
Localização: IST, Lisboa / Oeiras

Anterior

Voltar para Problemas resolvidos

Quem está ligado

Utilizadores a navegar neste fórum: Nenhum utilizador registado e 2 visitantes

cron