[英]Octave error: can't read a variable in .m file
我的工作目录中有一个“数据”文件“ lab1.m”。 这里是他们的内容。
数据:
0 1 2 3 4
2 0 9 2 7
5 6 3 4 7
lab1.m:
load data
function y = RSSI_to_dBm(x, z)
y = data(z, x);
end
但是,当我调用RSSI_to_dBm(2,2)时出现错误:
八度:30> RSSI_to_dBm(2,4)
错误:第3行第6列附近的“数据”未定义
错误:来自:
错误:第3行第4列的RSSI_to_dBm
我该如何解决? 以及如何将“数据”加载到变量名称(例如“ A”)中? 感谢您的回答。
我也有些困惑,但是我会调查一下:
“错误:“数据”在第3行第6列附近未定义”
因为您的数据数组中只有5列,但是错误是指第6列。
找到第6列,您可能会发现问题。 确保数据矩阵的尺寸与“ x”和“ z”参数所采用的尺寸匹配。 如果它们歪斜,可能会在MATLAB中引起问题。 我发现使用调试器监视矩阵的尺寸最容易。
希望能帮助您朝正确的方向发展。
问题在于data
被解释为变量名,但是没有名为data
变量。 通过将文件名放在引号中可以轻松解决该问题:
load "data";
您可能需要指定文件扩展名,然后可以按照通常的方式将结果分配给变量:
A = load "data.txt";
我已经尝试了一种解决方案:
load data
function z = RSSI_to_dBm(x, y, data)
z = data(x, y);
end
每次我调用它时,都会通过将“数据”传递给函数来工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.