- •Назначение Matlab
- •Интерфейс Matlab Структура окна рабочей среды ml
- •Основные команды главного меню ml
- •Работа с файлами
- •Редактирование файла
- •Рабочая область Workspace
- •История команд Command History
- •Вычисления в ml Особенности ввода команд и данных
- •Элементы данных в ml
- •Форматы представления результатов вычислений
- •Переменные в ml
- •Задание векторов и матриц
- •Задание матриц
- •Операции в ml
- •Арифметические операции (ао)
- •Операции отношения
- •Логические операции
- •Приоритет операций в ml
- •Элементарные функции
- •Тригонометрические функции
- •Некоторые часто используемые математические функции:
- •Особые матрицы
- •Операции с векторами и матрицами.
- •Выполнение операций с векторами
- •Выполнение операций над матрицами
- •Специальные функции для матриц
- •Действия с элементами матрицы
- •Функции, используемые для работы с векторами и матрицами
- •Действия с полиномами (многочленами)
- •Построение простейших графиков
- •Вывод нескольких графиков в одном окне.
- •Диаграммы
- •Круговые диаграммы.
- •Построение графиков в полярных координатах.
- •Трехмерная графика.
- •Пример построения сферы.
- •Программирование в ml
- •Операторы языка
- •Операторы ввода/вывода
- •Операторы цикла и условные операторы.
- •Оператор цикла с параметром
- •Оператор цикла с предусловием
- •Условный оператор
- •Оператор переключения (выбора)
- •Встроенные функции для работы с символьными данными Функция eval
- •Функция menu.
- •Создание и использование m-файлов
- •Script-файлы
- •Файлы-функции
- •Использование файлов- функций.
- •Вычисление интеграла.
- •Решение трансцендентных уравнений.
- •Решение систем дифференциальных уравнений.
Оператор цикла с предусловием
Данный оператор позволяет запрограммировать цикл, в котором количество повторений зависит от выполнения некоторого условия.
while <условие продолжения цикла>
<операторы>
end
Сформируем вектор нечетных чисел:
>> i=1;
>> while i<=5
x(i)=2*i-1;
i=i+1;
end;
x =
1 3 5 7 9
Как видим, такой способ получения последовательности нечетных чисел тоже возможен, но он также является неэффективным, т. е. медленным.
Найти наибольшее число, факториал которого< 150.
>>echo on
%нахождение наибольшего числа, факториал, которого меньше 150
>>i=0;
f=1;
while f<150
i=i+1;
f=f*i;
end
disp(i-1)
на экране получим:
5
или можно воспользоваться встроенной функцией:
>> i=1;
while prod(1:i)<150
i=i+1;
end;
disp(i-1)
на экране получим:
5
Условный оператор
Условный оператор позволяет организовать ветвления в программе и имеет следующую синтаксическую конструкцию:
if (<логическое выражение1>)
<операторы>
[elseif (<логическое выражение2>)
<операторы>
elseif (<логическое выражение3>)
<операторы>
…]
[else
<операторы>]
end
В этой конструкции может быть произвольное количество вложений ветвей elseif или их может не быть вовсе.
Пусть необходимо по введенной с клавиатуры температуре воздуха охарактеризовать погоду. Введем следующий текст:
>> t=input('введи температуру')
if (t<0)
s='мороз'
elseif and(t>0,t<=10)
s='холодно'
elseif and(t>10,t<=20)
s='тепло'
else
s='жарко'
end
В результате выполнения этих команд получим на экране:
введи температуру (например, ввели -4) -4
t =
-4
s =
мороз
Логическое выражение может быть записано и в такой форме:
(t>0)&(t<=10)
Оператор переключения (выбора)
Если необходимо сделать множественный выбор, можно воспользоваться оператором переключения, синтаксическая конструкция которого приведена ниже.
Switch <ключевое выражение>
Case { <список значений1}
<операторы>
Case {<список значений2>}
<операторы>
[Otherwise
<операторы>]
End
Сначала вычисляется значение ключевого выражения. Затем это значение ищется в списках значений. Если совпадение найдено, то выполняются операторы соответствующего блока, в противном случае выполняются операторы, стоящие после ключевого слова otherwise.
Пусть необходимо по введенному с клавиатуры номеру месяца вывести название времени года. Ниже приведены команды, позволяющие выполнить эту задачу.
>>n=input('введи номер месяца :')
switch n
case {1,2,12}
disp('зима')
case {3,4,5}
disp('весна')
case {6,7,8}
disp('лето')
case {9,10,11}
disp('осень')
otherwise
disp('ошибка')
end
На экране получим:
введи номер месяца : 11
n =
11
осень
Встроенные функции для работы с символьными данными Функция eval
В ML имеется возможность сформировать требуемую команду в виде строки символов, а затем выполнить ее, как обычную команду, набранную в командном окне. Для этого предназначена встроенная функция eval.
Метод задания команд в виде текстовых строк и их выполнения с помощью этой функции, используется при написании m-файлов, т. к. такой метод позволяет реализовывать более эффективные алгоритмы решения задач.
еval (<текст>) – предназначена для выполнения команды, заданной текстом, как команды ML.
Например, eval (‘2*2+3’) выводит на экран 7. ML. Аргументом функции может быть также строковая переменная.
Команда eval (‘<имя скрипт-файла>’) выведет на экран результат выполнения операторов, находящихся в файле с соответствующим именем.