- •Содержание
- •Теоретическое введение
- •Постановка задачи
- •Функции
- •Первая часть : 1) Интерфейс
- •1.1)Исходный код функции launch
- •1.1.1)Исходный код подфункции graph
- •1.1.2)Исходный код подфункции read
- •1.1.3)Исходный код подфункции clearaxes
- •2.1) Исходный код функции main
- •2.1.1) Исходный код подфункции fun
- •2.1.2) Исходный код подфункции furie
- •2.1.3) Исходный код подфункции find_koef1
- •2.1.4) Исходный код подфункции find_koef2
- •2.1.5) Исходный код подфункции find_koef0
- •Пример вызова программы
1.1)Исходный код функции launch
Функция launchне имеет ни входных ни выходных параметров. Она создает окно интерфейса.Содержит подфункции : graph , read , clearaxes , mlchec , cppchec.Эти подфункции обеспечивают работу всех составляющих интерфейса.
function launch
global haxes h_k h_n h_z h_c
%----------------------------график-----------------------------
hfig=figure('NumberTitle','off','name','Approx',...
'position',[100,100,700,500]);
haxes=axes('Units','pixels','position',[50 100 300 300]);
%----------------------------подписи----------------------------
uicontrol(hfig,'style','text','string','k=',...
'position',[45 10 25 25],'backgroundcolor',[.8 0.8 0.8]);
uicontrol(hfig,'style','text','string','n=',...
'position',[125 10 25 25],'backgroundcolor',[.8 0.8 0.8]);
uicontrol(hfig,'style','text','string','z=',...
'position',[205 10 25 25],'backgroundcolor',[.8 0.8 0.8]);
uicontrol(hfig,'style','text','string','k-какую частичную сумму вычислить и пострить',...
'position',[470 200 100 60],'backgroundcolor',[.8 0.8 0.8]);
uicontrol(hfig,'style','text','string','n-сколько разбиений,для вычисления интеграла',...
'position',[470 300 100 60],'backgroundcolor',[.8 0.8 0.8]);
uicontrol(hfig,'style','text','string','z-на сколько частей делить отрезок [2;11]',...
'position',[470 400 100 60],'backgroundcolor',[.8 0.8 0.8]);
uicontrol(hfig,'style','text','string','Инструкция:',...
'position',[95 470 500 25],'backgroundcolor',[.8 0.8 0.8]);
uicontrol(hfig,'style','text','string','1)ввести значения n и k. 2)нажать на "график". 2)нажать на "запустить р-ту в с++" ',...
'position',[95 455 500 25],'backgroundcolor',[.8 0.8 0.8]);
%----------------------------поля ввода-------------------------
h_k=uicontrol(hfig,'style','edit','position',[65 10 40 25],...
'backgroundcolor',[1 1 1],'horizontalalignment','left','enable','on');
h_n=uicontrol(hfig,'style','edit','position',[150 10 40 25],...
'backgroundcolor',[1 1 1],'horizontalalignment','left','enable','on');
h_z=uicontrol(hfig,'style','edit','position',[235 10 40 25],...
'backgroundcolor',[1 1 1],'horizontalalignment','left','enable','on');
%----------------------------кнопки-----------------------------
uicontrol(hfig,'style','pushbutton','string','график',...
'position',[400 80 120 25],'callback','graph');
uicontrol(hfig,'style','pushbutton','string','запустить р-ту в с++',...
'position',[550 80 120 25],'callback','read');
uicontrol(hfig,'style','text','string',...
'Рис.1 График функций',...
'position',[50 40 300 35],'backgroundcolor',[.8 0.8 0.8]);
uicontrol(hfig,'style','pushbutton','string','открыть cpp.txt',...
'position',[400 43 120 25],'callback','cppchec');
uicontrol(hfig,'style','pushbutton','string','открыть ML.txt',...
'position',[550 43 120 25],'callback','mlchec');
h_c=uicontrol(hfig,'Style','pushbutton','Position',[320 10 45 30],'String', 'очистить','Callback','clearaxes' );
end
1.1.1)Исходный код подфункции graph
Подфункция graphне имеет ни входных, ни выходных параметров. Она предназначена для вызова интерфейсом, чтобы выводить график исходной функции и отправлять значенияk,n,zв программу С++,для вычисления координат аппроксимированной функции.
function graph
global h_k h_n h_z
hold on;
x=[2,5,8,11];
y=[0,2,2,0];
plot(x,y,'-m');
k=str2double(get(h_k,'string'));
n=str2double(get(h_n,'string'));
z=str2double(get(h_z,'string'));
m=[k,n,z];
f=fopen('CPP.txt','wt');
fprintf(f,'%u\n',m);
fclose(f);
hold off;
grid on;
end