法線ベクトルとトレースを見つけるための C++ プログラム
2 次元の配列または行列は、いくつかのアプリケーションで非常に役立ちます。行列には行と列があり、そこに数値が格納されます。 C では、多次元配列を使用して 2 次元行列を定義することもできます。この記事では、C を使用して特定の行列のノルムとトレースを計算する方法を説明します。
法線は、行列内のすべての要素の合計の平方根です。トレースは、主対角線に存在する要素の合計です。アルゴリズムと C コード表現を見てみましょう。
行列法線
$\begin{bmatrix} 5&1&8\改行 4 & 3& 9\改行 2&7&3\ \end{bmatrix},$
リーリー上記の例では、3 x 3 の行列を使用しました。ここでは、すべての要素の合計を取得し、その平方根を求めます。理解を深めるためにアルゴリズムを見てみましょう。
###アルゴリズム###行列 M を入力として読み取ります
- n行n列のMを考えてみましょう
- 合計: = 0
- i が 1 から n までの場合、実行します。
- j が 1 から n までの場合、次の操作を実行します。
- sum := sum M[ i ][ j ]
- i>
- sum := sum M[ i ][ j ]
- res := 平方根の合計
- 結果を返す
- ###例### リーリー ###出力### リーリー マトリックス トレース
$\begin{bmatrix} 5&1&8\改行 4 & 3& 9\改行 2&7&3\ \end{bmatrix},$
リーリー上記の例では、3 x 3 の行列を取得し、主対角線上のすべての要素の合計を取得しました。この合計が行列のトレースです。理解を深めるためにアルゴリズムを見てみましょう。
###アルゴリズム###行列 M を入力として読み取ります
n行n列のMを考えてみましょう
合計: = 0
i が 1 から n までの場合、実行します。
- sum := sum M[ i ][ i ]
- ループの終了
- 合計を返します
- ###例### リーリー ###出力### リーリー ###結論は### i>法線とトレースはどちらも行列演算です。これら 2 つの演算を実行するには、正方行列が必要です (正方トレース行列が必要なため)。法線は単に行列に存在するすべての要素の合計の平方根であり、トレースは行列の主対角線上に存在する要素の合計です。この行列は、C では 2 次元配列を使用して表現できます。ここでは、5 行 5 列 (合計 25 要素) の行列の例を 2 つ示します。行列にアクセスするには、インデックス操作を伴うループ ステートメントが必要です。通常の計算では、各要素を反復処理する必要があるため、2 つのネストされたループが必要になります。このプログラムの複雑さは O(n
) です。トレースの場合、主対角線だけを見る必要があるため、行インデックスと列インデックスは同じになります。したがって、for ループは 1 つだけで十分です。 O(n) 時間で計算できます。
以上が法線ベクトルとトレースを見つけるための C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









以下に、ローマ数字を 10 進数に変換する C 言語アルゴリズムを示します。 アルゴリズム ステップ 1 - 開始 ステップ 2 - 実行時にローマ数字を読み取る ステップ 3 - 長さ: = strlen(roman) ステップ 4 - i=0 から長さ-1 の場合 ステップ4.1-switch(roman[i]) ステップ 4.1.1-case'm': &nbs

辞書編集的な文字列比較とは、文字列が辞書順に比較されることを意味します。たとえば、「apple」と「appeal」という 2 つの文字列がある場合、「app」の最初の 3 文字が同じであるため、最初の文字列が最後に来ます。次に、最初の文字列の文字は「l」で、2 番目の文字列の 4 番目の文字は「e」になります。 「e」は「l」より短いため、辞書順に並べ替えると最初に表示されます。文字列は配置される前に辞書順に比較されます。この記事では、C++ を使用して 2 つの文字列を辞書編集的に比較するためのさまざまな手法を見ていきます。 C++ 文字列での Compare() 関数の使用 C++string オブジェクトには Compare() があります。

リンク リストは動的なメモリ割り当てを使用します。つまり、リンク リストはそれに応じて拡大および縮小します。これらはノードのコレクションとして定義されます。ここで、ノードにはデータとリンクという 2 つの部分があります。データ、リンク、リンクリストの表現は以下のとおりです。 ・リンクリストの種類 リンクリストには以下の4種類があります。 ・シングルリンクリスト/シングルリンクリスト ダブル/ダブルリンクリスト 循環シングルリンクリスト 循環ダブルリンクリスト再帰的メソッドを使用してリンク リストの長さを確認します。ロジックは -intlength(node *temp){ if(temp==NULL) returnl; else{&n

双曲線関数は、円の代わりに双曲線を使用して定義され、通常の三角関数と同等です。ラジアン単位で指定された角度から双曲線正弦関数の比率パラメーターを返します。しかし、その逆、つまり別の言い方をすればいいのです。双曲線正弦から角度を計算したい場合は、双曲線逆正弦演算のような逆双曲線三角関数演算が必要です。このコースでは、C++ で双曲線逆サイン (asinh) 関数を使用し、ラジアン単位の双曲線サイン値を使用して角度を計算する方法を説明します。双曲線逆正弦演算は次の式に従います -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}ここで\:In\:is\:自然対数\:(log_e\:k)

マップは C++ の特別なタイプのコンテナで、各要素は 2 つの値、つまりキー値とマップ値のペアです。キー値は各項目のインデックス付けに使用され、マップされた値はキーに関連付けられた値です。マップされた値が一意であるかどうかに関係なく、キーは常に一意です。 C++ でマップ要素を出力するには、反復子を使用する必要があります。項目のセット内の要素は、反復子オブジェクトによって示されます。イテレータは主に配列や他のタイプのコンテナ (ベクトルなど) で使用され、特定の範囲内の特定の要素を識別するために使用できる特定の操作セットを備えています。イテレータをインクリメントまたはデクリメントして、範囲またはコンテナ内に存在するさまざまな要素を参照できます。イテレータは、範囲内の特定の要素のメモリ位置を指します。イテレータを使用して C++ でマップを出力する まず、定義方法を見てみましょう。

名前変更機能は、ファイルまたはディレクトリを古い名前から新しい名前に変更します。この操作は移動操作と似ています。したがって、この名前変更機能を使用してファイルを移動することもできます。この関数は、stdio.h ライブラリ ヘッダー ファイルに存在します。 rename 関数の構文は次のとおりです: intrename(constchar*oldname,constchar*newname); rename() 関数は 2 つのパラメータを受け取ります。 1 つは古い名前、もう 1 つは新しい名前です。どちらのパラメータも、ファイルの古い名前と新しい名前を定義する定数文字へのポインタです。ファイルの名前が正常に変更された場合はゼロを返し、それ以外の場合はゼロ以外の整数を返します。名前変更操作中

現代科学は、複数の数の概念に大きく依存しています。この概念は、17 世紀初頭にジローラモ カルダーノによって初めて確立され、16 世紀に導入されました。複素数の公式は a+ib です。ここで、a は HTML コードを保持し、b は実数です。複素数には、実数部 <a> と虚数部 (<ib>) の 2 つの部分があると言われます。 i または iota の値は √-1 です。 C++ の複数形クラスは、複素数を表すために使用されるクラスです。 C++ の複合クラスは、いくつかの複素数演算を表現および制御できます。複数の数値を表現し、表示を制御する方法を見てみましょう。 imag() メンバー関数 上で述べたように、複素数は実数部と虚数部で構成されます。実数部を表示するには、real() を使用します。

論理プログラミングの問題を解決する場合、文字列または文字の使用が非常に役立つ場合があります。文字列は文字の集合であり、ASCII 値の記号を保持するために使用される 1 バイトのデータ型です。記号には、英文字、数字、または特殊文字を使用できます。この記事では、C++ を使用して文字が英語文字かアルファベット文字かを確認する方法を学びます。 isalpha() 関数のチェック 数値が文字であるかどうかをチェックするには、ctype.h ヘッダー ファイルの isalpha() 関数を使用できます。これは文字を入力として受け取り、それがアルファベットの場合は true を返し、そうでない場合は false を返します。この関数の使用法を理解するために、次の C++ 実装を見てみましょう。 Example の中国語訳は次のとおりです。
