第二次执行我的MATLAB®脚本节点时出现错误1050

更新 Jan 15, 2026

适用于

软件

  • LabVIEW
  • MATLAB

问题详述

我使用LabVIEW MATLAB脚本节点与MATLAB®软件进行交互时,我的代码第一次运行正常,但第二次运行时会失败,并出现错误1050。

Error occurred while executing script. Error message from server: ??? Subscripted assignment dimension mismatch.

要再次运行它,我必须清除所有变量(在MATLAB窗口中使用“clear all”命令),然后再运行VI。但我希望能够连续运行VI。 

解决方案

您正在将数组传递给MATLAB®节点,然后使用这些数组初始化输出向量。这些向量在脚本首次运行时会被初始化为特定长度。MATLAB会将这些定义存储在内部。第二次运行脚本并传递不同大小的数组会导致上图所示的“dimension mismatch”错误,因为新数组与之前初始化的向量不匹配。

这个问题可能有几种解决方案:

  • 每次都将相同大小的数组传递给MATLAB®脚本节点。
  • 在MATLAB代码中将数据存储在单元格数组的元素中而不是存储在向量中。
  • 手动初始化向量,使其长度足以容纳传递给它的最大数组。传递一个额外的参数来指定有效数据的大小。