0

我正在尝试从 Matlab 工作区中保存一个名为“Sum”的结构。struct(1x1) 在函数内部创建。我写了一个小脚本:

    SumCheck = exist('Sum')
    if SumCheck == 1;
        save('SummaryTest','Sum')
    end

这个工作是我在工作区中运行它 - 文件“SummaryTest”是在工作目录中创建的。当我尝试在我的 GUI 脚本中运行它时,结构 'Sum' 出现在工作区中,但测试文件从未被保存出来,我也没有收到任何错误消息.... 有没有人知道如何将这个结构保存为一份文件?提前感谢您的任何建议。

4

2 回答 2

2

你可能需要使用 evalin()

您的 GUI 正在执行的回调在其范围内没有变量,但听起来您要么在基础工作区中显式创建了 SummaryTest 结构,要么可能在 GUI 之外手动创建了它。

evalin() 允许您指定执行“eval”的位置...例如,您可以

evalin('base', 'save(''SummaryTest'', ''Sum''')

我的语法有点生疏,所以看看 evalin 的文档。note 'base' 指的是基础工作区

高温高压

于 2013-07-24T11:37:38.840 回答
1

在 GUI 中运行时,代码可能会Sum在 GUI 回调函数工作区而不是基础工作区中进行检查。因为它找不到它(Sum在基础工作区中),所以SumCheck命令不会被执行。falsesave

于 2013-07-24T11:33:58.460 回答