Решение задач оптимального управления с использованием математической системы MATLAB и пакета имитационного моделирования SIMULINK. Сивохин А.В - 28 стр.

UptoLike

if dist <= Rcircle(i)
where = 1; % Требуемый круг найден
break % Дальше проверять нет смысла
end
end
%
% Операторы для проверки входных аргументов файл-функции point
%
if ~isnumeric(varargin{1}) | ~isreal(varargin{1}) |...
max(size(varargin{1}) ~= 1)
error('Аргумент N1 должен быть вещественным числом')
end
if ~isnumeric(varargin{2}) | ~isreal(varargin{2}) |...
max(size(varargin{2}) ~= 1)
error('Аргумент N2 должен быть вещественным числом')
end
for i = 3:length(varargin)
if ~isnumeric(varargin{i}) | ~isreal(varargin{i}) |...
min(size(varargin{i})) ~= 1 | length(varargin{i}) ~=3 |...
varargin{i}(3) < 0
str1 = 'Аргумент N';
str2 = num2str(i);
str3 = ' долж. быть вещ. вектором длиной 3 с третьим эл-том >= 0';
strerror = strcat(str1, str2, str3);
error(strerror)
end
end
%
% Операторы вывода в командное
окно для файл-функции point
%
% Отображение данных в графическое окно
figure; % Создание окна
% Построение окружностей
t = [0:pi/20:2*pi]; % задание вектора параметра
for i = 1:Ncircle
% Вычисление векторов, соответствующих параметрически
% заданным функциям, которые определяют окружности
x = Rcircle(i)*cos(t) + Xcircle(i);
y = Rcircle(i)*sin(t) + Ycircle(i);
  if dist <= Rcircle(i)
    where = 1; % Требуемый круг найден
    break     % Дальше проверять нет смысла
  end
end


%
% Операторы для проверки входных аргументов файл-функции point
%

if ~isnumeric(varargin{1}) | ~isreal(varargin{1}) |...
      max(size(varargin{1}) ~= 1)
   error('Аргумент N1 должен быть вещественным числом')
end
if ~isnumeric(varargin{2}) | ~isreal(varargin{2}) |...
      max(size(varargin{2}) ~= 1)
   error('Аргумент N2 должен быть вещественным числом')
end
for i = 3:length(varargin)
   if ~isnumeric(varargin{i}) | ~isreal(varargin{i}) |...
        min(size(varargin{i})) ~= 1 | length(varargin{i}) ~=3 |...
        varargin{i}(3) < 0
      str1 = 'Аргумент N';
      str2 = num2str(i);
      str3 = ' долж. быть вещ. вектором длиной 3 с третьим эл-том >= 0';
      strerror = strcat(str1, str2, str3);
      error(strerror)
   end
end


%
% Операторы вывода в командное окно для файл-функции point
%

% Отображение данных в графическое окно
figure; % Создание окна
% Построение окружностей
t = [0:pi/20:2*pi]; % задание вектора параметра
for i = 1:Ncircle
  % Вычисление векторов, соответствующих параметрически
  % заданным функциям, которые определяют окружности
  x = Rcircle(i)*cos(t) + Xcircle(i);
  y = Rcircle(i)*sin(t) + Ycircle(i);