MATLAB巢狀函式練習

心繫五道口發表於2020-11-30

巢狀函式:把一個或多個子函式放在同一個主函式的函式體內部而構成的函式稱為巢狀函式,一般形式如下:

1.單層巢狀

%一嵌一
function x = A(p1,p2)
...
    function y = B(p3)
    ...
    end
...
end
%一嵌多
function x = A(p1,p2)
...
    function y = B(p3)
    ...
    end
    function z = C(p4)
        ...
    end
...
end

2.多層巢狀

%多層巢狀
function x = A(p1,p2)
...
    function y = B(p3)
    ...
        function z = C(p4)
        ...
        end
    end
...
end

例題:通過巢狀函式的方式編寫函式y=\sqrt{(x+1)^2+e^x}-1

function y =mainfun(x)
%通過巢狀函式的方式寫函式
y = subfun1(x) + subfun2(x);
%子函式1
    function y1 = subfun1(x1)
       y1 = (x1 + 1)^2;
    end
    %子函式2
    function y2 = subfun2(x2)
       y2= exp(x2);
    end
y = subfun3(y);
end
%子函式3
function y = subfun3(x)
y = sqrt(x) - 1;
end

驗證:

 

相關文章