Решение инженерной задачи с помощью программного средства MatLab презентация

Содержание

Слайд 2

Содержание доклада

Постановка задачи
Алгоритм решения
Текст программы
Листинг результатов
Дополнительное задание
Диаграммы
Заключение

Лапухов Алексей гр.9282

Содержание доклада Постановка задачи Алгоритм решения Текст программы Листинг результатов Дополнительное задание Диаграммы

Слайд 3

Постановка задачи

Лапухов Алексей гр.9282

Вариант 20. Даны две функции: y1=tg(x) и y2=lg(x-2). Написать программу

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

Постановка задачи Лапухов Алексей гр.9282 Вариант 20. Даны две функции: y1=tg(x) и y2=lg(x-2).

Слайд 4

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

Лапухов Алексей гр.9282

Начало
clc; clear;

x1=9; x2=12;

f1=@(x)tan(x);
f2=@(x)log10(x-2);

max1=f1(x1);
max2=f2(x2);

for x=x1:0.001:x2

if (f1(x)>max1)

пока идет цикл

max1 = f1(x)

да

нет

if (f2(x)>max2)

да

нет

max2

= f2(x)

Когда цикл закончен

if max1>max2

minp1=fminbnd(f1,x1,x2);
min1=tan(minp1);
disp('Функция y=tan(x) на интервале [9;10] больше чем y=log10(x-2).');
disp(['Её минимальное значение равно: ', num2str(min1)]);

minp2=fminbnd(f2,x1,x2);
min2=log10((minp2)-2);
disp('Функция y=log10(x-2) на интервале [9;10] больше чем y=tan(x).');
disp(['Её минимальное значение
равно: ', num2str(min2)]);

да

нет

x0 = x1:0.001:x2;
f01=tan(x0);
f02=log10(x0-2);

plot(x0, f01, x0, f02);
title('Графики функций f(x)=tan(x) и f(x)=log10(x-2)');
legend('log10(x-2)','tan(x)');
xlabel('Координаты по оси Ox');ylabel('Координаты по оси Oy');

Конец

Алгоритм решения Лапухов Алексей гр.9282 Начало clc; clear; x1=9; x2=12; f1=@(x)tan(x); f2=@(x)log10(x-2); max1=f1(x1);

Слайд 5

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

Фрагмент текста программы, демонстрирующий сам метод решения.
x1=9; x2=12;
f1=@(x)tan(x); %объявляем первую функцию
f2=@(x)log10(x-2); %объявляем

вторую функцию
max1=f1(x1);
max2=f2(x2);
for x=x1:0.001:x2 %ищем максимальное значение функций
if (f1(x)>max1)
max1 = f1(x);
end
if (f2(x)>max2)
max2 = f2(x);
end
end

%определим функцию, которая будет иметь наибольшее значение
в интервале x
%[9; 10], и найдем и выведем ее минимальное значение
if max1>max2
minp1=fminbnd(f1,x1,x2);
min1=tan(minp1);
disp('Функция y=tan(x) на интервале [9;10] больше чем y=log10(x-2).');
disp(['Её минимальное значение равно: ', num2str(min1)]);
else
minp2=fminbnd(f2,x1,x2);
min2=log10((minp2)-2);
disp('Функция y=log10(x-2) на интервале [9;10] больше
чем y=tan(x).');
disp(['Её минимальное значение равно: ',
num2str(min2)]);
end

Лапухов Алексей гр.9282

Текст программы Фрагмент текста программы, демонстрирующий сам метод решения. x1=9; x2=12; f1=@(x)tan(x); %объявляем

Слайд 6

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

Результат работы программы:

Лапухов Алексей гр.9282

рис.1

Листинг результатов Результат работы программы: Лапухов Алексей гр.9282 рис.1

Слайд 7

Дополнительное задание

Дополнительным заданием было дополнить программу, чтобы она искала площадь между кривыми функций

на графике. Математический смысл этой задачи состоит в том, чтобы найти интегралы функций на заданном интервале.
Код задания:
syms x;
I1=int(tan(x),x1,x2);
I2=int(log10(x-2),x1,x2);
S=double(I2-I1);
if isnan(S)
disp('Невозможно посчитать площадь между кривыми графиков функций, так как одна из функций (или обе) не существуют на заданном интервале или прерываются')
else
disp(['Площадь между кривыми графиков функций на заданном интервале равна: ', num2str(abs(S))])
end

Лапухов Алексей гр.9282

Дополнительное задание Дополнительным заданием было дополнить программу, чтобы она искала площадь между кривыми

Слайд 8

Диаграммы

Лапухов Алексей гр.9282

Рис.2 – график, формируемый при работе программы

Диаграммы Лапухов Алексей гр.9282 Рис.2 – график, формируемый при работе программы

Имя файла: Решение-инженерной-задачи-с-помощью-программного-средства-MatLab.pptx
Количество просмотров: 51
Количество скачиваний: 0