MATLAB の orth() 関数を使用して行列の範囲の正規直交基底を求める方法

Matlab No Orth Guan Shuwo Shi Yongshite Xing Lieno Fan Tongno Zheng Gui Zhi Jiao Ji Diwo Qiumeru Fang Fa



MATLAB は行列実験室の略で、その開発の基本的な目的は複雑な行列演算を効率的に実行することでした。このような行列演算の 1 つは、 正規直交基底 与えられた行列の。手動で計算する場合、これは複雑で時間のかかる問題です。ただし、MATLAB では、 orth() 関数。

この記事では、 正規直交基底 行列の内容と、MATLAB で orth() 関数。

行列の正規直交基底とは何ですか

線形代数では、 正規直交基底 有限次元を持つベクトル空間 V の基底は、 正規直交ベクトル どこ 正規直交ベクトル は互いに直交する単位ベクトルであり、それらの内積は 0 です。







2 つの単位ベクトル x と y を考えます。これらは次の場合に互いに直交します。 「x.y=0」 。これら 2 つのベクトルは、 正規直交ベクトル



なぜ正規直交基底を計算する必要があるのか

正規直交基底 は、あるベクトルの別のベクトルへの射影を求める場合や、2 つのベクトル間の距離を求める場合に便利です。を使用することもできます。 正規直交基底 これはシミュレーションにおける丸め誤差を減らすためであり、その唯一の理由は、正規直交基底のベクトルが互いに独立しているため、1 つのベクトルの誤差が他のベクトルに伝播できないことです。さらに、基底が正規直交であれば、座標を見つけて線形変換を実行するのがはるかに簡単になります。



MATLAB で行列の正規直交基底を見つけるにはどうすればよいですか?

MATLAB では、 正規直交基底 組み込みを使用して orth() を決定する役割を担う関数 正規直交基底 与えられた行列の。この関数は行列を必須パラメータとして受け入れ、出力として行列を提供します。 正規直交基底 指定された入力行列の。





構文
orth() 関数は、次の構文を使用して MATLAB に実装できます。

Q = オース ( )
Q = オース ( あ、トール )

ここ、



  • 関数 Q = オルト(A) を決定する責任があります 正規直交基底 出力行列 Q の列が表す A の範囲について 正規直交基底 また、A のランクは Q の列数と等しくなります。
  • 関数 Q = orth(A,tol) を決定する責任があります 正規直交基底 許容範囲を指定する A の範囲。許容値未満の入力行列 A の特異値は、Q の列数に影響を与えることでゼロとして扱われます。

例 1: MATLAB でフルランク行列の正規直交基底を求める方法

この MATLAB コードは、 正規直交基底 を使用して、サイズ n=3 の指定された正方行列 A を計算します。 orth() 関数。このコードはまた、次を使用して行列 A のランクを見つけます。 ランク() 入力行列がフルランクであることを検証する関数。

A = [ 1 0 -1 ; 1 2 0 ; 0 1 - 3 ] ;
r = ランク ( )
Q = オース ( )

例 2: MATLAB でランク欠損行列の正規直交基底を計算する方法

この例では、 orth() を見つける関数 正規直交基底 与えられたランク不足行列 A の行列 A。行列 A はランク不足です。 ランク(K)<サイズ(A)

A = [ 1 0 -1 ; 1 2 0 ; 0 0 0 ] ;
r = ランク ( )
Q = オース ( )

例 3: MATLAB で許容誤差を指定してフルランク行列の正規直交基底を求める方法

与えられた例では、 正規直交基底 サイズを持つ指定されたフルランク正方行列 A の n=3 を使用して orth() デフォルトの許容誤差を使用して関数を実行します。 A はフルランク行列であるため、A と Q のサイズは (直交基底) も同じであり、この場合は 3×3 です。次に、この例では、 正規直交基底 許容値 0.5 を指定して、0.5 未満の A の値を特異値と見なすことにより、A の値を計算します。 A には 3 つの特異値があるため、A には 2 つの正規直交列ベクトルが含まれます。 クトル マトリックス。

A = ランド ( 3 ) ;
r = ランク ( )
Q = オース ( )
Q_tol = オルス ( あ、 0.5 )

結論

を見つける 正規直交基底 ベクトル空間の計算は、複雑な数学的問題である線形代数の重要な概念です。ただし、MATLAB の組み込み関数を使用すると、簡単かつ効率的に解決できます。 orth() 関数。この記事では、さまざまな構文と例を使用してこの関数の実装を紹介しました。