【发布时间】:2021-12-28 22:43:15
【问题描述】:
我的所有变量都在我的主脚本中声明,如下所示:
DataArray.a = 1;
DataArray.b = 2;
DataArray.c = 3;
d = 4;
e = 5;
f = 6;
DataArray = test1_2 (DataArray);
disp(DataArray);
主脚本也适用于某些功能。 这些函数的输入是主脚本中声明的数据数组:
function DataArray = test1_2 (d, e, f, DataArray )
g = DataArray.a;
h = DataArray.b;
DataArray.result = d * g;
endfunction
当我运行主脚本时出现以下错误:
错误:“'DataArray' 在第 28 行第 5 列附近未定义”
错误:从第 28 行第 3 列的 test1_2 调用
第 28 行是以下行:g = DataArray.a
如果我输入例如 DataArray.a,octave 知道它已声明并给出“1”。
如何在我的主脚本和函数中使用相同的数据数组?
【问题讨论】:
-
“没有将数据传递给函数”是什么意思?我添加了我的函数的代码..
-
1) 函数
test1_2被定义为有 4 个输入参数,但您只用一个输入调用它。 2) 输入参数e和f没有在函数的任何地方使用,这使得它们无用。 3) 变量h没有任何作用,因为它没有被进一步使用,也没有作为输出被取出。 4) 错误信息提示test1_2中至少有28 行。您没有显示那么多行,我们无法猜测您的代码并找到其中的问题。 5) 帮助我们创建minimal reproducible example -
这就是所有的程序代码,上面从第 1 行到第 25 行只有一些描述行。我知道有一些变量没有使用,但这只是解释我的问题的快速尝试..我会为你纠正它
-
使用您对示例所做的最新更改,没有错误。这是否意味着您已经自己解决了问题,或者您仍然有同样的问题?
标签: octave