gpt4 book ai didi

matlab - 从函数中清除基本工作区变量

转载 作者:太空宇宙 更新时间:2023-11-03 20:19:17 27 4
gpt4 key购买 nike

使用以下代码,我已将变量添加到基础工作区中:

function data_startup()
bdclose all;
data=load(fullfile('B', 'C', 'data.mat'));
file_variables=fieldnames(data);% get the field names as cell array
for ii=1:length(file_variables)
assignin('base', file_variables{ii}, data.(file_variables{ii}));
end

现在,我想从基础工作区中清除变量,我试过了:

evalin('base','clear file_variables');

但这行不通:(

最佳答案

您正在尝试清除名称为 file_variables 的变量,它可能不存在。你想要的是:

evalin('base',['clear' sprintf(' %s',file_variables{:})]);

如果您想了解发生了什么:在您的函数中运行并调试这一行,然后检查结果

['clear' sprintf(' %s',file_variables{:})]

这将是 evalin 运行的命令。

更多信息:

[a b c]abc中的字符串连接起来,因为字符串本身是1xN 数组。
{:} 以逗号分隔的列表形式返回元胞数组,然后将其输入到 sprintf,有关此的更多信息 here .

关于matlab - 从函数中清除基本工作区变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13310449/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com