ВУЗ:
Составители:
for k=1:nargout
varargout{k} = a{k, : }
end
a1={1 2; 3 4; 5 6; 7 8; 9 10; 11 12}
[p1 p2]=array2vec(a1)
[q1 q2 q3 q4 q5]=arra2vec(a1)
whos
pause
Файл-функция с переменным числом входных аргументов
function where = point(varargin)
% Файл-функция определяет попадание точки с заданными
% координатами (px, py) в круги с центрами
% в (x1,y1), (x2, y2) и т. д. и радиусами R1, R2 и т. д.
% Возвращает
% 1 в случае попадания
% 0 в случае непопадания
% Использование where = point(px,py,[x1,y1,R1],[x2,y2,R2],...)
% Проверка числа входных аргументов (числа
ячеек varargin)
if length(varargin) < 3
error('Недостаточно входных аргументов')
end
% Выделение координат точки из первых двух ячеек
Xpoint = varargin{1};
Ypoint = varargin{2};
% Нахождение числа заданных кругов
% (число ячеек varargin без первых двух)
Ncircle = length(varargin) - 2;
% Извлечение координат центров и радиусов кругов
for i = 1:Ncircle
Xcircle(i) = varargin{i+2}(1);
Ycircle(i) = varargin{i+2}(2);
Rcircle(i) = varargin{i+2}(3);
end
% Полагаем where=0, т. е. пока нет ни одного нужного круга
where = 0;
% Перебор кругов в цикле
for i = 1:Ncircle
% Вычисление расстояния от точки
до центра текущего круга
dist = sqrt((Xpoint-Xcircle(i))^2+(Ypoint-Ycircle(i))^2);
% Сравнение расстояния с радиусом круга
for k=1:nargout
varargout{k} = a{k, : }
end
a1={1 2; 3 4; 5 6; 7 8; 9 10; 11 12}
[p1 p2]=array2vec(a1)
[q1 q2 q3 q4 q5]=arra2vec(a1)
whos
pause
Файл-функция с переменным числом входных аргументов
function where = point(varargin)
% Файл-функция определяет попадание точки с заданными
% координатами (px, py) в круги с центрами
% в (x1,y1), (x2, y2) и т. д. и радиусами R1, R2 и т. д.
% Возвращает
% 1 в случае попадания
% 0 в случае непопадания
% Использование where = point(px,py,[x1,y1,R1],[x2,y2,R2],...)
% Проверка числа входных аргументов (числа ячеек varargin)
if length(varargin) < 3
error('Недостаточно входных аргументов')
end
% Выделение координат точки из первых двух ячеек
Xpoint = varargin{1};
Ypoint = varargin{2};
% Нахождение числа заданных кругов
% (число ячеек varargin без первых двух)
Ncircle = length(varargin) - 2;
% Извлечение координат центров и радиусов кругов
for i = 1:Ncircle
Xcircle(i) = varargin{i+2}(1);
Ycircle(i) = varargin{i+2}(2);
Rcircle(i) = varargin{i+2}(3);
end
% Полагаем where=0, т. е. пока нет ни одного нужного круга
where = 0;
% Перебор кругов в цикле
for i = 1:Ncircle
% Вычисление расстояния от точки до центра текущего круга
dist = sqrt((Xpoint-Xcircle(i))^2+(Ypoint-Ycircle(i))^2);
% Сравнение расстояния с радиусом круга
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »
