Matlab - 数组名转成字符型

任务:

将数组的名称而非数组的内容,转成字符型,用于调用writexls()函数将工作区变量数组写成xls文件。

说明:

1,writexls()函数,matlab帮助:

xlswrite(filename,A) 将矩阵 A 写入 Microsoft® Excel® 电子表格工作簿 filename 中的第一张工作表,从单元格 A1 开始写入。

但是!更推荐使用writematrix()

2,writematrix(),matlab帮助:

writematrix(A,filename) 写入具有 filename 指定的名称和扩展名的文件。

writematrix 根据指定扩展名确定文件格式。扩展名必须是下列格式之一:

  • .txt.dat 或 .csv(适用于带分隔符的文本文件)

  • .xls.xlsm 或 .xlsx(适用于 Excel® 电子表格文件)

  • .xlsb(适用于安装了 Windows® Excel 的系统上支持的 Excel 电子表格文件)               

3,inputname(1):获取这个function函数的第一个输入参数的字符类型

解决:

参考链接[Matlab]变量名与字符串的互相转换 - 百度文库

此文代码如下:

abc=[1 2 3 4 5 6];
name = getVarName(abc)
function [str_varName] = getVarName(var)
str_varName = sprintf('%s',inputname(1));
end

此文确实有效,但在进行函数调用时会出现问题:并不能把数组名作为变量传入。

自定义写入xls函数如下:

abcd=[1 2 3 4 5];
write_xls(abcd,abcd);
function write_xls(~,xls_data)
name=sprintf('%s',inputname(1))
xlswrite(name+".xls",xls_data);
end

但是用这种方法写一个转xls函数略显麻烦。

这是写xls的原本函数:

xlswrite("name.xls",xls_data);

这是修改后:

write_xls(abcd,abcd);

用处仅仅是将输入参数改成相同,而不用在第一个参数时手打   “string”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值