Переключатель
Для осуществления множественного выбора (или ветвления) используется конструкция с переключателем:
Matlab | Scilab |
switch switch_Bыражение case _Bыражение Список_ инструкций case { case_Bыражение1, case_Bыражение2,… } Список_ инструкций otherwise, Список_ инструкций end | select expr0, case expr1 then instructions1, case expr2 then instructions2, ... case exprn then instructionsn, [else instructions], end |
Выполняется первый оператор case, у которого case_Bыражение соответствует switch_Bыражению. Если ни одно из case_Bыражений не соответствует switch_Bыражению, то выполняется список инструкций после оператора otherwise (если он существует). Выполняется только один case, после чего выполнение продолжается с оператора после end.
Пример Matlab
Пусть существует m-файл-сценарий swit.m:
switch month
case {1,2,3}
disp('Первый квартал')
case {4,5,6} disp('Второй квартал')
case{7,8,9} disp('Третий квартал')
case{10,11,12} disp('Четвертый квартал')
otherwise,
disp('Ошибка в данных')
end
Эта программа в ответ на значения переменной month (номер месяца) определяет номер квартала и выводит сообщение. Как это происходит, видно из следующей программы:
month=3;
swit
Первый квартал
month=10;
swit
Четвертый квартал
month=13;
swit
Ошибка в данных
Пример Scilab
while %t do
n=round(10*rand(1,1))
select n
case 0 then
disp(0)
case 1 then
disp(1)
else
break
end
end
n =
2.
-
Содержание
- Краткие сведения о средах моделирования Matlab и Scilab
- Работа в Matlab и Scilab
- Элементы программирования на языках Matlab и Scilab
- Операция присваивания
- Константы
- Арифметические операции. Функции
- Операторы отношения и их функции
- Логические операторы
- Создание и использование массивов
- Определитель матрицы
- Обращение матриц — функции inv, pinv
- Определение размерности матриц
- Построение графиков функций в Matlab и Scilab Построение графиков
- Изображение сетки в графической области
- Создание m-файлов-функций в Matlab
- Редактирование и отладка файлов-сценариев Scilab
- Структура функций Scilab
- Управляющие структуры языка программирования Matlab и Scilab
- Диалоговый ввод-вывод
- Циклы типа for-end
- Циклы типа while_end
- Условный оператор if-elseif-else-end
- Переключатель
- Решение обыкновенных дифференциальных уравнений
- Решение дифференциальных уравнений
- Решение обыкновенных дифференциальных уравнений в среде Scilab