私の実験の結果を含むテーブルを作成しています。 forループの変数定義に問題があります。私はループなしでまったく同じことをしても何の問題もなかったので、少なくともヒントは必要だと思います。MATLAB:テーブルのforループの問題
for t = 1:N
Bands(t) = {'Band %d',t};
Diameter(t) = dn;
Bandwidth(t) = barray(t);
n1(t) = R.m(t);
n2(t) = R2.m2(t);
P1(t) = round(p(t),2);
P2(t) = round(p2(t),2);
Damage(t) = round(dad(t),2);
end
Bands(t+1) = {'Total'};
Diameter(t+1) = {'-'};
Bandwidth(t+1) = sum(barray);
n1(t+1) = sum(R.m);
n2(t+1) = sum(R2.m2);
P1(t+1) = round(ptot,2);
P2(t+1) = round(ptot2,2);
Damage(t+1) = round(damage,2);
Bands = Bands';
Diameter = Diameter';
Bandwidth = Bandwidth';
n1 = n1';
n2 = n2';
P1 = P1';
P2 = P2';
Damage = Damage';
T = table(Bands,Diameter,BandWidth,n1,n2,P1,P2,Damage,...
'RowNames',Bands);
cellArrayOfTableToBeWritten = [cellArrayOfTableToBeWritten;
T.Properties.VariableNames;
table2cell(T);
blankrow];
私は、コードを実行し、バンド(t)と、十分な公正のために私にエラーを与えた、私は正しい方法だか分からない:
は、これまでのところ、これは私が事前割り当てた後、何をやったかでありますテーブルで印刷するのですが、なぜバンド(t + 1)にエラーがありますか?
'セルから2倍に変換することはできません。'
EDITは:私がやろうとしていることはこれです:
Band = {'One';'Two';'Three';'Four';'Total'};
が、今と私はプログラムを開始するまで、私は必要がありますどのように多くのバンドを知らないので、forループ。 forループを使ってテーブルを作成した後、xlwriteを使ってExcelファイルにエクスポートします(xlswriteではなく、Mac上にあります)。
このコードは大幅に最適化できるようですが、実際に達成しようとしていることを記述した場合は建設的なものになります。また、ここでエラーを尋ねるときは、常に実際のエラーメッセージ全体を含めてください。 – Wolfie
オリジナルの投稿を少し編集しました。エラーメッセージは全体的には "赤い"ものではありません。それは 'try catch ME'の結果です。 – Jack