Створення програми для рішення обчислювальних задач. Програма перегляду графіків математичних функцій

Страницы работы

Содержание работы

Міністерство освіти і науки України

Національний технічний університет України

«Київський політехнічний інститут»

Домашня робота

з предмету:

Основи програмування, теорії автоматичного управління

тема:

«Створення програми для рішення обчислювальних задач»

Виконав:

Студент групи МА-81

Скрильов І.Г.

Київ 2011

Мета: Отримати навички побудови додатків для рішення обчислювальних задач з використанням системи проведення математичних розрахунків MatLAB.

«Програма перегляду графіків математичних функцій»

Опис: В даному представленні розглядається програма перегляду графіків основних математичних функцій в загальному вигляді, з подальшою їх зміною параметрів. Дана програма може використовуватись при навчанні,  при розв’язку задач, при ознайомленні із законами математики.

Програма, що створена на базі системи математичних розрахунків MatLAB, може створювати графіки таких видів функцій: лінійної, оберненої пропорційності, квадратичної, степеневої, показникової та логарифмічної.

Зображення функції відбувається в трьох графічних вікнах: перше з яких базове зображення функції з одиничними коефіцієнтами при аргументі та нульовими вільними коефіцієнтами; друге зображення функції з початковими введеними параметрами; третє вікно з зображенням функції зі зміненими параметрами.

При побудові графіків функцій, параметри їх виставляються в будь-яке зручне місце для зчитування.

Програма створена з використанням діалогового режиму, що спрощує її використання та є більш зручним.

Блок-схема:

Початок програми

,Вибір типу функції,Ввід параметрів f1 fААффунфф функфунффункції,Створення циклу для побудови графіка функції,Створення циклу для побудови  зміненого графіка функції

,Ввід параметрів f2,Вивід графіка функції та введених параметрів,Вивід графіка зміненої функції та введених параметрів

,Змінити параметри?
 


так

                                       ні

Кінець програми

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('Введіть параметр с')

Похожие материалы

Информация о работе