在Matlab中的脚本中创建结构时出现问题



我正试图将一个变量写入一个结构中,并从另一个现有结构中读取:

struct1.vector = struct2.matrix(:,1);

当我在脚本中运行这一行时,它将创建一个双变量struct1。这就是为什么我会得到错误:

无法执行赋值,因为此类型的变量不支持点索引。

当我在命令窗口中运行同一行时,它会按照我的意愿创建一个结构变量struct1。还有多行,我试图在其中写入struct1,有时前4行有效,第5行无效。我不明白剧本为什么要造替身,有人能帮我吗?

非常感谢您的帮助,谢谢。

这可能意味着您的工作区中已经有一个名为struct1的变量,要么是以前某个活动遗留下来的,要么是在脚本的早期分配的。

在运行脚本之前,您可以通过调用clear来确保您有一个新的工作区。更好的是,将脚本变成一个函数,它将有自己的工作空间。

您还可以用一个新的空结构替换整个struct1变量,以确保它的类型正确,然后再分配给它的字段。

struct1 = struct;
struct1.vector = struct2.matrix(:,1);

相关内容

  • 没有找到相关文章

最新更新