⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formulastring.m

📁 这是一个基于matlab开发的关于c语言的图形转换程序,可实现直方图的生成和传输
💻 M
字号:
function s = formulastring(Signal,N)%FORMULASTRING Gets the formula string for the CEXPONENTIAL object.%   s = FORMULASTRING(Signal) returns a formatted string which represents%   the formula for the CEXPONENTIAL object Signal.  N is the number of digits
%   of precision in the NUM2STR call.  It defaults to N = 3.%   See also CEXPONENTIAL, NUM2STR% Jordan Rosenthal,  04-Nov-1999%              Rev., 26-Oct-2000 Revised comments

if nargin == 1, N = 3; end

TOL = 1e-6;
if abs(Signal.ScalingFactor-1)<TOL
   sA = ' ';
elseif abs(Signal.ScalingFactor+1)<TOL
   sA = '-';
else
   sA = num2str(Signal.ScalingFactor,N);
end

if strcmp(lower(Signal.Causality), 'causal')
      d  = Signal.Delay * (abs(Signal.Delay)>TOL);
   l = (Signal.Delay+Signal.Length) * (abs(Signal.Delay+Signal.Length)>TOL);
   a = Signal.ExpConstant;
   signd = char( '-' * (d>=0) + '+' * (d<0) );
   signl = char( '-' * (l>=0) + '+' * (l<0) );
   signa = char( '-' * (a>=0) + '+' * (a<0) );
   signa = strrep(signa,'+','');   
   t = '\itt\rm';
   arg = ['(' t ')'];
   u = ['\itu\rm' arg];
   e = [ 'e^{' signa num2str(abs(a),N) t '}'];
   
   e  = strrep(e,t,  ['(\itt\rm ' signd ' ' num2str(abs(d),N) ')' ]);
   u1 = strrep(u,arg,['(\itt\rm ' signd ' ' num2str(abs(d),N) ')' ]);
   u2 = strrep(u,arg,['(\itt\rm ' signl ' ' num2str(abs(l),N) ')' ]);
   e = strrep(e,'(\itt\rm - 0)',t);
   u1 = strrep(u1,'(\itt\rm - 0)',arg);
   u2 = strrep(u2,'(\itt\rm - 0)',arg);
   
else
      d  = -Signal.Delay * (abs(Signal.Delay)>TOL);
   l = (Signal.Delay-Signal.Length) * (abs(Signal.Delay-Signal.Length)>TOL);
      signd = char( '-' * (d>=0) + '+' * (d<0) );
   a = -Signal.ExpConstant;
   signl = char( '-' * (l>=0) + '+' * (l<0) );
   signa = char( '-' * (a>=0) + '+' * (a<0) );
   signa = strrep(signa,'+','');   
   t = '\itt\rm';
   arg = ['(-' t ')'];
   u = ['\itu\rm' arg];
   e = [ 'e^{' signa num2str(abs(a),N) t '}'];
   
   e  = strrep(e,t,  ['(-\itt\rm ' signd ' ' num2str(abs(d),N) ')' ]);
   u1 = strrep(u,arg,['(-\itt\rm ' signd ' ' num2str(abs(d),N) ')' ]);
   u2 = strrep(u,arg,['(-\itt\rm ' signl ' ' num2str(abs(l),N) ')' ]);
   e = strrep(e,'(-\itt\rm - 0)',t);
   u1 = strrep(u1,'(-\itt\rm - 0)',arg);
   u2 = strrep(u2,'(-\itt\rm - 0)',arg);

end

if abs(Signal.ScalingFactor) < TOL
   s = '0';
else   s = [ sA e ' [ ' u1 ' - ' u2 ' ]' ];
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -