Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Программирование в MATLAB



Язык программирования MATLAB является типичным интерпретатором. Это означает, что каждая инструкция программы распознается и тут же исполняется, что облегчает обеспечение диалогового режима общения с системой. Этап компиляции всех инструкций, т. е. полной программы, отсутствует. Интерпретация означает, что MATLAB не создает исполняемых конечных программ. Они существуют лишь в виде m-файлов. Для выполнения программ необходима среда MATLAB.

 

 

Управляющие структуры языка MATLAB

Поскольку язык программирования системы MATLAB ориентирован на структурное программирование, в нем нет номеров строк и программных операторов безусловного перехода GO TO. Имеются лишь управляющие структуры следующих типов: условных выражений if... else...elseif...end, циклы for...end и while...end.

С позиций теории структурного программирования этих средств достаточно для решения любых задач. В MATLAB имеются также операторы-переключатели типа case.

 

Для создания программ необходимы специальные управляющие структуры

 

 

Функции ввода-вывода

Для ввода пользователем значений переменных служит функция input. При использовании

данной функции в следующем виде:

 

d=input(’Введите значение переменной d=’);

 

переменной d присваивается значение, введенное пользователем после запроса ’введите значение переменной’.

При выполнении этой функции она останавливает вычисления и ожидает ввода значения.

 

Для вывода на экран текста и значений переменных служит функция disp:

 

disp(’pi=’); disp(pi)

 

Условный оператор

Условный оператор if в общем виде записывается следующим образом:

 

if Условие,

Инструкции_1,

elseif Условие,

Инструкции_2,

else

Инструкции_3,

end

 

 

Эта конструкция допускает несколько частных вариантов. Простейший:

 

if Условие

Инструкции

end

 

Пока Условие возвращает логическое значение 1 (то есть "истина"), выполняются Инструкции, составляющие тело структуры if...end. При этом оператор end указывает на конец перечня инструкций. Инструкции в списке разделяются оператором , (запятая) или ; (точка с запятой). Если Условие не выполняется (дает логическое значение 0, "ложь"), то Инструкции также не выполняются.

 

Еще одна конструкция

 

if Условие,

Инструкции_1,

else

Инструкции_2,

end

 

выполняет Инструкции_1, если выполняется Условие, или Инструкции_2 в противном случае.

 

Условия записываются в виде:

Выражение_1 Оператор_отношения Выражение_2,

 

причем в качестве Операторов_отношения используются следующие операторы: ==, <, >, <=, >= или ~=. Все эти операторы представляют собой пары символов без пробелов между ними.

 

Задание 1: Создайте m-файл и проверьте работоспособность программы: вычисление корней квадратного уравнения.

 

% Решение квадратного уравнения

a=input(’Input coefficient a=’);

b=input(’Input coefficient b=’);

c=input(’Input coefficient c=’);

% Вычисление дискриминанта

d= b^2-4*a*c;

if d>0

disp(’Корни вещественны’)

disp(’x1=’), disp((-b+sqrt(d))/(2*a))

disp(’x2=’), disp((-b-sqrt(d))/(2*a))

elseif d==0

disp(’Кратные корни’)

disp(’x1=x2=’), disp(-b/(2*a))

else

disp(’Корни комплексные’)

disp(’x1=’), disp((-b+sqrt(d))/(2*a))

disp(’x2=’), disp((-b-sqrt(d))/(2*a))

end

%Конец программы

 

 

Циклы типа for...end

Циклы типа for...end обычно используются для организации вычислений с заданным числом повторяющихся циклов. Конструкция такого цикла имеет следующий вид:

 

for vаr=Выражение,

Инструкция,

...,

Инструкция,

end

 

Выражение чаще всего записывается в виде s:d:e, где s - начальное значение переменной цикла var, d - приращение этой переменной и е - конечное значение управляющей переменной, при достижении которого цикл завершается. Возможна и запись в виде s:е (в этом случае d=1).

Список выполняемых в цикле инструкций завершается оператором end. Возможно создание вложенных циклов.

 

Задание 2: Создайте m-файл-функцию и проверьте работоспособность программы: вычисление факториала (m-файл должен иметь имя factorial.m).

 

function v=factorial(n)

% Факториал

if n==0

v=1;

else

v=1;

for i=1:n,

v= v*i;

end,

end

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.