- •Программное обеспечение управления качеством и базы и банки данных matlab
- •Matlab в роли суперкалькулятора
- •Основные арифметичесике операторы
- •Специальные символы
- •Начальное значение:шаг:конечное значение
- •Форматы чисел
- •Перестановки элементов матриц
- •Cуммирование элементов
- •Решение систем линейных уравнений
- •Численное интегрирование
- •Объединение массивов
- •Нахождение средних, срединных значений массива и стандартных отклонний
- •Вычисление коэффициентов корреляции
- •Вычисление матрицы ковариации
- •Основы программирования
- •Условный оператор
- •Циклы типа for…end
- •Графики в логарифмическом и полулогарифмическом масштабе
- •Столбцовые диаграммы
- •Построение гистограммы
- •Графики с зонами погрешностей
- •Графики в полярной системе координат
- •Контурные графики
- •Создание массивов данных для трехмерной графики
- •Сетчатые 3d-графики с окраской и с проекциями
- •Построение поверхности с окраской и проекциями
- •Построение освещенной поверхности
- •Трехмерные контурные графики
- •Ввод текста в любое место графика
- •Вывод пояснений
- •Управление свойствами осей графиков
Условный оператор
Условный оператор if в общем виде записывается следующим образом:
if Условие
Инструкции_!
elseif Условие
Инструкции_2
else
Инструкции_3
еnd
Эта конструкция допускает несколько частных вариантов.
В простейшей конструкции типа if…end
if Условие Инструкции end
пока Условие возвращает логическое значение 1 (то есть «истина»), выполняются Инструкции, составляющие тело структуры if…end. При этом оператор end указывает на конец перечня инс-трукций. Инструкции в списке разделяются оператором , (запятая) или ; (точка с запятой). Если Условие не выполняется (дает логическое значение 0, «ложь»), то Инструкции также не выпол-няются.
Еще одна конструкция
if Условие Инструкции_1 else Инструкции_2 end
выполняет Инструкции_1, если выполняется Условие, или Инструкции_2 в противном случае.
Условия записываются в виде
Выражение_1 Оператор отношения Выражение_2
причем в качестве Операторов отношения используют следующие операторы: =, <, >, <=, >= или ~=. Все эти операторы представляют собой пары символов без пробелов между ними.
Циклы типа for…end
Циклы типа for…end обычно используются для организации вычислений с заданным числом повторяющихся циклов. Конструкция такого цикла имеет следующий вид:
for var=Выражение, Инструкция, ... Инструкция еnd
Выражение чаще всего записывается в виде s:d:e, где s – начальное значение переменной var, d – приращение этой переменной и е – конечное значение управляющей переменной, при достижении которого цикл завершается. Возможна и запись в виде s:e (в этом случае d=1). Спи-сок выполняемых в цикле инструкций завершаеся оператором end.
Следующие примеры поясняют применение цикла для получения квадратов значений переменной цикла:
>>for i=1:5 i^2, end;
ans =
1
ans =
4
ans =
9
ans =
16
ans =
25
>>for x=0:.25:1 x^2, end;
ans =
0
ans =
0.0625
ans =
0.2500
ans =
0.5625
ans =
1
Возможны вложенные циклы, например:
for i=1:3
for j=1:3
A(i,j)=i+j;
end
end
В результате выполнения этого цикла (файл tbilisi.m) формируется матрица А
>>tbilisi
>>A
A =
2 3 4
3 4 5
4 5 6
MATLAB допускает использование в качестве переменной цикла массива А размером mxn. При этом цикл выполняется столько раз,, сколько столбцов в массиве А, и на каждом шаге переменная var представляет собой вектор, соответствующий текущему столбцу массива А:
>> A=[1 2 3; 4 5 6]
A =
1 2 3
4 5 6
>> for var=A; var, end
var =
1
4
var =
2
5
var =
3
6
Циклы типа while…end
Цикл while выполняется до тех пор, пока выполняется Условие
while Условие
Инструкции
еnd
Пример применения цикла while ранее уже приводился. Досрочное завершение цикла ре-ализуется с помощью оператора break.
л а б о р а т о р н а я р а б о т а № 9
Напишите программу для вычисления площади круга с использованием цикла while.
Эту же программу напишите с использованием цикла for для четырех обращений.
Вычислите кубы для значений переменной k, изменяющейся от 4 до 10 с шагом 1.
При помощи конструкций цикла for сформируйте матрицу М размером 4х4.
Создайте m-файл student.
В этом файле сформируйте матрицу N размером 3х5 при помощи конструкций цикла for
Элемент, расположенный на пересечении второй строки и третьего столбца в цикле меняйте на значения 1...5.
Для полученных таким образом образом пяти новых матриц определите сумму каждого столбца.
Для этих же матриц определите сумму всех элементов.
Определите среднее значение всех столбцов всех пяти матриц.
Л е к ц и я № 19, 20
Графика MATLAВ.
Двухмерные графики
Одно из достоинств системы MATLAB – обилие средств графики, начиная от команд пос-троений простых графиков функций одной переменной в декартовой системе координат и закан-чивая комбинированными и презентационными графиками с элементами анимации. Особое вни-мание в системе уделено трехмерной графике с функциональной окраской отображаемых фигур и имитацией различных световых эффектов.
Построение графиков отрезками прямых
Команда plot служит для построения гра-фиков функций в декартовой системе коорди-нат. Эта команда имеет ряд параметров:
plot(Х, У) строит графики функций у(х), координаты точек (х, у) которой берутся из век-торов одинакового размера Y и Х. Если Х или Y – матрица, то строится семество графи-ков по данным, содержащимся в матрице.
Приведенный ниже пример иллюстрирует построение графиков двух функций – sin(x) и cos(x), данные которых содержатся в матрице Y, а значения х хранятся в векторе Х:
>> x=[1 2 3 4 5];
>> y=[sin(x); cos(x)];
>> plot(x,y)
График будет состоять из отрезков, и если нужно, чтобы отображаемая функция имела вид гладкой кривой, необходимо увеличить количество узловых точек.
plot(Х, Y, S) аналогична команде plot(Х, Y), но тип линии графика можно задавать с по-мощью строковой константы S.
Значениями константы S могут быть следующие символы
Цвет линии |
Тип точки |
Y Желтый M Фиолетовый C Голубой R Красный G Зеленый B Синий W Белый K Черный |
. Точка о Окружность Х Крест + Плюс * Звездочка S Квадрат D Ромб V Треугольник (вниз) ^ Треугольник (вверх) < Треугольник (влево) > Треугольник (вправо) P Треугольник (влево) Н Шестиугольник |
Типы линий |
|
- Сплошная : Двойной пунктир -. Штрих-пунктир -- Штриховая |
Параметры S необходимо заключать в апострофы.
Таким образом, с помощью строковой константы S можно изменять цвет линии, пред-ставлять узловые точки различными отметками (точка, окружность, крест, треугольник с разной ориентацией вершины и т.д.) и менять тип линии графика.
plot(Х1, Y1, S1, Х2, Y2, S2, Х3, Y3, S3 . . . ) – эта команда строит на одном графике ряд линий, представленных данными вида (Xi, Yi, Si), где Xi и Yi – векторы или матрицы, а Si – символы. С помощью такой конструкции возможно построение, например, графика фун-кций линией, цвет которой отличается от цвета узловых точек. Так, если надо построить график функции линией синего цвета с красными точками, то вначале необходимо за-дать построение графика с точками красного цвета (без линии), а затем графика только линии синего цвета (без точек).
При отсутствии указания на цвет линий и точек он выбирается автоматически (белый исключается). Если линий больше шести, то выбор цветов повторяется.
Р
>> % Графики трех линий
>> x=-2*pi:0.1:2*pi;
>> y1=sin(x);
>> y2=sin(x).^2;
>> y3=sin(x).^3;
>> plot(x, y1, '-m', x, y2, '-.+r', x, y3, '--ok')
Здесь график функции у1 строится сплош-ной фиолетовой линией, график у2 строится штрих-пунктирной линией с точками в виде зна-ка «+» красного цвета, а график у3 строится штриховой линией с кружками черного цвета.
