按字符串名称从Workspace中删除变量

时间:2017-05-09 05:59:51

标签: matlab variables

假设我的工作区中有一个变量var1,并且该变量的名称包含该变量,例如:

a = 
    Name: 'var1'
      a1: 1

我想使用struct中的字段从我的工作区中删除变量var1

我知道我可以var1clear var1

清除clear 'var1'

由于clear a.Name不起作用,我使用了eval函数,但我无法使用它。

任何想法都表示赞赏!

1 个答案:

答案 0 :(得分:2)

使用function form作为命令格式调用clear"始终将输入作为文字文本传递,并且无法传递变量值"。

>> var1 = 2;
>> a.Name = 'var1';
>> whos()
  Name      Size            Bytes  Class     Attributes

  a         1x1               184  struct              
  var1      1x1                 8  double              

>> clear(a.Name);
>> whos()
  Name      Size            Bytes  Class     Attributes

  a         1x1               184  struct