我想计算一个具有符号条目的矩阵,并将该矩阵导出到Excel文件。
方法:
syms x_1 y_1
A_sym = sym(zeros(2,2));
A_sym(1,1) = x_1;
A_sym(2,1) = x_1 * y_1
A_sym(2,2) = y_1;
我尝试使用xlswrite('test.xls',A_sym,'A1:C5')函数,但是它不是为符号表达式设计的,因此出现以下错误:
输入数据必须是数字,单元格或逻辑数组。
然后,我尝试将矩阵的内容类型转换为char并再次将其导出:
B = char(A);
xlswrite('test.xls',B,'A1:C5');
结果是该函数将每个字符导出到单个excel单元格中,这导致了一个问题,即包含多个字符的符号变量不在单个excel单元格中,而是被分为许多单元格,这对我而言没有用
我想必须有一个更好的解决方案,将变量导出到单个单元格中。
有人有好的解决方案吗?
答案 0 :(得分:1)
如果您想要的是基于文本的输出,那么您处于正确的位置,但是您需要做的是每个矩阵元素。
for ii=1:size(A_sym,1)
for jj=1:size(A_sym,2)
B{ii,jj}=char(A_sym(ii,jj));
end
end
xlswrite('test.xls',B);
这会将char
版本的符号矩阵放入excel中,大小相同(在本例中为2x2)