簡體   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