2014-11-05 150 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