MATLAB 中自定义函数的使用

MATLAB在文件内部(在函数内部)定义函数,但文件名以开头函数来命名,与Java中每个文件只能有一个公开类,但在文件内部还是可以定义其他非公开类一个道理。

无参函数 do.m

function do
    img = imread('demo.jpg');
    img = tgray(img);
    imshow(img);

    function res = tgray(src)
        res = rgb2gray(src);
    end
end

有参函数 ddf.m,对每个矩阵元素做阶乘并加上该元素作为最终值:n+n!.

function y = ddf(n)
% matlab function usage demo.
    y = n + factor(n);
  
    function s = factor(n0)
        [row, col] = size(n0);
        m = n0;
        for i = 1:row
            for j = 1:col
                temp = 1;
                for k = 1:m(i, j)
                    temp = temp * k;
                end
                m(i, j) = temp;
            end
        end
        s = m;
    end
        
end
原文地址:https://www.cnblogs.com/mjk961/p/7273234.html