- •Занятия по matlab в компьютерном классе Темы занятий
- •Тема 1. Общие сведения о matlab'е
- •Тема 2. Переменные
- •Упражнения
- •Тема 3. Элементы xy-графики
- •Тема 4. Простые примеры, иллюстрирующие эффективность matlab'а
- •4;Plot(f)
- •3;Sum(isinf(kf))
- •2;Ginput
- •Упражнения
- •Тема 6. Полиномы
- •Тема 5. Графический способ решения уравнений
- •7;Plot(r), grid
- •9;Plot(r,'.'), grid
- •Упражнение
- •Тема 7. Итерации
- •5;Imag(xt')
- •6;Sum(isnan(xt))
- •7;Find(isnan(xt))
- •Упражнение
- •Упражнение
- •9;Find(isnan(z))'
- •Тема 8. Системы линейных алгебраических уравнений
- •2;Mesh(a) plot(a(1,:)) plot(a(20,:)) plot(a(41,:))
- •3;Plot(ut) plot(f) plot([ut,u])
- •4;Plot([u/max(abs(u)),f/max(abs(f))])
- •5;Plot(f)
- •Литература
Тема 2. Переменные
Переменные могут быть числовыми, текстовыми и других типов. У нас будут только числовые (это во всех деталях) и текстовые (совсем немного). Название переменной начинается с латинской буквы, далее могут быть буквы и цифры (не более 31 символа). Строчные и прописные буквы здесь различаются.
1. Числовые переменные. Это числа, векторы, матрицы и многомерные массивы. В компьютере все числа представлены примерно с 16 десятичными знаками, под каждое вещественное число отводится 8 байтов, под комплексное – 16.
1.1. Ввод чисел.
Целые числа. В системе они не выделяются явно. Наберем и выполним отдельно каждую команду:
a=2 a=2.0 a=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+1:.3-.1:2.5*2 length(d)
d(end) d(end-2) d(1) d(0) d(2:7) d(7:-1:2) d(150)
f=linspace(1.5,30,143); length(f)
Индексы всегда начинаются со значения 1. Команды набираются на малом латинском регистре. Возможна многопараметричность команд.
Диапазон вещественных чисел:
realmax realmin
Другие константы MATLAB'а:
pi i j eps
Их не следует портить.
Комплексные числа:
q=1+2*i q=1+2i real(q) imag(q) abs(q) conj(q) s=angle(q) (здесь -<s<=).
q=1+2*i;r=3; fi=0:.01:pi; z=q+r*exp(i*fi); plot(z) Это верхняя полуокружность.
1.2. Ввод векторов
Векторы-строки:
a=1:6 linspace(1,6,10)
Векторы-столбцы:
a=(1:6)' linspace(1,6,10)'
Операторы .' и ' :
y1=linspace(1,6,4)'; y2=y1; y=y1+i*y2; y.' y'
Команды linspace и : применимы для задания только вещественных векторов.
1.3. Ввод матриц. A(i,j) - элемент из i-й строки и j-го столбца. A(k) – k-й элемент таблицы, вытянутой в столбец.
A=[1,2;3,4] A=[1;2,3;4] A(2,2) A(3) A(5) size(A) A(3,4)=10 size(A)
A(5)=6 size(A) A(22)=3 A=A(:) A(22)=3 size(A) [m,n]=size(A)
A=reshape(1:24,4,6) size(A) A([1,end],:)=[] A(:,[1,end])=[] size(A)
1.4. Некоторые специальные матрицы:
m=3;n=4; eye(m,n) eye(m) eye(n) ones(m,n) ones(m) ones(n) zeros(m,n)
rand(m,n) rand(m,n) rand('state',0) rand(m,n) rand(m) Это равномерное распределение на интервале (0, 1).
randn(m,n) randn('state',100) Это нормальное распределение, у него мат.ожидание=0, дисперсия=1
v1=1:4 v2=7:12 toeplitz(v1,v2) toeplitz(v1)
1.5.Некоторые простые команды:
A=reshape(1:24,4,6) triu(A) triu(A,0) triu(A,2) triu(A,-1) tril(A)
v=1:5 diag(v) diag(v,2) diag(v,-1)
diag(A) diag(A,2) diag(A,-1)
A=reshape(1:24,4,6) rot90(A) rot90(A,2)
1.6. Выдачи на экран. Команда format с различными опциями.
В обычном формате (forrmat short) выдается 5 знаков, для целых чисел 9 знаков, порядки изменяются от -308 до +308. В полном формате (format long e) 16 знаков.
a=2 a=.001 a=1e-3 a=1e-5 a=123456789 a=1234567891 a=1+3*i
format long e, 2^.5, format short
Опция format short e позволяет получать ровные столбцы.
2. Текстовые переменные. Они берутся в кавычки (на букве э на латинском регистре), символ занимает 2 байта. Используются для задания заголовков в числовых выдачах и на графиках, для задания формул и т.д. Можно переводить текстовые переменные в числовые и наоборот. Выполним в командной строке
t='Moscow - столица России'
(после дефиса нужно перейти на русский шрифт и затем не забыть снова вернуться на латинский).
3. Контроль за переменными:
who whos
4. Другие типы переменных – ячейки и структуры.
5. Система help.
help выдает список директорий системы;
help <имя директории> выдает список команд директории;
help <имя команды> выдает описание команды.
type <имя команды> выдает текст команды или программы пользователя, если он составлен в терминах MATLAB'а.
