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