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