如何将符号矩阵导出为Excel?

时间:2018-11-16 10:22:04

标签: excel matlab

我想计算一个具有符号条目的矩阵,并将该矩阵导出到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单元格中,而是被分为许多单元格,这对我而言没有用

我想必须有一个更好的解决方案,将变量导出到单个单元格中。

有人有好的解决方案吗?

1 个答案:

答案 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)