資源簡介
matlab局部方法輔助工具源碼,直接解壓放到有你的工程目錄下,就可以使用

代碼片段和文件信息
function?magnify(f1)
%
%magnify(f1)
%
%??Figure?creates?a?magnification?box?when?under?the?mouse
%??position?when?a?button?is?pressed.??Press?‘+‘/‘-‘?while
%??button?pressed?to?increase/decrease?magnification.?Press
%??‘>‘/‘<‘?while?button?pressed?to?increase/decrease?box?size.
%??Hold?‘Ctrl‘?while?clicking?to?leave?magnification?on?figure.
%
%??Example:
%?????plot(1:100randn(1100)(1:300)/3rand(1300))?grid?on
%?????magnify;
%?Rick?Hindman?-?7/29/04
if?(nargin?==?0)?f1?=?gcf;?end;
set(f1?...
???‘WindowButtonDownFcn‘??@ButtonDownCallback?...
???‘WindowButtonUpFcn‘?@ButtonUpCallback?...
???‘WindowButtonMotionFcn‘?@ButtonMotionCallback?...
???‘KeyPressFcn‘?@KeyPressCallback);
return;
function?ButtonDownCallback(srceventdata)
???f1?=?src;
???a1?=?get(f1‘CurrentAxes‘);
???a2?=?copyobj(a1f1);
???set(f1?...
??????‘UserData‘[f1a1a2]?...
??????‘Pointer‘‘fullcrosshair‘?...
??????‘CurrentAxes‘a(chǎn)2);
???set(a2?...
??????‘UserData‘[20.2]?...??%magnification?frame?size
??????‘Color‘get(a1‘Color‘)?...
??????‘Box‘‘on‘);
???xlabel(‘‘);?ylabel(‘‘);?zlabel(‘‘);?title(‘‘);
???set(get(a2‘Children‘)?...
??????‘LineWidth‘?2);
???set(a1?...
??????‘Color‘get(a1‘Color‘)*0.95);
???set(f1?...
??????‘CurrentAxes‘a(chǎn)1);
???ButtonMotionCallback(src);
return;
function?ButtonUpCallback(srceventdata)
???H?=?get(src‘UserData‘);
???f1?=?H(1);?a1?=?H(2);?a2?=?H(3);
???set(a1?...
??????‘Color‘get(a2‘Color‘));
???set(f1?...
??????‘UserData‘[]?...
??????‘Pointer‘‘a(chǎn)rrow‘?...
??????‘CurrentAxes‘a(chǎn)1);
???if?~strcmp(get(f1‘SelectionType‘)‘a(chǎn)lt‘)
??????delete(a2);
???end;
return;
function?ButtonMotionCallback(srceventdata)
???H?=?get(src‘UserData‘);
???if?~isempty(H)
??????f1?=?H(1);?a1?=?H(2);?a2?=?H(3);
??????a2_param?=?get(a2‘UserData‘);
??????f_pos?=?get(f1‘Position‘);
??????a1_pos?=?get(a1‘Position‘);
??????[f_cp?a1_cp]?=?pointer2d(f1a1);
??????set(a2‘Position‘[(f_cp./f_pos(3:4))?0?0]+a2_param(2)*a1_pos(3)*[-1?-1?2?2]);
??????a2_pos?=?get(a2‘Position‘);
??? set(a2‘XLim‘a(chǎn)1_cp(1)+(1/a2_param(1))*(a2_pos(3)/a1_pos(3))*diff(get(a1‘XLim‘))*[-0.5?0.5]);
??? set(a2‘YLim‘a(chǎn)1_cp(2)+(1/a2_param(1))*(a2_pos(4)/a1_pos(4))*diff(get(a1‘YLim‘))*[-0.5?0.5]);
???end;
return;
function?KeyPressCallback(srceventdata)
???H?=?get(gcf‘UserData‘);
???if?~isempty(H)
??????f1?=?H(1);?a1?=?H(2);?a2?=?H(3);
??????a2_param?=?get(a2‘UserData‘);
??????if?(strcmp(get(f1‘CurrentCharacter‘)‘+‘)?|?strcmp(get(f1‘CurrentCharacter‘)‘=‘))
?????????a2_param(1)?=?a2_param(1)*1.2;
??????elseif?(strcmp(get(f1‘CurrentCharacter‘)‘-‘)?|?strcmp(get(f1‘CurrentCharacter‘)‘_‘))
?????????a2_param(1)?=?a2_param(1)/1.2;
??????elseif?(strcmp(get(f1‘CurrentCharacter‘)‘<‘)?|?strcmp(get(f1‘CurrentCharacter‘)‘‘))
?????????a2_param(2)?=?a2_param(2)/1.2;
??????elseif?(strcmp(get(f1‘CurrentCharacter‘)‘>‘)?|?strcmp(get(f1‘CurrentCharacter‘)‘.‘))
?????????a2_param
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????4227??2017-03-19?10:20??magnify.m
評(píng)論
共有 條評(píng)論