为任何MATLAB变量生成.m文件代码

为任何MATLAB变量生成.m脚本代码。如果运行,代码将重新创建输入变量。

3.5 k下载

更新23六月2009

查看许可协议

你有没有试过检查和修改深嵌套的struct/cell变量?当然,MATLABs变量编辑器将有助于可视化这些变量。但是,如果要自动创建这样一个变量,或者常规地更改一些嵌套很深的字段,这个提交可能会有用。
主要函数是GENCODE。这个函数递归遍历输入变量。如果输入变量的当前部分的值可以表示为MATLAB赋值的右边,递归就会停止(通常,这是二维矩阵、字符或单元格数组的情况)。在本例中,调用GENCODE_RVALUE来创建赋值右边的代码,调用GENCODE_SUBSTRUCT来创建对输入变量的正确引用。

一个非常简单的例子:
% struct变量有两个字段'a'和'b'
X.a = 1;
X.b = 'somestring';
%为它生成代码
STR = gencode(x);
%显示此代码
char (str)
%清除原始变量
清晰的x
%通过计算代码重新创建它
eval (sprintf (' % s ', str {:}))

hgsave_pre2008a.m.提供了一个更现实的例子。在MATLAB 2008a中,GUIDE将%自动uicontrol回调保存为匿名函数句柄。不幸的是,MATLAB R14SP3在加载.fig/时崩溃。包含某些匿名函数的Mat文件。一个可能的解决办法是
1.在MATLAB 2008a中打开。fig文件
2.为它生成代码
3.在MATLAB R14SP3中运行生成的代码
4.将结果变量保存在一个新的.fig文件中

引用作为

Volkmar Glauche(2023)。为任何MATLAB变量生成.m文件代码(//www.tianjin-qmedu.com/matlabcentral/fileexchange/24447-generate-m-file-code-for-any-matlab-variable), MATLAB中央文件交换。检索

MATLAB版本兼容性
使用R14SP3创建
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

例子/ html /

版本 发表 发布说明
1.1.0.0

修复了稀疏矩阵创建的错误。
更新文档。

1.0.0.0