指数に対するテイラー級数の計算精度についてアドバイスできますか?指数の度合いと精度の数値が入力データとして計算されます。与えられた精度を持つ計算番号を出力データとして受け取る必要があります。私はプログラムを書いたが、答えを計算して埋め込み関数の答えと比較すると、それは異なっている。あなたは私に助言をすることができます、どのように私は回答の違いを破壊することができますか? formula of exponent's calculatingC++:計算の精度について(コードが入っています)
#include "stdafx.h"
#include "iostream"
#include <math.h>
#include <Windows.h>
#include <stdlib.h>
using namespace std;
int Factorial(int n);
double Taylor(double x, int q);
int main()
{
double res = 0;
int q = 0;
double number = 0;
cout << "Enter positive number" << "\n";
cin >> number;
cout << "Enter rounding error (precision)" << "\n";
cin >> q;
cout << "\n" << "\n";
res = Taylor(number, q);
cout << "Answer by Taylor : " << res;
cout << "Answer by embedded function: " << exp(number);
Sleep(25000);
return 0;
}
int Factorial(int n) {
int res = 1;
int i = 2;
if (n == 1 || n == 0)
return 1;
else
{
while (i <= n)
{
res *= i;
i++;
}
return res;
}
}
double Taylor(double x, int q) {
double res = 1;
double res1 = 0;
int i =1;
while (i)
{
res += (pow(x, i)/Factorial(i));
if (int(res*pow(10, q)) < (res*pow(10, q)))
{//rounding res below
if ((int (res * pow(10,q+1)) - int(res*pow(10, q))) <5)
res1 = (int(res*pow(10, q))) * pow(10, (-q));
else
res1 = (int(res*pow(10, q))) * pow(10, (-q)) + pow(10,-q);
return res1;
}
i++;
}
}
違いは何ですか?どのような機能を拡張しようとしていますか? – user463035818
テイラーの関数を組み込み関数のように正確にしたいです。たとえば、変数を入力してみると、回答の違いが表示されます。 – tryuf
あなたが得た結果は何ですか?あなたが得たいものとはどのように異なっていますか? – user463035818