質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.58%

matlabでlistファイル読み込み時に「インデックスが行列の次元を超えています」というメッセージが出てしまいます。

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,486

ttyy1101

score 18

matlabで二枚の画像(.jpg)と、画像の座標(.listファイル)を入力して読み込みたいのですが

listファイル読み込み時に「インデックスが行列の次元を超えています」というメッセージが出てしまいます。

これはどういう意味なのでしょうか?
入力ファイルの内容はこうなります。
1で各点の座標を区切ってます。

123 403.333 1 78 518.666 1 75 386.333 1 18 457.666 1

重要と思われる一部のコードは以下になります。

%load the correspondences
for k=1:numel(correspondenceList)
    dataFileName = fullfile(dirName,correspondenceList(k).name);
    fprintf(1,'   %s...\n',dataFileName);
    correspondencesCell{k} = load(dataFileName);
end

なお、別のファイルを与えると、コードはうまく動きます。なぜでしょうか。
うまくいく場合のファイルは以下になります。

114.844 445.833 1 
121.406 558.333 1 
359.531 433.333 1 
359.063 541.667 1 
237.656 415 1 
180.063 336.5 1 
240.063 334.333 1 
146.25 399.333 1 
287.406 344.833 1 
112.5 343.333 1 
109.625 197.5 1 
130.844 241.667 1 
202.562 295.833 1 
94.6875 75 1 
227.875 81.5 1 
53.4375 20.8333 1 
75.4688 122.333 1 
79.625 188.167 1 
84.375 252.5 1 
38.9062 116.667 1 
43.5938 189.167 1 
50.2188 257.333 1 
89.5313 332.5 1 
95.1563 394.167 1 
56.7813 344.167 1 
61.875 411.5 1 
16.4063 429.833 1 
22.9688 495 1 
67.0313 470.834 1 
97.5 449.167 1 
27.1875 556.667 1 
69.375 528.501 1 
13.125 711.667 1 
130.312 733.333 1 
64.2188 675 1 
66.0938 653.167 1 
78.3438 654 1 
242.578 660.833 1 
253.125 660 1 
256.875 601.667 1 
335.625 595.417 1 
381.266 625 1 
406.641 657.083 1 
405 710 1 
510.766 663.333 1 
514.453 596.667 1 
517.969 508.75 1 
387.891 496.667 1 
521.954 434.584 1 
527.579 338.334 1 
391.407 343.333 1 
392.813 282.5 1 
390.001 391.667 1 
433.126 263.333 1 
467.11 273.333 1 
395.157 165.417 1 
540.235 149.583 1 
533.907 257.083 1 
393.985 230.417 1 
523.532 76.25 1 
474.61 92.5 1 
438.516 102.25 1 

よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

意図せぬ空白や
改行が問題だったようで、とりあえず解決できました。
失礼しました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.58%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • トップ
  • C++に関する質問
  • matlabでlistファイル読み込み時に「インデックスが行列の次元を超えています」というメッセージが出てしまいます。