Expansão da série Taylor de cos (x)

Eu tenho uma pergunta simples. Eu quero escrever uma extensão de série Taylor para COS (x). E eu escrevi esses códigos

x=input('Please input an angle in degrees: '); cosx=1; for i=1:1:x addterm = (-1)^i*(x.^(2*i))/factorial(2*i); cosx = cosx + addterm; end a=['The value of cosine of ',num2str(x),' degrees is ', num2str(cosx)]; disp(a) 

mas este código não deu um resultado real, por que?

  • 1 Por que o Número de termos dependem do ângulo (x)? Isso deve depender da precisão necessária. E acho que eles são radianos, não graus …
  • mas eu tenho valores de graus
  • você tem que convertê-lo. Ou alterar a extensão.
  • Lembrei-me desse agradecimento

A série Taylor que você usa necessidades x para expressar em radianos. Após a input Multiplique x por ��/180 para converter graus em radianos. Você também deve ter muitas iterações, não só x. Tente for i=1:1:10 Factor do carro cresce muito rapidamente.

Porque você só deixa o seu loop viajou de 1 para x; Você provavelmente deseja que ele seja executado para um número natural específico, por exemplo:

for i=1:1:100 

para obter os primeiros 100 termos da série Taylor. Além disso, você pode omitir a largura da etapa se for 1, então

for i=1:100 

funciona também.

Editar: Eu assume que Você entra x em radians, não?

Leave a comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *