Скачать 86.81 Kb.
|
Лекция № 8 Средства Matlab для исследования функций.
Качественный анализ функции является основным этапом в исследовании функции. Он заключается в общем представление о характере поведения функции в зависимости от её аргумента. Качественный анализ функций даёт основания для более подробного количественного анализа. Здесь вычисляют значения аргумента, при которых значения функции обращаются в нуль или принимают экстремальные значения. Анализируют характер поведения функции на ![]() Файл-функции с одним входным аргументом Если в вычислениях часто необходимо использовать некоторую функцию у = f(х), то имеет смысл один раз написать файл-функцию, а потом вызывать его по мере необходимости. Для этого необходимо открыть в редакторе М-файлов новый файл и набрать текст function f= myfun(x) f=sin(x)-x.^2.*cos(x); % используем поэлементные операции Слово function в первой строке определяет, что данный файл содержит файл-функцию. Первая строка является заголовком функции, в который размещается имя функции и списки входных и выходных аргументов. В примере, имя функции myfun, один входной аргумент-x и один выходной f. После заголовка следует тело функции( оно в данном примере состоит из одной строки), где и вычисляется её значение. Важно, что вычисленное значение записывается в f. Не забудьте поставить точку с запятой для предотвращения вывода лишней информации на экран. Теперь сохраните файл в рабочем каталоге. Обратите внимание, что выбор пункта Save или Save as меню File приводит к появлению диалогового окна сохранения файла, в поле File name которого уже содержится название myfun. Не изменяйте его! Теперь созданную функцию можно использовать так же, как и встроенные. Для построения графика функции можно использовать функции plot, ezplot(‘myfun’,[x1 x2]), fplot(‘myfun’,[x1 x2]). Функция fplot более точно строит график. Решение произвольных уравнений Решение алгебраических и транцендентных уравнений в среде Matlab осуществляется с помощью встроенных функций: solve( ), fzero( ), roots( ). solve (‘f(x)’, x) ‘f(x)’ – решаемое уравнение, взятое в одиночные кавычки; x – искомое неизвестное. Недостаток функции: не требует информации о начальном значении корня или области его изоляции. Поэтому не находит всех корней уравнения. fzero (‘f(x)’, x), fzero (‘f(x)’, [x1, x2]), fzero (‘f(x)’, x, tol, trace) или fzero (‘myfun’, x) ‘f(x)’ – решаемое уравнение, взятое в одиночные кавычки; x – начальное приближение (значение) искомого корня; [x1, x2] – область изоляции корня; tol – заданная погрешность вычисления корня (по умолчанию точность eps, т. е. 2,22…·10-16) trace – значение корня в каждой итерации. Недостаток функции: не определяет комплексные корни уравнения. С учётом этих особенностей системы Matlab технология решения алгебраических и транцендентных уравнений состоит в выполнении следующих процедур: 1. определение области изоляции корня графоаналитическим методом; 2. определение вещественных корней уравнения с помощью функции fzero( ) при заданных значениях погрешности tol; 3. определение комплексных корней уравнения с помощью функции solve (‘f(x)’, x). Пример 1: найти корни уравнения ![]() function f= myfun(x) f=log(4-2.*x)+x.^2-2; Сохраняем файл под именем myfun >>ezplot('myfun') >>grid on Геометрически наличие корня свидетельствует о том, что график пересекает или касается оси ОХ ![]() Из рисунка видно, что областями изоляции корней могут быть [-1;0], [1;1.5], [1.5;1.99]. При х=2 функция не существует. Программа определения корней и результаты решения задачи будут иметь вид: >> X1=fzero('myfun',[-1,0]); >> X2=fzero('myfun',[1,1.5]); >> X3=fzero('myfun',[1.5,1.99]); >> X=[X1,X2,X3] X = -0.5945 1.2774 1.9001 Решая уравнения с помощью функции solve получаем один корень solve('log(4-2*x)+x^2-2=0') ans =1.2774 Функция roots(z) служит для вычисления корней многочлена, где z – вектор коэффициентов многочлена. Пример 2: найти корни уравнения ![]() . Программа вычисления корней будет иметь вид: >>z=[1 2 0 -1]; >> y=roots(z) y = -1.6180 -1.0000 0.6180 Функция roots(z) не позволяет получить решение, если коэффициенты многочлена заданы в виде символьных переменных. Функция polyval предназначена для вычисления значения полинома от некоторого аргумента: >>polyval(z,1) ans = 2 Признаки монотонности. Определение возрастающей, убывающей функции: ![]() Теорема 1. Если дифференцируемая функция у = f(х) на отрезке [a,b] возрастает, то её производная на этом отрезке неотрицательна, т.е. y´ ≥ 0. Теорема 2. Если производная на отрезке [a,b] положительна, то функция на этом отрезке возрастает. Определение. Точка из области определения функции называется критической, если производная в этой точке равна нулю или не существует. Схема нахождения интервалов монотонности:
Пример 4: исследовать на монотонность ![]() Функция составлена из непрерывных элементарных функций – непрерывна на всей числовой оси function f=myfun(x) % создаём m-функцию f=x.*exp(-x.^2); >> ezplot('myfun') % строим график функции >> grid on ![]() >> fpr=diff(myfun(x),x) fpr = exp(-x^2)-2*x^2*exp(-x^2) >>solve('exp(-x^2)-2*x^2*exp(-x^2)') ans = [ 1/2*2^(1/2)] [ -1/2*2^(1/2)] >> 1/2*2^(1/2) ans = 0.7071 >> -1/2*2^(1/2) ans = -0.7071 % критические точки x1=0.7071; x2=-0.7071; >> subs(fpr,x,-2) ans = -0.1282 % f’(x)<0 – функция убывает >>subs(fpr,x,0) ans = 1 % f’(x)>0 – функция возрастает >> subs(fpr,x,2) ans = -0.1282 % f’(x)<0 – функция убывает Экстремумы функции. Теорема. Если функция имеет экстремум в точке С и существует производная в этой точке, то она равна нулю. Замечание: Обратная теорема неверна, то есть, если f ´(c) = 0, то отсюда не следует, что в точке х = с экстремум. ^ . Если функция непрерывна в некотором интервале, содержащем критическую точку х1, дифференцируема (кроме, может быть, в самой точке) и при переходе через эту точку производная меняет знак с плюса на минус, то в этой точке имеется максимум, если производная меняет знак с минуса на плюс, то в этой точке минимум. Схема нахождения экстремума функции: 1. Найти область определения функции.
Минимизация функции Поиск локального минимума функции одной переменной на некотором отрезке осуществляется с помощью функции: fmin(‘fun’,), fmin(‘fun’, x1, x2, options), fmin(‘fun’, x1, x2, options, p1,…,p10). ‘fun’ – взятая в одиночные кавычки функция, минимум которой вычисляется; x1, x2 – область значений аргумента, в которой находится минимум функции; options – вектор, содержащий компоненты управления процессом решения задачи: options(1) – вывод значений промежуточных итераций, …, options(14) – задание числа итераций( по умолчанию 500) Пример 3: для примера 1 найти минимум функции >> fmin('myfun',-1,1) ans = 0.2929 Вычислить минимум функции можно с помощью функции [х, fval,exitflag,putput] = fminbnd(‘fun’, x1, x2, options, p1, p2,…) >>Х = fminbnd('myfun',-1,1) Х = 0.2929 Для одновременного вычисления значения функции в точке минимума следует вызвать fminbnd с двумя аргументами: >> [x,f]=fminbnd('myfun',1,1.95) x = 1.9500 f = -0.5001 Для нахождения локального максимума нет специальной функции, очевидно, что следует искать минимум функции с обратным знаком. fminbnd('-(log(4-2.*x)+x.^2-2)',1,1.95) ans = 1.7071 Пример 5: В примере 4 вычислить экстремумы функции >>x1=0.7071;x2=-0.7071; >> y1=subs(myfun(x),x,x1) y1 = 0.4289 >> y2=subs(myfun(x),x,x2) y2 = -0.4289 или [x,f]=fminbnd('myfun',-1,-0.5) x = -0.7071 f = -0.4289 [x,f]=fminbnd('-myfun(x)',0.5,1) x = 0.7071 f = -0.4289 % значение функции получено со знаком «-» Теорема. Второй достаточный признак экстремума. Если в точке х1 первая производная равна нулю, и вторая производная непрерывна в окрестности этой точки и f ´´( х1) > 0, то точка х1 является точкой минимума, если f ´´( х1) < 0, то точкой максимума. Схема нахождения экстремума функции будет иметь вид: 1. Найти область определения функции.
Пример 6: по второму достаточному признаку найти экстремумы функции ![]() Второй достаточный признак не даёт ответа об экстремумах функции. Пример 7: Найти экстремумы функции ![]() diff(x^2+4*x+6) ans =2*x+4 >> solve('2*x+4') ans =-2 >> subs(diff(x^2+4*x+6,x,2),x,-2) ans = 2 subs(x^2+4*x+6,x,2) ans = 18 Ответ: (2,18) – минимум функции. Наибольшие и наименьшие значения функции. Наибольшие и наименьшие значения функции могут быть либо в точках экстремума, либо на концах заданного интервала. Схема нахождения наибольшего и наименьшего значения функции:
Выпуклость и вогнутость графика функции. Определение. Кривая называется выпуклой вверх на отрезке [a,b] , если все её точки лежат ниже любой касательной, проведенной в произвольной точке этого отрезка. Если точки кривой выше касательной, то кривая называется выпуклой вниз. Теорема. Если во всех точках интервала (a,b) вторая производная отрицательная, то график функции у = f(х) на этом интервале выпуклый. Точки перегиба графика функции. Определение. Точка, отделяющая интервал выпуклости графика функции от интервала вогнутости, называется точкой перегиба. Теорема. Если f ´´( х0) = 0 или не существует, и при переходе через точку и х0 вторая производная меняет знак, то в этой точке имеется перегиб. Схема нахождения вогнутости и выгнутости графика функции и точек перегиба. 1. Найти область определения функции. 2. Найти вторую производную у´´. 3. Выяснить, в каких точках у´´= 0 или не существует. 4. Разить область определения функции на интервалы, концами которых являются найденные точки и точки разрыва функции. 5. Выяснить знак второй производной в каждом интервале. 6. В тех интервалах, где у´´> 0 график вогнут, где у´´< 0 – выпуклый. Асимптоты графика функции. Определение. Прямая называется асимптотой к графику функции у = f(х), если расстояние от точки, лежащей на кривой, до этой прямой, при удалении точки вдоль кривой в бесконечность стремиться к нулю. Различают два вида асимптот: вертикальные и наклонные. В первом случае асимптота перпендикулярна оси ОХ, во втором она образует некоторый угол с осью ОХ, не равный π/2. Схема нахождения вертикальных асимптот:
Наклонная асимптота: ![]() Замечание: При нахождении наклонных асимптот необходимо рассматривать при ![]() ![]() Пример: вычислить экстремумы функции, асимптоты и построить функцию ![]() syms x >> num=(8*x^2-2*x-9);denom=(3*x^2-2*x-5); >> y=num/denom; >> lim1=limit(y,inf) 8/3 >> lim2=limit(y,-inf) 8/3 >> roots=solve(denom) 5/3 -1 >> g=diff(y);d=simplify(g) d =-2*(5*x^2+13*x+4)/(3*x^2-2*x-5)^2 >> xm=solve(d); >> ym=subs(y,xm); >> xm=vpa(xm,4),ym=vpa(ym,4) xm = [ -.3566] [ -2.243] ym = [ 1.861] [ 2.451] Результатом этих вычислений является :горизонтальная асимптота: у=8/3, две вертикальных асимтоты х=5/3 и х=-1, производная функции, координаты двух точек экстремума. >> ezplot(y) >> grid,hold on >> plot(double(xm),double(ym),'ro') >> text(-2.4,2.2,'x m 1') >> text(-0.7,2.2,'x m 2') >> plot([-2*pi 2*pi],[8/3 8/3],'k--','LineWidth',1.5) >> plot(double(roots(1))*[1 1],[-1 6],'k--','Linewidth',1.5) >> plot(double(roots(2))*[1 1],[-1 6],'k--','Linewidth',1.5) >> axis([-4,5 1 4]) ![]() |
![]() | Авторский коллектив: Н. С. Щекин (лекция 8); Г. И. Касперович (лекция 9); В. Ф. Берков (лекция 10); И. Г. Подпорин (лекция 11); В.... | ![]() | Монография представляет собой изложение курса лекций, про* читанных автором на факультете психологии Московского государственного... |
![]() | Монография представляет собой изложение курса лекций, про* читанных автором на факультете психологии Московского государственного... | ![]() | Лекция 15. Финансирование государственной службы. Контроль и надзор за соблюдением законодательства о государственной службе |
![]() | Редактор Т. Липкина Художник Л. Чинёное Корректор Г. Казакова Компьютерная верстка М. Егоровой | ![]() | Лекция II. Судебная власть и правосудие |
![]() | Лекция Государственное регулирование внешнеэкономической деятельности: сущность, методы (тарифные и нетарифные) | ![]() | Лекция основные правовые системы современности. Международное право как особая система права – 2 часа 65 |
![]() | Лекция Модернизм и постмодернизм в искусстве и эстетической теории ХХ века | ![]() | Введение. Предмет дисциплины. Краткие сведения из истории метрологии и стандартизации (Лекция №1) |