Have fun with sci.dog

MATLAB将变量转换为字符串

需要分析

今天在写代码的时候,生了了一个名为 core_tensity_ad 的变量,这个变量保存的是一个10G的图像数据,现在想要把这个数据写入文件,自然第一步,需要给定一个文件名,但又不想人为指定,感觉用变量名本身就是很好的文件名,即以
core_tensity_ad作为将保存文件的文件名,而文件名必须是字符串才行。由此,产生一个需求,将 core_tensity_ad 这个变量名转换为字符串。

探索过程

首先想到的是,MATLAB本身有很多数据类型转换的函数,如str2num函数,看看mathworks的工程师们有没有已经替我们写好了这个 var2str 函数,经过多方查询,并没有发现这个神奇的函数,看来,还得自己动手了!

随Google了下,发现MATLAB函数中提供了inputname这个命令,用于获取输入参数的名称,自然想到,简单构建一个 var2str 函数,里面使用inputname转换下就可以了。具体函数代码很简单,如下:

function varname = var2str(var)
varname = inputname(1);

函数应用

OK,把这个函数好好的添加到搜索路径,方便以后使用。使用的例子如下:
core_tensity_ad = uint8(rand(1000,1000)*255);
imwrite(core_tensity_ad,strcat(var2str(core_tensity_ad,’.tif’)));

运行后,生成了名称为’core_tensity_ad.tif’的图像文件,目标达成!

赞(0)
未经允许不得转载:SciDog » MATLAB将变量转换为字符串

评论 抢沙发