2

「+」、「-」、および「*」演算子をオーバーロードするクラスをMatlabに実装しました。今、エントリがこのクラスのインスタンスで構成されているマトリックスの行列式を計算することに興味があります。これを行うためにMatlabのシンボリック行列式関数を使用する怠惰な方法はありますか、それとも行列式アルゴリズムを自分で実装する必要がありますか?

4

1 に答える 1

0

クラス内にdetという関数を作成できます。セル配列ではなく配列を使用して Matlab OOP を使用している場合は、インスタンスの行列で det(M) を呼び出すことができます。

class MyClass
     methods(Access=public)
          function d = det(this)
               M = zeros(size(this));
               for i=1:size(this,1)
                    for j=1:size(this,2)
                         % M(i,j) = %TODO -> convert by your own logic
                    end
               end
               d = det(M);
          end
     end
end
于 2012-01-05T12:00:17.533 に答える