Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Математические пакеты > Помогите по Matlab плиз!


Автор: AndyDanie 8.7.2013, 15:07
Хай! Помогите если сможете плиз! 
 
Имеется следующая функция: 
 

Код:
 
function res=OptimumPath2(CGN,GCC,GRL) 
 
% функция определения угла расположения периф. узла относительно центрального 
CI1=CourseIdentifier(CGN,GCC); 
 
% функция выдает массив цифр(порядковые номера) 
GOP=GetOptimumPath2(CGN,GRL,CI1(1)); 
     
% из порядковых номеров получаем массив координат(х,у) 
for i=1:length(GOP) 
    G{i}=GRL{GOP(i)}; 
end; 
 
res=G; 
 
end 
 

 
Задача состоит в том, чтобы повторять часть кода 
 

Код:
 
GOP=GetOptimumPath2(CGN,GRL,CI1(1)); 
     
% из порядковых номеров получаем массив координат(х,у) 
for i=1:length(GOP) 
    G{i}=GRL{GOP(i)}; 
end; 
 

 
до тех пор, пока значения G не станут isempty. Другими словами, GetOptimumPath2 дает нам до трех порядковых номеров, далее из них получается массив координат G, на основе этого массива нужно создать новый массив (пусть будет А), в котором будут сохраняться последующие значения G. Далее запихиваем массив G в GOP=GetOptimumPath2(G{i},GRL,CI1(1)), получаем порядковые номера, из них получаем координаты, добавляем их в массив А и продолжаем так до тех пор пока length(G)~=0. 
 
Если сможете помочь буду очень благодарен))

Автор: Guinness 9.7.2013, 07:27
В чем проблема? Алгоритм Вы описали, разбейте его на пункты ( 1-ый, 2-ой и т.д. ). Далее вместо пунктов подставьте оператор или последовательность операторов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)