繁体   English   中英

八度错误:无法读取.m文件中的变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM