2014-11-05 178 views
0

試圖在MATLAB中創建我的第一個類,但顯然我錯過了一些東西。創建一個類的實例

所以這裏是我的課下面。

classdef MyBank 

    properties 
    Balance; 
    CustName; 
    end 

    methods 
    function BA = MyBank() 
     BA.Balance = 0; 
     BA.CustName = 'Mr Blogs' 
    end 
    end 
end 

在相同的路徑中我有一個m文件。在這個文件中我嘗試從我的類創建一個對象,像這樣,

bank = MyBank; 

我得到錯誤信息「未定義功能或variabel‘MyBank’?不知道我錯過了什麼,因爲我看到的例子似乎也做了同樣的事情?

此外,當我在我的構造函數中鍵入BA應該有任何intellisense?在Matlab中找到它非常痛苦的編碼。

+1

你在命令行嘗試「哪個MyBank」?也許包含.m文件的文件夾不在Matlab路徑中 – Jonas 2014-11-05 10:17:24

+1

@mHelpMe:這可能是您的一個'路徑'問題,MATLAB沒什麼問題:) – Amro 2014-11-05 18:25:18

+0

嗨&遺憾的是延遲迴復。當我輸入哪個MyBank時,我會得到如下答案,'H:\ Shared \ MyTeam \ Me \ Matlab \ Class_Test \ MyBank.m%MyBank構造函數'我希望這樣看嗎? – mHelpMe 2014-11-06 07:46:44

回答

0

Matlab不理解"

您shuold BA.CustName = 'Mr Blogs'

您是否使用Matlab或倍頻使用? Octave理解",但上次我檢查classdef不起作用。

要找到具有「智能感知」的構造函數,您應該鍵入「我的」,然後按Tab鍵。至少對我來說這是有效的。

如果這不起作用,請檢查您的文件是否名爲MyBank.m,並仔細檢查它是否在您當前的工作文件夾中。在你的edior窗口中打開文件並按F5鍵執行它。然後彈出一個對話框,如果你在另一個工作目錄中。

+0

道歉在我的代碼中,我確實有'Mr Blog'而不是'Mr Blogs'。我正在使用Matlab,從未使用過八度。文件名是正確的,它與我的m文件在同一文件夾中 – mHelpMe 2014-11-05 09:20:45

+0

然後它必須工作。你可以在matlab控制檯中輸入'dir'並粘貼輸出。你使用的是什麼Matlab版本?你能否也請輸入'version'並粘貼輸出? – Steffen 2014-11-05 09:24:57

+0

dir 。 .. MyBank.m main_bank.m – mHelpMe 2014-11-05 09:35:59