Міністерство освіти і науки України
Національний технічний університет України
«Київський політехнічний інститут»
Домашня робота
з предмету:
Основи програмування, теорії автоматичного управління
тема:
«Створення програми для рішення обчислювальних задач»
Виконав:
Студент групи МА-81
Скрильов І.Г.
Київ 2011
Мета: Отримати навички побудови додатків для рішення обчислювальних задач з використанням системи проведення математичних розрахунків MatLAB.
«Програма перегляду графіків математичних функцій»
Опис: В даному представленні розглядається програма перегляду графіків основних математичних функцій в загальному вигляді, з подальшою їх зміною параметрів. Дана програма може використовуватись при навчанні, при розв’язку задач, при ознайомленні із законами математики.
Програма, що створена на базі системи математичних розрахунків MatLAB, може створювати графіки таких видів функцій: лінійної, оберненої пропорційності, квадратичної, степеневої, показникової та логарифмічної.
Зображення функції відбувається в трьох графічних вікнах: перше з яких базове зображення функції з одиничними коефіцієнтами при аргументі та нульовими вільними коефіцієнтами; друге зображення функції з початковими введеними параметрами; третє вікно з зображенням функції зі зміненими параметрами.
При побудові графіків функцій, параметри їх виставляються в будь-яке зручне місце для зчитування.
Програма створена з використанням діалогового режиму, що спрощує її використання та є більш зручним.
Блок-схема:
так
ні
disp('-----Программа перегляду графіків функцій-----')
disp('-----Скрильов І.Г.-----')
sprogram = 'vv1'; sname = 'Skrylov I.Grygorovich';
z=menu('Виберіть тип функціії', 'Лінійна виду y=ax+b','Обернена пропорційність виду y=k/x+b','Квадратична виду y=ax^2+bx+c','Степенева виду y=x^p','Показникова виду y=a^x','Логарифмічна функція')
switch z
case 1
disp('Введіть параметр а')
a=input('a=')
disp('Введіть параметр b')
b=input('b=')
%Створення початкового графіка функції%
x=-10:0.1:10;
y=1*x+0;
subplot(3,4,1:3)
plot(x,y)
grid
title('Linear function y=ax+b')
%Створення даних в текстовому полі графічного вікна%
tm=fix(clock); Tv=tm(4:6);
h1=text(11,12,['Program ' sprogram],'Fontsize',10);
h1=text(11,8,'-------------------------------------','FontSize',10);
h1=text(11,5,['Rozrahunky proviv:'],'FontSize',10);
h1=text(11,2,[sname],'FontSize',10);
h1=text(11,-1,[sprintf(' %g:', Tv),' ' date ],'FontSize',10);
h1=text(11,-4,'-------------------------------------','FontSize',10);
%Створення поточного графіка функції%
x1=-10:0.1:10;
y1=a*x+b;
subplot(3,4,5:7)
plot(x1,y1)
grid
gtext('Initial value:','FontSize',10);
gtext(sprintf('a = %g',a),'FontSize',10);
gtext(sprintf('b = %g',b),'FontSize',10);
c=menu('Ввести нові значення?','Ввести','Залишити')
switch c
case 1
disp('Введіть параметр а')
a=input('a=')
disp('Введіть параметр b')
b=input('b=')
%Створення зміненого графіка функції%
x2=-10:0.1:10;
y2=a*x+b;
subplot(3,4,9:11)
plot(x2,y2)
grid
%Створення запису нових даних%
gtext('Changed values:','FontSize',10);
gtext(sprintf('a = %g',a),'FontSize',10);
gtext(sprintf('b = %g',b),'FontSize',10);
case 2
end
case 2
disp('Введіть параметр k')
k=input('k=')
disp('Введіть параметр b')
b=input('b=')
%Створення початкового графіка функції%
x=-10:0.1:10;
y=1./x+0;
subplot(3,4,1:3)
plot(x,y)
grid
title('Inverse proportionality y=k/x+b')
%Створення даних в текстовому полі графічного вікна%
tm=fix(clock); Tv=tm(4:6);
h1=text(11,20,['Program ' sprogram],'Fontsize',10);
h1=text(11,16,'-------------------------------------','FontSize',10);
h1=text(11,10,['Rozrahunky proviv:'],'FontSize',10);
h1=text(11,4,[sname],'FontSize',10);
h1=text(11,-2,[sprintf(' %g:', Tv),' ' date ],'FontSize',10);
h1=text(11,-8,'-------------------------------------','FontSize',10);
%Створення поточного графіка функції%
x1=-10:0.1:10;
y1=k./x+b;
subplot(3,4,5:7)
plot(x1,y1)
grid
gtext('Initial value:','FontSize',10);
gtext(sprintf('k = %g',k),'FontSize',10);
gtext(sprintf('b = %g',b),'FontSize',10);
c=menu('Ввести нові значення?','Ввести','Залишити')
switch c
case 1
disp('Введіть параметр k')
k=input('k=')
disp('Введіть параметр b')
b=input('b=')
%Створення зміненого графіка функції%
x2=-10:0.1:10;
y2=k./x+b;
subplot(3,4,9:11)
plot(x2,y2)
grid
%Створення запису нових даних%
gtext('Changed values:','FontSize',10);
gtext(sprintf('k = %g',k),'FontSize',10);
gtext(sprintf('b = %g',b),'FontSize',10);
case 2
end
case 3
disp('Введіть параметр а')
a=input('a=')
disp('Введіть параметр b')
b=input('b=')
disp('Введіть параметр с')
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.