У меня есть следующие 4 функции, которые я запрограммировал в MATLAB:
function [x] = Xvam(s,d,C,m,n)
function [H,ind] = getH(s,d,C,m,n,z)
возвращает массив H
длины ind
function [ xopt,xH ] = optiTRP( s,d,C,m,n)
function [Z] = VectCout( s,d,C,m,n,z)
Вызовы между функциями следующие:
function [ xopt,xH ] = optiTRP( s,d,C,m,n)
[x]=Xvam(s,d,C,m,n);
end
function [Z] = VectCout( s,d,C,m,n,z)
[ xopt,~ ] = optiTRP( s,d,C,m,n);
end
function [H,ind] = getH(s,d,C,m,n,z)
[ ~,xH] = optiTRP( s,d,C,m,n);
end
MOTP
- рекурсивная функция который я хочу реализовать, когда у меня будет H
, у меня будет ind
узлов, т.е. число узлов на каждом уровне дерева поиска равно ind
. В каждом узле я меняю вектор C. Это то, что должен делать MOTP: для каждого узла мы определяем H, затем обновляем C, затем вызываем [Z]=VectCout( s,d,C,m,n,z)
, затем обновляем SND=[SND;Z];
Я запрограммировал каждую функцию, но я не знаю, как написать общую рекурсивную функцию MOTP которые исследуют узлы дерева поиска, используя поиск в глубину.