如何在matlab中将函数放在主文件中?

时间:2014-04-25 09:15:27

标签: matlab image-processing

我有一个小问题,我创建了缩放功能,NNi,bilenear用于显示图片:

zoom.m

function [out]= zoom(n,factor)
-----
---
----
end

NNI.m

function [out]= NNI(n,factor)
-----
---
----
end

Bilenear.m

function [out]= Bilenear(n,factor)
-----
---
----
end

我在尝试什么: 的main.m

function [out]= answer(n, factor)
clc
function [out]= zoom(n,factor)
function [out]= NNI(n,factor)
function [out]= Bilenear(n,factor)
end

我希望这个主要功能分别显示缩放图片,nni pic和bilenear

2 个答案:

答案 0 :(得分:2)

基于Schorsch的回答,因为你提到你希望你的主要功能显示这些图像,你可以尝试以下内容:

function [out] = compare_interpolations(n,factor)
clc
zoomed = zoom(n,factor);
nearest= NNI(n,factor);
bilinterp=Bilinear(n,factor);

figure;
subplot(1,3,1);imshow(zoomed);title('Zoomed');
subplot(1,3,2);imshow(nearest);title('Nearest Neighbor');
subplot(1,3,3);imshow(bilinterp);title('Bilinear');


end

答案 1 :(得分:1)

我不确定我理解您的问题,但您不能使用function命令调用函数 也许在main.m

中试试这个
function [out]= answer(n, factor)

clc
[out1]= zoom(n,factor)
[out2]= NNI(n,factor)
[out3]= Bilenear(n,factor)

out = NaN;

end

确保其他.m - 文件保存在同一目录或Matlab搜索路径中(Matlab必须找到这些功能)。
另外,请确保answer中的main.m实际上提供了返回参数out。我在此示例中将其设置为NaN,但您也可以从其他函数返回三个out

function [out1, out2, out3] = answer(n, factor)