PINVコマンドのMATLABエラー

Jav

三角測量の表面近似用のコードを使用しています。これはここにコピーされています

[totalTris,three] = size(tri);
[totalPoints,two] = size(registeredPts);

%   1. Find the 3 equations for each vertex, and
%      place them in c_equations matrix;
% c_equations = [A for vertex 1;
%                A for vertex 2; ...
%                A for vertex totalPoints]
% c(point,row,:) gives one row from an A matrix
Btotal = zeros(3,totalPoints);
c_equations = zeros(3*totalPoints,3,9);
for pointNum = 1:totalPoints
    % B = [pixVal; x gradient; y gradient] at this vertex
    z = pixelVals(pointNum);
    B = [z; vGradientVecs(pointNum,1); vGradientVecs(pointNum,2)];

    % Compile all B matrices into a vector
    Btotal(:,pointNum) = B;

    % B = Ac
    x = registeredPts(pointNum,1);
    y = registeredPts(pointNum,2);
    A = [1   x   y   x^2  y^2  x^3     (x^2)*y  x*(y^2)  y^3; ...
         0   1   0   2*x   0   3*(x^2)  2*x*y   y^2      0; ...
         0   0   1   0    2*y  0        x^2     2*x*y    3*(y^2)];

    % Compile all A matrices into a vector
    c_equations(pointNum,1,:) = A(1,:);
    c_equations(pointNum,2,:) = A(2,:);
    c_equations(pointNum,3,:) = A(3,:);
end

%   2. Find the c values for each triangle patch
c = zeros(totalTris,9);
c9 = zeros(9,9);
for triNum = 1:totalTris
    p1 = tri(triNum,1);
    p2 = tri(triNum,2);
    p3 = tri(triNum,3);

    B9 = [Btotal(:,p1); Btotal(:,p2); Btotal(:,p3)];
    c9 = [c_equations(p1,1,:); c_equations(p1,2,:); c_equations(p1,3,:); ...
          c_equations(p2,1,:); c_equations(p2,2,:); c_equations(p2,3,:); ...
          c_equations(p3,1,:); c_equations(p3,2,:); c_equations(p3,3,:)];
    c(triNum,:) = pinv(c9)*B9;   %linsolve(c9,B9);
end

end

これはより大きなコードの一部です。コードを実行すると、MATLABで次のエラーが発生します。

Error using svd
Input must be 2-D.

Error in pinv (line 29)
   [U,S,V] = svd(A,0);
Error in findBPolyCoefficients (line 50)
    c(triNum,:) = pinv(c9)*B9;

私の検索によると、私はpinvの正しい構文を持っています、「入力は2Dでなければなりません」エラーは私の理解を超えています、誰かがこの問題を解決する方法を教えてくれるなら

自律型

あなたから提供された情報によると、それはc9自明な3Dマトリックスであるように見えます。つまり、その2番目の次元は1です。このような次元は、シングルトン次元と呼ばれます。Squeezeそのような次元を折りたたむために使用されるコマンドです。あなたは単にするべきです、

c9=squeeze(c9); %before doing pinv

これによりc92次元行列が作成され、そのSVDを計算できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

コマンド「setdatasl」のgnuplotエラー

分類Dev

openstack serverlistコマンドのエラー

分類Dev

MySQLの更新コマンドエラー

分類Dev

更新コマンドのエラー

分類Dev

git aliasshellコマンドのエラー

分類Dev

LaravelArtisanコマンドのエラー

分類Dev

.arangeコマンドのNumpyエラー

分類Dev

find コマンドを使用した Matlab エラー

分類Dev

Ubuntu18.04でのMatlabアプリケーションコマンドエイリアス作成エラー

分類Dev

Ubuntu18.04でのMatlabアプリケーションコマンドエイリアス作成エラー

分類Dev

MatlabでのHuffmanによるエンコードエラー

分類Dev

コマンドラインでの変換コマンドのエラー

分類Dev

印刷コマンドのPythonエラー。構文エラー

分類Dev

./AndroidStudioの更新後のgradlewコマンドラインエラー

分類Dev

$の不正なコマンドラインperlエラー値?

分類Dev

tarコマンド後のDockerランタイムエラー

分類Dev

bqコマンドラインのMAX_TOKEN_VALエラー

分類Dev

C#HTML-マラヤーラム語のエンコードデコード

分類Dev

コードの最初の移行でのupdate-databaseコマンドのエラー

分類Dev

yohubotコマンド後のnpmプロトコルエラー

分類Dev

コマンドボタンエラー

分類Dev

リモートコマンドの「&」の構文エラー

分類Dev

Matlabのコマンド `gmdistribution`?

分類Dev

Python用のMATLABエンジンのsave()コマンド

分類Dev

コマンドプロンプトでのSML / NJエラー

分類Dev

コマンドプロンプトの引用エラー

分類Dev

コマンド プロンプトのカスタム コード エラー

分類Dev

開くときのMatlabエラー「コマンド履歴の保存中にエラーが発生しました」

分類Dev

Catコマンドのエラーメッセージ

Related 関連記事

  1. 1

    コマンド「setdatasl」のgnuplotエラー

  2. 2

    openstack serverlistコマンドのエラー

  3. 3

    MySQLの更新コマンドエラー

  4. 4

    更新コマンドのエラー

  5. 5

    git aliasshellコマンドのエラー

  6. 6

    LaravelArtisanコマンドのエラー

  7. 7

    .arangeコマンドのNumpyエラー

  8. 8

    find コマンドを使用した Matlab エラー

  9. 9

    Ubuntu18.04でのMatlabアプリケーションコマンドエイリアス作成エラー

  10. 10

    Ubuntu18.04でのMatlabアプリケーションコマンドエイリアス作成エラー

  11. 11

    MatlabでのHuffmanによるエンコードエラー

  12. 12

    コマンドラインでの変換コマンドのエラー

  13. 13

    印刷コマンドのPythonエラー。構文エラー

  14. 14

    ./AndroidStudioの更新後のgradlewコマンドラインエラー

  15. 15

    $の不正なコマンドラインperlエラー値?

  16. 16

    tarコマンド後のDockerランタイムエラー

  17. 17

    bqコマンドラインのMAX_TOKEN_VALエラー

  18. 18

    C#HTML-マラヤーラム語のエンコードデコード

  19. 19

    コードの最初の移行でのupdate-databaseコマンドのエラー

  20. 20

    yohubotコマンド後のnpmプロトコルエラー

  21. 21

    コマンドボタンエラー

  22. 22

    リモートコマンドの「&」の構文エラー

  23. 23

    Matlabのコマンド `gmdistribution`?

  24. 24

    Python用のMATLABエンジンのsave()コマンド

  25. 25

    コマンドプロンプトでのSML / NJエラー

  26. 26

    コマンドプロンプトの引用エラー

  27. 27

    コマンド プロンプトのカスタム コード エラー

  28. 28

    開くときのMatlabエラー「コマンド履歴の保存中にエラーが発生しました」

  29. 29

    Catコマンドのエラーメッセージ

ホットタグ

アーカイブ