📄 eyesig.m
字号:
% Plot expressions invoking signal names from structure x.% Usage: eyesig(x,period,start_off,exp)% Where period is the data period, start_off is the offset time, in seconds% where you want to measure from, exp is the expresion for the signals.% In exp, commas delimit curves to be overlayed and semicolons delimit% seperate subplots on the same figure. E.g., bigeyesig(x,'v1,v2;v3')% creates two subplots, with eyes for v1 and v2 overlayed. Also note% that numeric node names should be prepended by '@' to distinguish% them from constants.% written by Mike Perrott with modifications by Scott Willingham% then hacked by Scott Meninger for use with eye diagrams%% If you want to change the color scheme edit eyediag1.m%% function [] = eyesig(x,period,start_off,exp)function [] = eyesig(x,period,start_off,exp,plot_args)clf;delim_m = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789@+-/*^().:';nsp = 1 + sum(exp == ';'); % number of subplotsr = exp;%% separate curves by '?' to avoid confusion with function arg delimitersnet_paren = 0;for i=1:length(r) if r(i) == '(' net_paren = net_paren+1; elseif r(i) == ')' net_paren = net_paren-1; elseif r(i) == ',' if net_paren == 0 r(i) = '?'; end endendfor i = 1:nsp subplot(nsp,1,i); cplot = [];[t,r] = strtok(r,';'); while length(t) > 0 [s,t] = strtok(t,'?'); if length(s) > 0 cplot = [cplot, cellstr(s)]; end [s,t] = strtok(t,delim_m); endfor y=1:length(cplot) eyediag1(x,period,start_off,cplot(y),y);end% if nargin > 2% bigeye1(x,period,start_off,cplot);% else% end%ylabel(cplot,'Rotation',0,'HorizontalAlignment','left') com=char(','); out=[];for a=1:length(cplot) if length(cplot)>=2 if a<=length(cplot)-1 out=strcat(out,cplot(a),com); else out=strcat(out,cplot(a)); end else out=strcat(out,cplot(a));endendtitle(out)endxlabel(x(1).name);zoom on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -