作成したGUIテーブルの行にデータを追加しようとしていますが、ボタンを押すたびにデータが最初の行ではなく5行目に表示されます。 GUIでテーブルを作成すると、すでに4行あり、削除しようとしましたが、引き続き表示されます。Matlab GUIテーブル行
data = get(handles.uitable1, 'data');
k = size(data,1)+1;
if k == 1
B = num2cell(data);
else
B = data;
end
B{k,1} = xrange;
B{k,2} = xmoment;
B{k,3} = xmad;
B{k,4} = xiqr;
B{k,5} = xstd;
B{k,6} = xvar;
set(handles.uitable1, 'data', B);
テーブルがすでに4行を持っているので、サイズは4になり、それが1で、私はボタンを押すたびにインクリメントされます。最初の行にデータを挿入してから通常通りインクリメントする方法はありますか? データがどのように挿入されているかは、下の画像で確認できます。
データがすでにテーブルを持っている場合は、データが4行の 'NaN'値のセルであると思われます。すべてのNaN値を持つ最初の行を見つけて、それをkに使用してみてください。このために 'isnan'と' all'関数を使うことができます –
[mcve]を見てください。 – excaza