-
-
Novo APOIA.se AjudaMatemática
por admin em Sáb Abr 25, 2020 19:01
- 0 Tópicos
- 476494 Mensagens
-
Última mensagem por admin
em Sáb Abr 25, 2020 19:01
-
-
Agradecimento aos Colaboradores
por admin em Qui Nov 15, 2018 00:25
- 0 Tópicos
- 527491 Mensagens
-
Última mensagem por admin
em Qui Nov 15, 2018 00:25
-
-
Ativação de Novos Registros
por admin em Qua Nov 14, 2018 11:58
- 0 Tópicos
- 491031 Mensagens
-
Última mensagem por admin
em Qua Nov 14, 2018 11:58
-
-
Regras do Fórum - Leia antes de postar!
por admin em Ter Mar 20, 2012 21:51
- 0 Tópicos
- 693914 Mensagens
-
Última mensagem por admin
em Ter Mar 20, 2012 21:51
-
-
DICA: Escrevendo Fórmulas com LaTeX via BBCode
por admin em Qua Ago 29, 2007 04:04
- 41 Tópicos
- 2099777 Mensagens
-
Última mensagem por Janayna
em Qui Abr 27, 2017 00:04
por Piva » Qua Abr 11, 2012 15:10
Boa tarde a todos,
Estou com um pequeno problema em Cálculo numérico. Estou com um programa que rodo no force para a função do SENO. Só que estou com dificuldades para passá-la para COSSENO. Sou iniciante em cálculo numérico, se alguém puder me explicar como eu mudo para o COSSENO eu agradeceria. Eu ja entendi todo o funcionamento do código, porém estou errando em trocar a função.
Segue abaixo o código.
c #############################################################
c Este programa calcula o erro percentual da Serie de Taylor da
c funcaoo sen(bx), expandida no ponto x0
implicit double precision(a-h,o-z)
dimension a(50)
open(5,file='taylor01.1',status='old')
open(6,file='taylor200510.2',status='unknown')
c Ponto de expansao da s‚rie
read(5,*)x0
c Grau da s‚rie polinomial + 1
read(5,*)n_termos
c Coeficiente multiplicador do angulo x
read(5,*)b
c Numero de abscissas
read(5,*)n_x
c Impressao do cabecalho
write(6,5)
c determinacao dos coeficientes da serie de Taylor
do n=1,n_termos
i=1
if(mod(n-1,2).eq.0) then !par
j=1
k=0
if(mod(n-1,4).eq.0) then !múltiplo de 4
i=2
endif
else !ímpar
j=0
k=1
if(mod((n-2),4).eq.0) then !múltiplo de 4 + 1
i=2
endif
endif
a(n)=(-1.d0)**i*b**(n-1)*sin(b*x0)**j*cos(b*x0)**k
enddo
do icont=1,n_x
c Leitura das abscissas em arquivo
read(5,*) x
fxt=0.d0
do n=1,n_termos
c solucao num‚rica
fxt=fxt+a(n)*(x-x0)**(n-1)/fat(n-1)
enddo
c solução analítica
fxa=sin(b*x)
c erro percentual
if(fxa.ne.0.d0) then
erro_p=abs((fxt-fxa)/fxa)*100.d0
write(6,15)x,fxa,fxt,erro_p
else
write(6,20)x,fxa,fxt
endif
enddo
5 format(14x,'x',26x,'f(x)',23x,'F(x)',23x,'E(%)')
15 format(3(f25.14,2x),e25.15)
20 format(3(f25.14,2x),' - ')
stop " Fim "
end
c ##############################################################
function fat(n)
implicit double precision(a-h,o-z)
integer n
fat=dfloat(n)
do i=n,2,-1
xi=dfloat(i)
fat=fat*(xi-1.d0)
enddo
if(n.eq.0) fat=1.d0
return
end
c ##############################################################
Creio que o que tenho que mudar está nessa linha:
a(n)=(-1.d0)**i*b**(n-1)*sin(b*x0)**j*cos(b*x0)**k
Entendo pouco de série de Taylor, mas se me explicarem alguma coisa eu acho que entendo!
Desde já, Obrigado pela ajuda!
-
Piva
- Novo Usuário
-
- Mensagens: 6
- Registrado em: Qua Jun 29, 2011 18:51
- Formação Escolar: GRADUAÇÃO
- Área/Curso: Engenharia Mecânica
- Andamento: cursando
por LuizAquino » Qui Abr 12, 2012 11:58
Piva escreveu:Boa tarde a todos,
Estou com um pequeno problema em Cálculo numérico. Estou com um programa que rodo no force para a função do SENO. Só que estou com dificuldades para passá-la para COSSENO. Sou iniciante em cálculo numérico, se alguém puder me explicar como eu mudo para o COSSENO eu agradeceria. Eu ja entendi todo o funcionamento do código, porém estou errando em trocar a função.
Segue abaixo o código.
c #############################################################
c Este programa calcula o erro percentual da Serie de Taylor da
c funcaoo sen(bx), expandida no ponto x0
implicit double precision(a-h,o-z)
dimension a(50)
open(5,file='taylor01.1',status='old')
open(6,file='taylor200510.2',status='unknown')
c Ponto de expansao da s‚rie
read(5,*)x0
c Grau da s‚rie polinomial + 1
read(5,*)n_termos
c Coeficiente multiplicador do angulo x
read(5,*)b
c Numero de abscissas
read(5,*)n_x
c Impressao do cabecalho
write(6,5)
c determinacao dos coeficientes da serie de Taylor
do n=1,n_termos
i=1
if(mod(n-1,2).eq.0) then !par
j=1
k=0
if(mod(n-1,4).eq.0) then !múltiplo de 4
i=2
endif
else !ímpar
j=0
k=1
if(mod((n-2),4).eq.0) then !múltiplo de 4 + 1
i=2
endif
endif
a(n)=(-1.d0)**i*b**(n-1)*sin(b*x0)**j*cos(b*x0)**k
enddo
do icont=1,n_x
c Leitura das abscissas em arquivo
read(5,*) x
fxt=0.d0
do n=1,n_termos
c solucao num‚rica
fxt=fxt+a(n)*(x-x0)**(n-1)/fat(n-1)
enddo
c solução analítica
fxa=sin(b*x)
c erro percentual
if(fxa.ne.0.d0) then
erro_p=abs((fxt-fxa)/fxa)*100.d0
write(6,15)x,fxa,fxt,erro_p
else
write(6,20)x,fxa,fxt
endif
enddo
5 format(14x,'x',26x,'f(x)',23x,'F(x)',23x,'E(%)')
15 format(3(f25.14,2x),e25.15)
20 format(3(f25.14,2x),' - ')
stop " Fim "
end
c ##############################################################
function fat(n)
implicit double precision(a-h,o-z)
integer n
fat=dfloat(n)
do i=n,2,-1
xi=dfloat(i)
fat=fat*(xi-1.d0)
enddo
if(n.eq.0) fat=1.d0
return
end
c ##############################################################
Creio que o que tenho que mudar está nessa linha:
a(n)=(-1.d0)**i*b**(n-1)*sin(b*x0)**j*cos(b*x0)**k
Piva escreveu:Entendo pouco de série de Taylor, mas se me explicarem alguma coisa eu acho que entendo!
Esse é o verdadeiro problema: você não sabe expandir (usando a Série de Taylor) a função
em torno de x0.
Você precisa primeiro saber fazer essa expansão antes de querer mexer no código. Ou seja, você precisa primeiro estudar sobre a Série de Taylor.
Há um vasto material disponível na internet sobre essa assunto. Eu recomendo que você faça uma pesquisa sobre ele.
Vamos então considerar uma função f que possa ser expandida em Série de Taylor. A sua aproximação em torno de x0 será dada por:
Nesse caso, a expansão foi feita até o termo na posição n. Note que você precisa calcular a derivada de f até a ordem n.
Por exemplo, no caso de
, temos que:
(...)
Agora tente determinar o formato geral. Isto é, o formato para
.
-
LuizAquino
- Colaborador Moderador - Professor
-
- Mensagens: 2654
- Registrado em: Sex Jan 21, 2011 09:11
- Localização: Teófilo Otoni - MG
- Formação Escolar: PÓS-GRADUAÇÃO
- Área/Curso: Mestrado - Modelagem Computacional
- Andamento: formado
-
Voltar para Cálculo: Limites, Derivadas e Integrais
Se chegou até aqui, provavelmente tenha interesse pelos tópicos relacionados abaixo.
Aproveite a leitura. Bons estudos!
-
- calculo numerico
por ehrefundini » Qua Mai 07, 2008 10:31
- 1 Respostas
- 1840 Exibições
- Última mensagem por admin
Qua Mai 07, 2008 11:02
Pedidos de Materiais
-
- Calculo Numerico !!
por laisgomes2107 » Sex Set 19, 2008 01:06
- 2 Respostas
- 2528 Exibições
- Última mensagem por admin
Ter Set 23, 2008 18:35
Dúvidas Pendentes (aguardando novos colaboradores)
-
- calculo numerico
por ehrefundini » Sex Mar 06, 2009 10:36
- 1 Respostas
- 2327 Exibições
- Última mensagem por Molina
Sex Mar 06, 2009 13:10
Cálculo Numérico e Aplicações
-
- CALCULO NUMÉRICO I
por futuro fisico » Ter Set 27, 2011 21:04
- 1 Respostas
- 1495 Exibições
- Última mensagem por LuizAquino
Ter Set 27, 2011 22:05
Cálculo: Limites, Derivadas e Integrais
-
- Cálculo numérico
por Jhennyfer » Dom Mai 19, 2013 13:43
- 10 Respostas
- 4340 Exibições
- Última mensagem por Jhennyfer
Dom Mai 19, 2013 16:45
Álgebra Elementar
Usuários navegando neste fórum: Nenhum usuário registrado e 31 visitantes
Assunto:
Proporcionalidade
Autor:
silvia fillet - Qui Out 13, 2011 22:46
Divida o numero 35 em partes diretamente proporcionais a 4, 10 e 14. Em seguida divida o mesmo numero em partes proporcionais a 6, 15 e 21. explique por que os resultados sao iguais.
Assunto:
Proporcionalidade
Autor:
silvia fillet - Sáb Out 15, 2011 10:25
POR GENTILEZA PODEM VERIFICAR SE O MEU RACIOCINIO ESTÁ CERTO?
P1 = K.4 SUBSTITUINDO K POR 1,25 P1= 5
P2 = K.10 SUBSTITUINDO K POR 1,25 P2= 12,50
P3 = K.13 SUBSTITUINDO K POR 1,25 P3= 17,50
P1+P2+P3 = 35
K.4+K.10+K.13 = 35
28 K = 35
K= 1,25
P1 = K.6 SUBSTITUINDO K POR 0,835 P1= 5
P2 = K.15 SUBSTITUINDO K POR 0,835 P2 = 12,50
P3 = K.21 SUBSTITUINDO K POR 0,835 P3 = 17,50
K.6+K.15+K.21 = 35
42K = 35
K= 0,833
4/6 =10/15 =14/21 RAZÃO = 2/3
SERÁ QUE ESTÁ CERTO?
ALGUEM PODE ME AJUDAR A EXPLICAR MELHOR?
OBRIGADA
SILVIA
Assunto:
Proporcionalidade
Autor:
ivanfx - Dom Out 16, 2011 00:37
utilize a definição e não se baseie no exercícios resolvidos da redefor, assim você terá mais clareza, mas acredito que sua conclusão esteja correto, pois o motivo de darem o mesmo resultado é pq a razão é a mesma.
Assunto:
Proporcionalidade
Autor:
Marcos Roberto - Dom Out 16, 2011 18:24
Silvia:
Acho que o resultado é o mesmo pq as razões dos coeficientes e as razões entre os números são inversamente proporcionais.
Você conseguiu achar o dia em que caiu 15 de novembro de 1889?
Assunto:
Proporcionalidade
Autor:
deiasp - Dom Out 16, 2011 23:45
Ola pessoal
Tb. estou no redefor
O dia da semana em 15 de novembro de 1889, acredito que foi em uma sexta feira
Assunto:
Proporcionalidade
Autor:
silvia fillet - Seg Out 17, 2011 06:23
Bom dia,
Realmente foi uma sexta feira, como fazer os calculos para chegar ?
Assunto:
Proporcionalidade
Autor:
ivanfx - Seg Out 17, 2011 07:18
Para encontrar o dia que caiu 15 de novembro de 1889 você deve em primeiro lugar encontrar a quantidade de anos bissextos que houve entre 1889 à 2011, após isso dá uma verificada no ano 1900, ele não é bissexto, pois a regra diz que ano que é múltiplo de 100 e não é múltiplo de 400 não é bissexto.
Depois calcule quantos dias dão de 1889 até 2011, basta pegar a quantidade de anos e multiplicar por 365 + 1 dia a cada ano bissexto (esse resultado você calculou quando encontrou a quantidade de anos bissextos)
Pegue o resultado e divida por 7 e vai obter o resto.
obtendo o resto e partindo da data que pegou como referência conte a quantidade do resto para trás da semana.
Assunto:
Proporcionalidade
Autor:
silvia fillet - Seg Out 17, 2011 07:40
Bom dia,
Será que é assim:
2011 a 1889 são 121 anos sendo , 30 anos bissextos e 91 anos normais então temos:
30x366 = 10.980 dias
91x365 = 33.215 dias
incluindo 15/11/1889 - 31/12/1889 47 dias
33215+10980+47 = 44242 dias
44242:7 = 6320 + resto 2
è assim, nâo sei mais sair disso.
Assunto:
Proporcionalidade
Autor:
ivanfx - Seg Out 17, 2011 10:24
que tal descontar 1 dia do seu resultado, pois 1900 não é bissexto, ai seria 44241 e quando fizer a divisão o resto será 1
como etá pegando base 1/01/2011, se reparar bem 01/01/2011 sempre cai no mesmo dia que 15/01/2011, sendo assim se 01/01/2011 caiu em um sábado volte 1 dia para trás, ou seja, você está no sábado e voltando 1 dia voltará para sexta.então 15/11/1889 cairá em uma sexta
Assunto:
Proporcionalidade
Autor:
Kiwamen2903 - Seg Out 17, 2011 19:43
Boa noite, sou novo por aqui, espero poder aprender e ajudar quando possível! A minha resposta ficou assim:
De 1889 até 2001 temos 29 anos bissextos a começar por 1892 (primeiro múltiplo de 4 após 1889) e terminar por 2008 (último múltiplo de 4 antes de 2011). Vale lembrar que o ano 1900 não é bissexto, uma vez que é múltiplo de 100 mas não é múltiplo de 400.
De um ano normal para outro, se considerarmos a mesma data, eles caem em dias consecutivos da semana. Por exemplo 01/01/2011 – sábado, e 01/01/2010 – sexta.
De um ano bissexto para outro, se considerarmos a mesma data, um cai dois dias da semana depois do outro. Por exemplo 01/01/2008 (ano bissexto) – Terça – feira, e 01/01/09 – Quinta-feira.
Sendo assim, se contarmos um dia da semana de diferença para cada um dos 01/01 dos 122 anos que separam 1889 e 2011 mais os 29 dias a mais referentes aos anos bissextos entre 1889 e 2011, concluímos que são 151 dias da semana de diferença, o que na realidade nos trás: 151:7= 21x7+4, isto é, são 4 dias da semana de diferença. Logo, como 15/11/2011 cairá em uma terça-feira, 15/11/1889 caiu em uma sexta-feira.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.