ホームページ  >  記事  >  バックエンド開発  >  指定された行列のトレースと法線を見つける C++ プログラム

指定された行列のトレースと法線を見つける C++ プログラム

WBOY
WBOY転載
2023-08-30 10:37:051157ブラウズ

指定された行列のトレースと法線を見つける C++ プログラム

一部のアプリケーションでは、2 次元配列または行列を使用すると大きなメリットが得られます。 数値は行列の行と列に格納されます。多次元配列を使用すると、 2D 行列は C でも定義できます。この記事ではCの使い方を学びます。 指定された行列の法線とトレースを決定します。

行列の要素の総数の平方根は、いわゆる 普通。トレースは、主対角線を構成するすべてのコンポーネントで構成されます。私たちにさせて C コードでのアルゴリズムの表現を表示します。

マトリックス トレース

$\begin{bmatrix} 8 & 5& 3\改行 6 & 7& 1\改行 2 & 4& 9\改行 \end{bmatrix},$

主対角線上のすべての要素の合計: (8 7 9) = 24、これは指定された行列のトレースです

前の例では、3 x 3 行列が使用され、結果は各行列の合計になります。 主対角線の要素の数。マトリックスの痕跡は合計で見つけることができます。私たちにさせて アルゴリズムを見てみると理解が容易になります。

###アルゴリズム###

行列 M を入力として読み取ります
  • M に n 行 n 列があるとします。
  • 合計: = 0
  • i が 1 から n までの場合、実行します。
  • sum := sum M[ i ][ i ]
    • ​​i> ###仕上げる###
    合計を返します
  • ###例### リーリー ###出力### リーリー
  • 行列法線
  • $\begin{bmatrix} 8 & 5& 3\改行 6 & 7 & 1\改行 2 & 4& 9\改行 \end{bmatrix},$

すべての要素の合計: (8 5 3 6 7 1 2 4 9) = 45

通常: (すべての要素の合計の平方根) = √45 = 6.708

前の例では、3 x 3 行列が使用されました。まずすべてのエントリの合計を計算します 平方根を求める前に。理解を助けるためにアルゴリズムを見てみましょう。

###アルゴリズム###

行列 M を入力として読み取ります

M に n 行 n 列があるとします。

合計は0に初期化されます

i が 1 から n までの場合、実行します。

j が 1 から n までの場合、次を実行します。
  • sum := sum M[ i ][ j ]
  • ###仕上げる###
  • ###仕上げる###
  • res := 合計の平方根
    • 結果を返す
      • ###例### リーリー ###出力### リーリー ###結論は### ​​i>通常操作とトレース操作は行列に属します。これら 2 つのプロセスで必要となるのは、 正方行列、これが必要なものです (正方形のトレースが必要なため)。痕跡の合計は 行列の主対角線に含まれる要素、法線は単なる 行列に含まれる要素の総数の平方根。 C では、行列は次のことができます。 2次元配列を使用して表示します。ここでは 5 行 5 列の 2 つの行列を選択しました。 例 (合計 25 要素)。行列にはループ ステートメントを通じてアクセスする必要があります そしてインデックス操作。一般的な処理を実行するには、2 つのネストされたループが必要です。 計算するときは、各要素を反復処理する必要があります。このプログラムの複雑さは O(n
      2
    • ) です。 追跡には主対角線のみが必要なため、行と列のインデックスは次のようになります。 同一。したがって、必要なのは for ループのみです。 O(n) 時間で決定されます。

以上が指定された行列のトレースと法線を見つける C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。