C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で微分方程式を解くためのオイラー法


この問題では、微分方程式が与えられます。 f(x、y)=dy / dx 初期値y(x 0 )=y 0 。私たちの仕事は、微分方程式を解くためのオイラー法を使用して方程式の解を見つけることです。

オイラー法

フォワードオイラー法としても知られるオイラー法 は、与えられた初期値を使用して与えられた微分方程式の解を見つけるための一次数値手順です。

微分方程式の場合、f(x、y)=dy/dx。オイラー法は、

として定義されます。

y(n + 1)=y(n)+ h * f(x(n)、y(n))

値hは、次のように計算されるステップサイズです。

h =(x(n)-x(0))/ n

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;

float equation(float x, float y) {

   return (x + y);
}

void solveEquationEulers(float x0, float y, float h, float x) {

   float temp = 0.0;

   while (x0 < x) {
      temp = y;
      y = y + h * equation(x0, y);
      x0 = x0 + h;
   }
   cout<<"The solution of the differential equation at x = "<< x <<" is f(x, y) = "<<y;
}

int main()
{
   float x0 = 0;
   float y0 = 1;
   float h = 0.5;
   float x = 0.1;
   solveEquationEulers(x0, y0, h, x);
   return 0;
}

出力-

The solution of the differential equation at x = 0.1 is f(x, y) = 1.5

  1. QuickSort用のC++プログラム?

    クイックソートは、比較を使用してソートされていないリスト(配列)をソートするソート手法です。クイックソートは、パーティション交換ソートとも呼ばれます。 等しいソート項目の相対的な順序が保持されないため、安定したソートではありません。クイックソートは配列を操作できるため、ソートを実行するために少量の追加メモリが必要です。常に最悪の場合のパーティションを選択するわけではないことを除いて、選択ソートと非常によく似ています。したがって、選択ソートのより適切な形式と見なすことができます。 QuickSortは、最も効率的な並べ替えアルゴリズムの1つであり、配列を小さい配列に分割することに基づいていま

  2. 覆面算パズルを解くためのC++プログラム

    陰窩算術問題では、数字を割り当てるためにいくつかの文字が使用されます。算術演算を正しく実行するために、10個の異なる文字が0から9までの桁値を保持しているように。 2つの単語が与えられ、それらの2つの単語の加算の答えとして別の単語が与えられます。例として、「BASE」と「BALL」の2つの単語を言うと、結果は「GAMES」になります。ここで、BASEとBALLをそれらの記号の数字で追加しようとすると、答えGAMESが得られます。 注-最大10文字である必要があります。そうでない場合、解決できません。 入力 このアルゴリズムは3語かかります。 出力 どの文字が0から9までのどの数字を