2013-02-07 67 views
0

如何在matlab中创建类....请使用示例进行说明。在matlab中创建类或在matlab中转换c代码

我想创建一流的操作 在该类应该有3个功能 加,乘,减.... ,我想通过.m文件访问它

我张贴粗糙的C代码我想这在MATLAB进行

class operation 
{ 
    public: 

    function add(int a,int b) 
    { 
     return(a+b); 
    } 

    function minus(int a,int b) 
    { 
     return(a-b); 
    } 
} 

void main() 
{ 
    int a,b; 
    operaion o; 
    cout<<o.add(2,4)<<endl; 
    cout<<o.minus(3,5); 

    return 0; 


} 
+0

这不是摆在首位的有效C++ ... – SingerOfTheFall

+0

这只是一个粗略的代码 – user2010340

+0

及其有效AA – user2010340

回答

2

您可以在.m文件把这个作为你的类(如operation.m)

classdef operation 
    methods 
     function c = add(obj, a, b) 
      c = a + b; 
     end 
     function c = minus(obj, a, b) 
      c = a - b; 
     end 
     function c = multiply(obj, a, b) 
      c = a * b; 
     end 

     %.... add whatever other functions 

    end 
end 

然后你可以使用它作为这样的:

obj = operation; 
obj.add(1,2) 
obj.minus(1,2) 
obj.multiply(1,2) 

虽这么说,我会强烈建议您阅读THI MATLAB的文档因为它非常彻底。你可以从这里开始:http://www.mathworks.com/help/matlab/object-oriented-programming.html

+0

谢谢你解决了我的问题... – user2010340

0

下面有一个例子以文件的名称保持相同的函数名称你question.For简单连接的C代码用C

使三个文件,如下所示:

add.m

函数[结果] =添加(A,B)

结果= A + B;

minus.m

函数[结果] = DIFF(A,B)

结果= A-B;

的main.m

一个输入=( '输入一个号码:');

b = input('Enter第二个数字:');

add_res =添加(A,B)

diff_res = DIFF(A,B)

+0

我可以在一个文件中执行所有功能...因为我有20-25个功能...所以调用每个文件需要很多时间 – user2010340

+0

您可以使用matlab内联函数。但是,建议只有当函数内的逻辑量非常少时才应使用内联函数。有关内联函数的详细信息可以在这里找到:http://pundit.pratt.duke.edu/wiki/MATLAB:Inline_Function –

+1

你写的内容没有问题,但它不是明确提出的问题的答案在Matlab中创建类的指导。不,我不打算提供这个指导,这就是通常非常好的文档。 –