Занятие 2. Основы работы в GNU Octave Краткое содержание занятия 1.Создание матриц и простейшие операции над ними 2.Решение систем уравнений. 3.Графики.

Презентация:



Advertisements
Похожие презентации
Занятие 7. Многомерная линейная регрессия Краткое содержание 1.Оценка параметров регрессии 2.Теорема Гаусса-Маркова 3.Расчёт доверительных интервалов 4.Линеаризация.
Advertisements

Формула – выражение, по которым выполняют вычисления. Для активации строки формул надо: 2.В списке команд выбрать пункт «Строка формул» 1.Открыть меню.
Стандартные распределения и их квантили Стандартные распределения В статистике, эконометрике и других сферах человеческих знаний очень часто используются.
Графические возможности Matlab. 2 Графика в Matlab Высокоуровневая –не требует от пользователя детальных знаний о работе графической подсистемы Объектная.
Учитель Лесконог Е.В.. Содержание Понятие табличной формулы. Особенности ввода табличной формулы. Понятие матрицы. Виды матриц. Понятие определителя.
К. Поляков, Программирование на алгоритмическом языке Тема 1. Введение.
Линейные алгоритмы Линейный алгоритм – алгоритм, в котором команды выполняются последовательно друг за другом. действие 1 действие действие.
Microsoft Excel Использование встроенных функций. Формулы, их копирование, расчеты Выполнила ученица 10 класса Образцова Надежда.
Что такое алгоритм АЛГОРИТМ АЛГОРИТМ АЛГОРИТМ – это конечная последовательность шагов в решении задачи, приводящая от исходных данных к требуемому результату.
К. Поляков, Программирование на алгоритмическом языке Тема 1. Введение.
Язык программирования QuickBASIC © Бакунович А.В., уч.г. СШ 3.
Microsoft Office Excel «Графики сложных функций».
ПРОГРАММА MICROSOFT OFFICE EXCEL. Программа Microsoft Excel относится к классу программ, называемых электронными таблицами. Табличный процессор Excel.
Автор: Юсупов Тимур Группа: Аи 14-2 Вариант:28. Заданную систему уравнений запишем в матричном виде, а затем решим ее методом Крамера.
Язык Паскаль МОУ СОШ 2 городского округа город буй Костромской области учитель информатики Щур Анна Николаевна.
Интерфейс электронных таблиц. Данные в ячейках таблицы. Основные режимы работы.
ЭЛЕКТРОННЫЕ ТАБЛИЦЫ (табличный процессор MS Excel) Разумов Виктор Николаевич, 2003.
Электронные таблицы Microsoft Excel. Электронная таблица – это работающее в диалоговом режиме приложение, хранящее и обрабатывающее данные в прямоугольных.
Тестовые задания по программированию Pascal. Вопрос 1 Как Вы думаете: какая процедура обеспечивает ввод данных в Паскале ? А) begin Б) input В) read или.
Линейная алгебра Матрицы. Основные понятия. Действия над матрицами Метод обратной матрицы решения систем линейных уравнений.
Транксрипт:

Занятие 2. Основы работы в GNU Octave Краткое содержание занятия 1. Создание матриц и простейшие операции над ними 2. Решение систем уравнений. 3. Графики функций z=f(x) и z=f(x,y) 4.Расчёт доверительных интервалов 5.Гистограммы

Почему GNU Octave? Готовые «мастера» в пакетах вроде Origin, Statgraphics и т.п. Просто и надёжно НО! Теория оторвана от практики => сложно разобраться в принципах работы Готовые «мастера» в пакетах вроде Origin, Statgraphics и т.п. Просто и надёжно НО! Теория оторвана от практики => сложно разобраться в принципах работы «Классические» языки C и Fortran Даёт полное понимание происходящего и контроль над ним НО! Трудоёмко, нужны навыки программиста «Классические» языки C и Fortran Даёт полное понимание происходящего и контроль над ним НО! Трудоёмко, нужны навыки программиста Системы матричной алгебры: MATLAB, GNU Octave, SciLab Разумный компромисс между сложностью C/Fortran и загадочностью «мастеров» Системы матричной алгебры: MATLAB, GNU Octave, SciLab Разумный компромисс между сложностью C/Fortran и загадочностью «мастеров»

Создание матриц Способ 1. Перечисление элементов в квадратных скобках >> a=[1 2 3;4 5 6] a = >> b=[ ; ]; >> disp(b) Примечание: если в конце строки поставить точку с запятой, то матрица будет создана, но при этом не показана Способ 2. Конкатенация существующих матриц >> c = [a;b]; disp(c) >> d = [a b]; disp(d) Способ 4. Специальные функции >> x = eye(3); >> disp(x) Diagonal Matrix См. также ones, zeros, repmat Способ 3. Оператор двоеточия >> disp(10:15:70) >> disp(1:5)

Создание матриц Способ 5. Выделение подматриц >> x = magic(4) >> disp(x(1:2,1:4)) >> disp(x(1:2:4,1:2:4)) >> disp(x(1,:)) Индексы начинаются с единицы! Диапазоны индексов задаются с помощью конструкции с двоеточием. : - все индексы по данной размерности a:b – все индексы от a до b с шагом 1 a:s:b – все индексы от a до b с шагом s Способ 6. Работа с подматрицами >> x = magic(4) >> x(:,2)=-x(:,2); disp(x) >> x([1 4],:)=x([4 1],:); disp(x) >> x(2:4,2:4)=0;disp(x)

Операции над матрицами Octave Линейная алгебра Описание C=A. Транспонирование матрицы C=A Эрмитово-сопряженная матрица C=A.^B Поэлементное возведение в степень C=A*B Умножение матриц C=A.*B Поэлементное умножение X=A\B Левое матричное деление X=A/B Правое матричное деление X=A./B Поэлементное деление C=A+B Сложение матриц C=A-B Вычитание матриц Различайте матричные и поэлементные операции!

Операции над матрицами Операторы * и.* Операторы /, \ и./ * : умножение матриц.* : умножение массивов \ : левое матричное деление (left matrix division) / : правое матричное деление (right matrix division)./ : деление массивов >> A = [1 2;3 4]; >> B = [50 60; 70 80]; >> A*B >> A.*B >> A\B >> A/B >> A./B Возможность скрытых ошибок! Если матрицы квадратные, то замена.* на * или / на./ не приводит к останову программы!

Операции над матрицами >> A = [1 2;3 4]; >> B = [50 60; 70 80]; Операторы ^ и.^ ^ : возведение матрицы в степень.^ : возведение массива в степень Обратная матрица >> A^ >> A.^ (а) Функция inv (б) Оператор ^ >> inv(A) >> A^(-1) Возможность скрытых ошибок! Если матрицы квадратные, то замена.^ на ^ не приводит к останову программы!

Решение системы линейных уравнений Шаг 2. Задать матрицы в Octave >> A=[1 1 -1; ; ]; >> b=[6; 21; 6]; Шаг 3. Решить систему >> x=A\b x = e e e+00 Шаг 4. Проверить решение >> disp(A*x); Альтернативные способы >> x=inv(A)*b; >> x=A^(-1)*b; Исходная система уравнений

Двухмерные графики Шаг 1. Рассчитать точки графика >> x = 0:0.01:2*pi; >> y = sin(x); Шаг 2. Построить график >> plot(x,y,b-); Шаг 3. Экспорт в файл >> plot(x,y,b-,LineWidth,3); >> xlabel(x); ylabel(y); >> print(a.png','-dpng','-r75')

Трёхмерные графики >> % Рассчитать точки для графика >> [X,Y]=meshgrid(-2:0.1:2,-2:0.1:2) >> Z = exp(-X.^2-Y.^2) >> % Построить график >> surf(X,Y,Z); Работа функции meshgrid X = Y = >> [X,Y]=meshgrid(-3:1:3,-2:1:2) Диапазон и шаг по оси y Диапазон и шаг по оси x Выход функции: матрицы X и Y

Трёхмерные графики: вывод на экран Функция surf: поверхность Функция contour: только изолинии Функция surfc: поверхность + изолинии Функция mesh: поверхность

Среднее и доверительный интервал Функция ВызовОписание meanmean(x) mean(x,1) mean(x,2) Среднее значение вектора x Средние значения столбцов матрицы x Средние значения строк матрицы x stdstd(x) std(x,f) std(x,f,1) std(x,f,2) Стандартное отклонение вектора x f = 0 – не смей.диск., f = 1 – смещ.диск. Стандартное отклонение столбцов матрицы x Стандартное отклонение строк матрицы x tinvtinv(p,f) Левосторонний квантиль t-распределения median См. mean Расчёт медианы numelnumel(x) Число элементов вектора или матрицы x sum См. mean Расчёт суммы >> x = [ ]; >> mean(x) ans = >> std(x) ans = >> std(x)*tinv(0.975,numel(x)-1)/sqrt(numel(x)) ans =

Функции распределения и квантили Распределение Левосторонний квантиль Нормальное normpdf(x,mu,s)normcdf(x,mu,s)norminv(p,mu,s) Стьюдента (t) tpdf(x,f)tcdf(x,f)tinv(p,f) chi2pdf(x,f)chi2cdf(x,f)chi2inv(p,f) Фишера (F) fpdf(x,f1,f2)fcdf(x,f1,f2)finv(p,f1,f2) Pdf – probability density function (функция плотности вероятности) Cdf – cumulative distribution function (интегральная функция распределения) Inv – inverse function (обратная функция) >> x = 0:0.1:10; >> y1 = fpdf(x,6,5); >> y2 = fcdf(x,6,5); >> plot(x,y1,'k-',LineWidth',5); >> hold on; >> plot(x,y1,'k-',LineWidth',5); >> hold off; >> legend('p(x)','F(x)'); >> set(gca,'FontSize',20);

Случайные числа и гистограммы Функция ВызовОписание randrand(m,n) Матрица mxn из равномерно распределенных случайных чисел из интервала [0;1] randnrandn(m,n) histhist(x,n) [nn,xx]=hist(x,n) График с гистограммой Гистограмма в числах (x – данные, n – число карманов, nn – частоты, xx – центры карманов) >> x = randn(1,1000); >> hist(x,8, FaceColor, yellow, EdgeColor, red, LineWidth, 5); >> [nn,xx] = hist(x,8); >> hold on; >> plot(0,xx,bo); >> hold off;

Полезные команды Команда Значение cd имя_каталога Сменить текущий каталог clc Очистить консоль clear all Уничтожить все переменные (и ряд других структур вроде пользовательских типов данных, загруженных MEX-файлов и т.п.) close all Закрыть все окна с графиками dir (или ls) Вывести содержимое текущего каталога edit filename.m Отредактировать файл filename.m или создать его (если он отсутствует) figure Создать новое окно для вывода графиков help funcname Выдать справку по функции funcname hold on hold off Выводить новый график в существующее окно Выводить новый график в новое окно (старое закроется) pause Ждать нажатия ENTER пользователем pwd Узнать текущий каталог whos Вывести существующие переменные