gpt4 book ai didi

arrays - MATLAB:将字符串写入 Excel

转载 作者:太空宇宙 更新时间:2023-11-03 19:42:04 25 4
gpt4 key购买 nike

我正在尝试将系数数组写入 Excel 文件的 1 列 (A1) 下。这是我的片段:

    filename = 'cheby2coefs.xlsx';

for Order = 1:1
fprintf('This is');
disp(Order);

[b,a] = cheby2(Order, 20, 300/500);
disp([b,a]);
%xlswrite(filename,{'Order ',Order},'A1'); %string
xlswrite(filename,'b','A1'); %string
xlswrite(filename,b');
xlswrite(filename,'a'); %string
xlswrite(filename,a');
end

我的目标输出是这样的: enter image description here

但是,我的代码一直在创建其他工作表。实现它的正确方法是什么?

最佳答案

问题出在 xlswrite 行:

来自 xlswrite文档:

xlswrite(filename,A,sheet) writes to the specified worksheet.

这意味着您正在使用 xlswrite(filename,'b','A1');

将字符串 'b' 写入工作表 'A1'

xlswrite(filename,A) writes array A to the first worksheet in Excel file, filename, starting at cell A1.

实际上,您不需要做任何事情就可以在 A1 开始写作。假设 b 是一个行向量:

xlswrite(filename,b');

如您所写,应该足够了。

如果你想指定工作表和列你可以使用

xlswrite(filename,A,sheet,xlRange)

更新:我现在无法尝试此操作,但我认为它应该可行。

您可以为每个订单 计算ab 并将它们写入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

关于arrays - MATLAB:将字符串写入 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14378708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com