📄 da_cut.m
字号:
%
% da_cut.m
%
% Data cutting and interpolation
%
da_front;
drawnow;
pl=1;
old_sl1_value=1;
[num_points num_var]=size(data);
left_point=1;
right_point=num_points;
text(1)=da_text2(w1,10,400,600,20,'Data Interpolation and Cutting',[1 1 1],[0 0 0.5],'center');
ax1=axes;
set(ax1,...
'Units','pixels',...
'Position',[45 150 565 230],...
'Box','on',...
'fontsize',10,...
'Color',[0 0 0],...
'Visible','on');
%
% Frames
%
box1=uicontrol(w1,...
'style','frame',...
'position',[400 10 210 90],...
'foregroundColor',[1 1 1],...
'backgroundcolor',[0 0 0.5]);
box2=uicontrol(w1,...
'style','frame',...
'position',[10 10 380 90],...
'foregroundColor',[1 1 1],...
'backgroundcolor',[0 0 0.5]);
text(2)=da_text2(w1,15,75,370,20,'Pick a variable to examine',[1 1 1],[0 0 1],'center');
text(3)=da_text(w1,15,20,120,20,'Variable number:',[1 1 1],[0 0 0.5]);
text(4)=da_text(w1,140,20,10,20,'1',[1 1 1],[0 0 0.5]);
text(5)=da_text(w1,365,20,20,20,num2str(num_var),[1 1 1],[0 0 0.5]);
text(6)=da_text(w1,320,40,40,20,'',[1 1 1],[0 0 0.5]);
%
% Buttons
%
but(1)=uicontrol(w1,'style','push','position',[410 20 90 30],'string','Assign Right','callback',[
'[right_point L]=ginput(1);',...
'right_point=ceil(right_point);',...
'cla;',...
'axes(ax1);',...
'stairs(data(:,pl));',...
'set(ax1,''fontsize'',10);',...
'a=line([right_point right_point],get(ax1,''ylim''));',...
'set(a,''color'',[1 0 0]);',...
'a=line([left_point left_point],get(ax1,''ylim''));',...
'set(a,''color'',[1 0 0]);']);
but(2)=uicontrol(w1,'style','push','position',[410 60 90 30],'string','Assign Left','callback',[
'[left_point L]=ginput(1);',...
'left_point=ceil(left_point);',...
'cla;',...
'axes(ax1);',...
'stairs(data(:,pl));',...
'set(ax1,''fontsize'',10);',...
'a=line([right_point right_point],get(ax1,''ylim''));',...
'set(a,''color'',[1 0 0]);',...
'a=line([left_point left_point],get(ax1,''ylim''));',...
'set(a,''color'',[1 0 0]);']);
but(3)=uicontrol(w1,'style','push','position',[510 20 90 30],'string','Interpolate','callback',[
'sp=min([left_point right_point]);',...
'ep=max([left_point right_point]);',...
'left_value=data(sp,pl);',...
'right_value=data(ep,pl);',...
'gr=(left_value-right_value)/(ep-sp);',...
'for i=1:ep-sp;',...
'data(sp+i,pl)=left_value-((i-1)*gr);',...
'end;',...
'[num_points num_var]=size(data);',...
'left_point=1;',...
'right_point=num_points;',...
'cla;',...
'axes(ax1);',...
'stairs(data(:,pl));',...
'set(ax1,''fontsize'',10);']);
but(4)=uicontrol(w1,'style','push','position',[510 60 90 30],'string','Cut data','callback',[
'data=[data(1:min([left_point right_point]),:) ; data(max([left_point right_point]):num_points,:)];',...
'[num_points num_var]=size(data);',...
'left_point=1;',...
'right_point=num_points;',...
'cla;',...
'axes(ax1);',...
'stairs(data(:,pl));',...
'set(ax1,''fontsize'',10);']);
%
% Slider
%
sl1=uicontrol(w1,'style','slider','position',[160 20 200 20],'min',1,'max',num_var,'value',1,'callback',[
'pl=ceil(get(sl1,''Value''));',...
'if pl ~= old_sl1_value;',...
'old_sl1_value=pl;',...
'set(text(6),''string'',num2str(pl));',...
'axes(ax1);',...
'stairs(data(:,pl));',...
'set(ax1,''fontsize'',10);',...
'end;']);
%
% Plot the current variable
%
set(text(6),'string',num2str(pl));
axes(ax1);
stairs(data(:,pl));
set(ax1,'fontsize',10);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -