Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

№8 лабораторная ВВПП

.docx
Скачиваний:
9
Добавлен:
24.08.2022
Размер:
34.55 Кб
Скачать

Федеральное агентство связи Ордена

Трудового Красного Знамени

федеральное бюджетное образовательное учреждение высшего образования

«Московский Технический Университет Связи и Информатики»

(МТУСИ)

Кафедра Информатики

Предмет: Введение в математические пакеты прикладных программ

Лабораторная работа по ВвМППП № 8

Тема:

«Технология решения задач одномерной оптимизации средствами Scilab»

Вариант 00

Выполнил:

Великий преподователь

__________________________

Москва 0000

Общее задание

  1. Изучите материал Темы 2.5 (п. 2.5.1).

  2. Выберите индивидуальное задание из табл. 2.5.2-1.

  3. Постройте график функции f(x) и выберете отрезок, содержащий единственный минимум;

  4. Проверьте на выбранном отрезке условие унимодальности функции, получив таблицу значений первой или второй производной.

  5. Создайте функцию costf() для формирования значений целевой функции и ее производной.

  6. Найдите координаты точки минимума f(x) с использованием встроенной функции Scilab optim().

  7. Сохраните текст рабочего окна на внешнем носителе.

  8. Предоставьте результаты работы преподавателю, ответьте на поставленные вопросы.

//Лабораторная работа №8 по теме "Технология решения задач одномерной оптимизации средствами Scilab"

// Выполнил:

//Вариант ---

//Описание функции f(x)

deff('y=f(x)','y=x.^2-3.4.*log(1+x)-1')

//Построение графиков функции f(x)

xgrid()

xtitle('Построение графиков функции f(x)','X','Y')

x=0:0.1:2;zeroline=x*0;

plot(x,f(x))

mtlb_hold('on')

plot(x,zeroline,'k-')

//Описание функций f1(x) и f2(x)-первой и второй производных функций f(x)

deff('y=f1(x)','y=2.*x-3.4./(1+x)')

deff('y=f2(x)','y=2+3.4./(1+x).^2')

//Получение таблицы значений f(x),f1(x),f2(x) на интервале [0.89:0.9]

t=0.89:0.001:0.9;

z=[t;f(t);f1(t);f2(t)]'

z =

0.89 -2.3722612 -0.0189418 2.9518211

0.891 -2.3722787 -0.0159905 2.9508146

0.892 -2.3722932 -0.0130402 2.9498098

0.893 -2.3723048 -0.0100909 2.9488066

0.894 -2.3723134 -0.0071426 2.9478049

0.895 -2.3723191 -0.0041953 2.9468049

0.896 -2.3723218 -0.0012489 2.9458064

0.897 -2.3723215 0.0016964 2.9448095

0.898 -2.3723184 0.0046407 2.9438142

0.899 -2.3723123 0.007584 2.9428204

0.9 -2.3723032 0.0105263 2.9418283

//Создание вспомогательной функции для функции optim()

//Для минимума:

function [fp,g,ind]=costf1(t,ind)

> fp=f(t)

> g=numderivative(f,t)

> endfunction

//Поиск координат точки минимума f(x) на интервале [0.89:0.9] с использованием встроенной функции в Scilab optim()

x0=0.89;

[fmin,xmin]=optim(costf1,x0)

xmin =

0.896424

fmin =

-2.372322