matlab - 在 Matlab 中的脚本中创建结构时出现问题
问题描述
我正在尝试将变量写入结构并从另一个现有结构中读取它:
struct1.vector = struct2.matrix(:,1);
当我在脚本中运行这一行时,它将创建一个双变量 struct1。这就是为什么我会收到错误:
无法执行赋值,因为这种类型的变量不支持点索引。
当我在命令行窗口中运行同一行时,它将按照我的意愿创建一个结构变量 struct1。还有多行,我尝试写入 struct1 ,有时前 4 行有效,而第 5 行无效。我不明白为什么脚本会创建一个替身,有人可以帮我吗?
非常感谢您的帮助,谢谢。
解决方案
这可能意味着您已经struct1
在工作区中命名了一个变量,或者是以前的活动遗留下来的,或者是在脚本之前分配的。
clear
您可以通过在运行脚本之前调用来确保您有一个新的工作区。更好的是,把你的脚本变成一个函数,它会有自己的工作区。
您还可以用新的空结构替换整个struct1
变量,以确保它的类型正确,然后再分配给它的字段。
struct1 = struct;
struct1.vector = struct2.matrix(:,1);
推荐阅读
- python - 避免遍历 Pandas 中的每一行以进行自定义聚合
- database - 如何在雪花数据库中列出所有用户的角色?
- rabbitmq - Rebus 与 RabbitMQ 接受来自 Python 的请求
- powershell - 获取注册表子项的所有权并通过系统帐户将其删除
- java - Recyclerview 适配器不刷新
- python - os.path 在多个文件导入中使用 Pyinstaller 指向不正确的位置
- bash - 如何解决 Android Studio 问题?
- azure - Hashicorp Terraform - 在 Azure Key Vault 中存储 Azure 存储帐户访问密钥
- c# - C# DLL 注入 - 运行应用程序的调用方法
- excel - 通过使用excel VBA仅引用一个数字来自动填充日期