Текст файл-программы на языке Math lab
function varargout = mag(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @mag_OpeningFcn, ...
'gui_OutputFcn', @mag_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin & isstr(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function mag_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = mag_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function edits_CreateFcn(hObject, eventdata, handles)
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
function edits_Callback(hObject, eventdata, handles)
function editL_CreateFcn(hObject, eventdata, handles)
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
function editL_Callback(hObject, eventdata, handles)
hL=handles.editL; str=get(hL,'string'); L=str2num(str);
hs=handles.edits;
if L<0
set(hs,'string','L doljno bit >=0'); set(hL,'string',0);
else
set(hs,'string','L vvedeno verno');
end
function editZ_CreateFcn(hObject, eventdata, handles)
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
function editZ_Callback(hObject, eventdata, handles)
hZ=handles.editZ; str=get(hZ,'string'); Z=str2num(str);
hs=handles.edits;
if Z<0
set(hs,'string','Z doljno bit >=0'); set(hZ,'string',0);
else
set(hs,'string','Z vvedeno verno');
end
function editY1_CreateFcn(hObject, eventdata, handles)
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
function editY1_Callback(hObject, eventdata, handles)
function editY2_CreateFcn(hObject, eventdata, handles)
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
function editY2_Callback(hObject, eventdata, handles)
hY1=handles.editY1; str=get(hY1,'string'); Y1=str2num(str);
hY2=handles.editY2; str=get(hY2,'string'); Y2=str2num(str);
hs=handles.edits; hdY=handles.editdY;
if Y2<Y1
hs=handles.edits; set(hs,'string','Y2 doljno bit >=Y1');
set(hY2,'string',num2str(Y1));
else
if Y1==Y2
set(hs,'string','vichislenie dla odnoy tochki'); set(hdY,'string',0);
else
X=(Y2-Y1)*0.001; set(hs,'string','optimalniy shag ukazan v dY');
set(hdY,'string',num2str(X));
end
end
function editdY_CreateFcn(hObject, eventdata, handles)
if ispc
set(hObject,'BackgroundColor','white');
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end
function editdY_Callback(hObject, eventdata, handles)
hdY=handles.editdY; str=get(hdY,'string'); dY=str2num(str);
hY1=handles.editY1; str=get(hY1,'string'); Y1=str2num(str);
hY2=handles.editY2; str=get(hY2,'string'); Y2=str2num(str);
hs=handles.edits; X=(Y2-Y1)*0.001;
if Y1==Y2
if dY==0
set(hs,'string','mojno stroit grafiki');
else
set(hs,'string','vichislenie dla odnoy tochki'); set(hdY,'string',0);
end
else
if X<dY
set(hs,'string','ne vichislayetsa, shag velik'); set(hdY,'string',num2str(X));
else
set(hs,'string','mojno stroit grafiki');
end
end
function lfc_Callback(hObject, eventdata, handles)
hL=handles.editL; hZ=handles.editZ; hY1=handles.editY1;
hY2=handles.editY2; hdY=handles.editdY;
load p.txt;
set(hL,'string',num2str(p(1))); set(hZ,'string',num2str(p(2)));
set(hY1,'string',num2str(p(3))); set(hY2,'string',num2str(p(4)));
set(hdY,'string',num2str(p(5)));
function pushbutton2_Callback(hObject, eventdata, handles)
load f.txt; load p.txt;
Y1=p(3); Y2=p(4); dY=p(5);
hax1=handles.axes1; hax2=handles.axes2; hax3=handles.axes3;
if dY==0
dY=0.000001;
end
axes(hax1); cla; i=1; Y=Y1;
while Y<=Y2
plot(Y,f(i,2)); hold on; i=i+1; Y=Y+dY;
end
axes(hax2); cla; i=1; Y=Y1;
while Y<=Y2
plot(Y,f(i,3)); hold on; i=i+1; Y=Y+dY;
end
axes(hax3); cla; i=1; Y=Y1;
while Y<=Y2
plot(Y,f(i,4)); hold on; i=i+1; Y=Y+dY;
end
function pushbutton3_Callback(hObject, eventdata, handles)
hL=handles.editL; str=get(hL,'string'); L=str2num(str);
hZ=handles.editZ; hY1=handles.editY1; hY2=handles.editY2;
hdY=handles.editdY; hax4=handles.axes4; hax5=handles.axes5;
hax6=handles.axes6; str=get(hZ,'string'); Z=str2num(str);
str=get(hY1,'string'); Y1=str2num(str); str=get(hY2,'string');
Y2=str2num(str); str=get(hdY,'string'); dY=str2num(str); X=L/2;
if dY==0
dY=0.000001;
end
axes(hax4); cla; Y=Y1;
while Y<=Y2
plot(Y,Hx(L,X,Y,Z)); hold on; Y=Y+dY;
end
axes(hax5); cla; Y=Y1;
while Y<=Y2
plot(Y,Hy(L,X,Y,Z)); hold on; Y=Y+dY;
end
axes(hax6); cla; Y=Y1;
while Y<=Y2
plot(Y,Hz(L,X,Y,Z)); hold on; Y=Y+dY;
end