- •Министерство сельского хозяйства рф
- •Оглавление
- •Введение
- •Лабораторная работа №1 Знакомство с системой. Работа с векторами и матрицами.
- •1.Работа с числами и константами.
- •2.Работа с векторами и матрицами.
- •3.Форматы выдачи на экран.
- •Лабораторная работа №2
- •Лабораторная работа №3 Графический способ решения уравнений. Минимум функции. Интегрирование.
- •1.Решение уравнений.
- •2. Интегрирование.
- •Лабораторная работа №4 Работа с полиномами. Интерполирование.
- •1.Работа с полиномами.
- •2.Приближение по методу наименьших квадратов.
- •3.Интерполяция сплайнами.
- •Лабораторная работа №5 Работа с текстовыми файлами. Работа со структурами.
- •1. Открытие файла, считывание данных и закрытие файла.
- •2.Запись в текстовый файл.
- •Лабораторная работа №6 Создание приложений в среде guide. Часть 1.
- •1.Создание простого приложения.
- •2.Программное изменение свойств.
- •3.Программирование элементов интерфейса. Флаги и рамки.
- •Лабораторная работа №7 Создание приложений в среде guide. Часть 2.
- •4.Переключатели.
- •5.Списки.
- •6.Полосы скроллинга.
- •Библиографический список
Лабораторная работа №1 Знакомство с системой. Работа с векторами и матрицами.
Цель работы: научиться создавать переменные различных типов; освоить особенности представления данных и особенности работы с данными различных типов.
1.Работа с числами и константами.
Целые числа. В системе они не выделяются явно. Наберем и выполним отдельно каждую команду:
а=2 а=2.0 а=2; a=1:6 b=1:20 c=10:-2:5
Вещественные числа. Выполним по отдельности следующие команды:
d=0.5:0.3:2.5 d=.5:.3:2.5 d=.5+l:.3-.l:2.5*2 length(d)
d(end) d(end-2) d(l) d(0) d(2:7) d(7:-l:2) d(150)
f=linspace(1.5,30,143); length(f)
Индексы всегда начинаются со значения 1. Команды набираются на малом латинском регистре. Возможна многопараметричность команд.
Диапазон вещественных чисел:
realmax realmin
Другие константы MATLAB:
pi i j eps
Комплексные числа:
q=l+2*i q=l+2i real(q) imag(q) abs(q) conj(q) s=angle(q)
(здесь -pi<s<=pi).
q=l+2*i; r=3; fi=0:01:pi; z=q+r*exp(i*fi); plot(z)-это верхняя полуокружность.
2.Работа с векторами и матрицами.
Векторы-строки: а=1:6 linspace(l,6,10) b=[1, 2, 3, 4] c=[1 2 3 4]
Векторы-столбцы: а=(1:6)' linspace(l,6,10)' b=[1; 2; 3; 4]
Операторы .' (транспонирование) и '(комплексное сопряжение) :
yl=linspace(l,6,4) '; y2=yl; y=yl+i*y2; у. ' y'
Команды linspace и : применимы для задания только вещественных векторов.
Ввод матриц.
A(I,j) – элемент из i-й строки и j-ro столбца. A(k) – k-й элемент таблицы, вытянутой в столбец.
A=[l,2;3,4] A=[l;2,3;4] A(2,2) A(3) A(5) size(A) А(3,4)=10 size(A) А(5)=6 size(A) A(22)=3 A=A(:) A(22)=3 size(A) [m,n]=size(A) A=reshape(l:24,4,6) size(A) A([l,end],:)=[] A(:,[l,end])=[] size(A)
Некоторые специальные матрицы:
m=3; n=4; eye(m,n) eye(m) eye(n) ones(m,n) ones(m) ones(n) zeros(m,n)
В MatLab предусмотрена возможность заполнения матриц случайным образом (аналог датчика случайных чисел). В этом случае от пользователя требуется задать тип распределения случайных величин.
rand(m,n) rand(m,n) diag(rand(m)) rand(m) Эти функции соответствуют равномерному распределению на интервале (0,1).
randn(m,n) Это нормальное распределение.
vl=l:4 v2=7:12 toeplitz(vl,v2) toeplitz(vl)
Представляют интерес следующие команды:
A=reshape(l:24,4,6) triu(A) triu(A,0) triu(A,2) triu(A,-l) triu(A) v=l:5 diag(v) diag(v,2) diag(v,-l) diag(A) diag(A,2) diag(A,-l) A=reshape(l:24,4,6) rot90(A) rot90(A,2)
3.Форматы выдачи на экран.
В обычном формате (format short) выдается 5 знаков, для целых чисел 9 знаков, порядки изменяются от -308 до +308. В полном формате (format long e) 16 знаков.
а=2 а=.001 a=1e-3 a=1e-5 a=123456789 a=1234567891 a=l+3*i format long e 2^.5 format short
Опция format short e позволяет получать ровные столбцы.
Текстовые переменные
Они берутся в кавычки (на букве э на латинском регистре), символ занимает 2 байта. Используются для задания заголовков в числовых выдачах и на графиках, для задания формул и т.д. Можно переводить текстовые переменные в числовые и наоборот. Выполним в командной строке
t='Moscow - столица России'
Контроль за переменными можно осуществлять, используя специальные операторы who и whos
Другие типы переменных - ячейки и структуры будут рассмотрены позднее.
Система help
help выдает список директорий системы;
help <имя директории> выдает список команд директории;
help <имя команды> выдает описание команды
type <имя команды> выдает текст команды или программы пользователя, если он составлен в терминах МATLAB.
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Задание 1. Из заданной матрицы А выбрать вектор, компоненты которого есть все окаймляющие А элементы, взятые в порядке А(1,1), А(2,1),..., А (1,2).
Задание 2. Из заданной матрицы А размера m*n построить матрицу В с m строками, у которой диагонали с номерами 0, 1,..., n-1 были бы столбцами А с номерами 1…n, а все остальные элементы равнялись бы нулю.
Задание 3. Построить последовательность из 1000 целых случайных чисел, которые равновероятно принимали бы значения 11:18, и выдать, сколько из них оказалось равным 11, 12, ..., 18. Используйте команду round(k) округления k до ближайшего целого.