在MATLAB文件的节中定义函数

时间:2014-02-20 20:51:58

标签: matlab

有没有办法在您可以从命令窗口调用的MATLAB文件的部分内定义函数?我想在一个.m文件中定义三个函数(每个函数都在它自己的部分中),但我看不出我将如何调用它们。

3 个答案:

答案 0 :(得分:0)

你可以做一件事。创建文件夹myFuncitions并在文件夹名称前添加加号,如“+ myFunctions”,并将所有函数.m文件移动到该文件夹​​中。您可以访问函数:myFunction.Func1(),muFunctions.Func2()等等......

答案 1 :(得分:0)

使用课程是最好的选择。在课堂上,您可以定义多个方法(即函数),并独立于它们的顺序调用它们。

例如:

classdef Cat < handle
    properties
        meowCount = 0; 
    end

    methods 

        function obj = Cat()
            % all initializations, calls to base class, etc. here,
        end

        function Meow1(obj)
            disp('meowww'); 
            obj.meowCount = obj.meowCount + 1;
        end

        function Meow2(obj)
            disp('meowww meowww'); 
            obj.meowCount = obj.meowCount + 2;
        end
    end    
end

示范:

>> C = Cat;
>> C.Meow1; 
meowww
>> C.meowCount
1
>> C.Meow2
meowww meowww
>> C.meowCount
3

答案 2 :(得分:0)

Is it possible to define more than one function per file in MATLAB, and access them from outside that file?给出了一个很好的答案。实现它的示例代码是

function fHandle=temp(fnum)

switch fnum
  case 1, fHandle=@func1;
  case 2, fHandle=@func2;
  case 3, fHandle=@func3;
end
end

function y=func1(x)
y=x+1;
end

function y=func2(x)
y=x+2;
end

function y=func3(x)
y=x+3;
end

从命令行输入

  
    

F1 =温度(1); F2 =温度(2); F3 =温度(3);

  

然后     [f1(1)f2(1)f3(1)]

给出

ans =      2 3 4