Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
06.06.2018
Размер:
162.31 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Санкт-Петербургский государственный электротехнический

университет "ЛЭТИ"

___________________________________________________________________

Факультет электроники

Кафедра радиотехнической электроники

"Применение программного продукта MATLAB для решения

математической задачи"

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по дисциплине "Информационные технологии"

Преподаватель: Платонов Р.А.

Студентка гр. 7207 Скалюнова М.В.

Санкт-Петербург

2018

1.Постановка задачи и метод решения

Вариант 20.

Даны две функции: y1(x)=tg(x) и y2(x)=lg(x-2).

Написать программу на языке MatLab для определения наименьшего значения функции, которая будет иметь наибольшее значение в интервале x [9; 10].

Метод решения: на интервале [9;10] определяем наибольшую функцию и с помощью встроенной функции min ищем у наибольшей функции , т.е. минимальное значение этой функции.

2. Алгоритм решения.

x=9:0.01:10; y1=tan(x); y2=log10(x-2); m1=min(y1);  m2=min(y2); 

[m, k] = max([min(y1) min(y2)]);

Да нет

disp(m)

disp(k)

Вывод результатов:

disp('Минимальное значение'); (выводим на экран сначала min значение наибольшей функции , затем наибольшую функцию)

disp(m);

disp('Наибольшая функция');

disp (k);

Вывод графика

x=9:0.01:10;

y1=tan(x);

y2=log10(x-2);

plot(x,y1,x,y2)

3

3. Текст программы

Даны две функции:

y1(x)=tg(x) и y2(x)=log10(x-2).

Написать программу на языке MatLab для определения

наименьшего значения функции, которая будет иметь наибольшее значение в интервале x [9; 10].

clear all;

clc;(очищают экран и помещают курсор в левый верхний угол окна командного режима работы)

close all;

x=9:0.01:10; (задаем шаг)

y1=tan(x);

y2=log10(x-2);

plot (x,y1,x,y2); (создаем график, изображающий одновременно 2 функции)

ylim([-3;2]); (ограничиваем заданный график)

m1=min(y1); (находим минимумы функций)

m2=min(y2);

[m, k] = max([min(y1) min(y2)]); (Здесь мы получаем матрицу строку, путем приведения к ней значения функции max() от другой матрицы строки, состоящей из минимумов двух функций.

В итоге, элемент m принимает значение минимума меньшей функции, а элемент k - индекс этого числа в строке-аргументе.

Зная k, мы сразу же можем сказать, какая из двух функций оказалась наименьшей)

if k==1, k = 'tan(x)';

else k = 'log10(x-2);

end

disp('Минимальное значение'); (выводим на экран сначала min значение наибольшей функции, затем наибольшую функцию)

disp(m);

disp('Наибольшая функция');

disp (k);

end.

4

4. Листинг результатов

Вывод ответа:

5. Диаграммы

Рис. 1. График построения соответствующих функций вида: y1(x)=tan(x) и y2(x)=log10(x-2)

5

Заключение:

  1. Получили в результате, что y1(x)=log10(x-2) имеет меньшее значение на промежутке х [9,10] и это значение 0.8451.

  2. Для поиска меньшего значения на промежутке удобнее использовать программу, написанную через цикл for.

6

Соседние файлы в папке курсач20вариант