問題は次のxlswrite
行にあります。
xlswrite
ドキュメントから:
xlswrite(filename,A,sheet)
指定されたワークシートに書き込みます。
つまり、文字列「b」をシート「A1」に書き込んでいますxlswrite(filename,'b','A1');
xlswrite(filename,A)
配列 A を Excel ファイル filename の最初のワークシートに、セル A1 から書き込みます。
A1 で書き始めるために実際には何もする必要はありません。b が行ベクトルであると仮定します。
xlswrite(filename,b');
あなたが書いたように、十分なはずです。
シートと列を指定したい場合は、使用できます
xlswrite(filename,A,sheet,xlRange)
更新:今はこれを試すことはできませんが、うまくいくはずです。
a
and b
for everyを計算しorder
て、次のように xls ファイルに書き込むことができます。
r = 1; % row number
str = {'a', 'b'};
order = [1 3 5]; % The orders you want to calculate a and b with
for idx = 1:size(order, 2)
[b,a] = cheby2(order(idx), 20, 300/500); % I do not know about second
% and third parameters, you should
% check them.
vals = [a; b]; % assuming they are row vectors
cellName = strcat('A', r);
orderName = strcat('Order ', order(idx));
xlswrite(filename, orderName, 1, cellName)
r = r + 1;
for jdx=1:2
cellName = strcat('A', r);
xlswrite(filename, str{jdx}, 1, cellName);
r = r + 1;
cellName = strcat('A', r);
xlswrite(filename, vals(jdx, :), 1, cellName);
r = r + size(vals, 2);
end
end