データ型が double と cell であるため、table 変数 'x' および 'ExtraVar1' を連結できません。

8 views (last 30 days)
wataru suzuki
wataru suzuki on 5 Oct 2020
Commented: stozaki on 12 Oct 2020
以下のような読み込みファイルとプログラムを記述したところ下のようなエラーが発生してしまったので解決したいです。
エラー: table2array (line 27)
データ型が double と cell であるため、table 変数 'x' および 'ExtraVar1' を連結できません。
エラー: colormap15 (line 19)
myMatrix = table2array(ret);
9×3の小規模なファイルの読み込みからの計算成功したのですが、こちらのファイルからでは上手くいきませんでした。
table2cellなどでデータ型を変えてみようとしましたが違うエラーが発生するなどして私では上手くいきません。
このような行によって列数が異なるファイルを読み取り、データ型を統一させ連結させ、エラーを解決するような方法を教えていただけないでしょうか
%ファイルを読み込み
filename = 'sanple_2.txt';
opts = detectImportOptions(filename);
%x,y,Aの3列だけ読み込む
opts.SelectedVariableNames = {'x', 'y', 'A'};
% table型で読み取り
ret = readtable(filename, opts);
% A列からNaNの行を抽出
idx = isnan(ret.A);
% NaNのところに10を代入
ret.A(idx) = 10;
% 配列に変換
myMatrix = table2array(ret);
disp(myMatrix);
%行列のサイズの指定、0の空欄を作る
q = zeros(1024,1024);
%1~合計ピクセルまでfor文で回す
for i = 1:1048576
q(myMatrix(i,2)+1,myMatrix(i,1)+1) = myMatrix(i,3);
end
%確認disp
disp(myMatrix);
disp(q);
%qのカラーマップの表示
image(q,'CDataMapping','scaled')
  1 Comment
stozaki
stozaki on 12 Oct 2020
wataru suzuki
sample_2.txtファイルを添付頂くことはできますか? 添付画像のようにテキストファイルを作成したのですが、x,y,Aの値が途中で切れてしまっており、別のエラーが出力されてしまいます。
現象を再現するには、sample_2.txtファイルが必須かと思われます。
ご検討ください。
stozaki

Sign in to comment.

Answers (0)

Categories

Find more on cell 配列 in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!