diff options
Diffstat (limited to 'frd.sci')
-rw-r--r-- | frd.sci | 43 |
1 files changed, 33 insertions, 10 deletions
@@ -1,17 +1,40 @@ function varargout = frd(varargin) + + +// Stores frequency and response data +// +// Calling Sequence +// plantData = frd(respData,frdData,Ts) +// Parameters +// frdData : nx1 matrix of non-decreasing frequency points +// respData : nx1 matrix of the frequency response +// Ts : non-negative real number +// plantData : frd type module +// Description +// It is a frd type module that stores the frequency and response data with sampling time Ts. The time unite is in second and frequency unit rad/sec. +// Examples +// frdData = 0:1024 +// frdData=frdData'; +// respData = rand(1024,1) +// Ts = 0.1 +// plantData = frd(frdData,respData,Ts) +// Authors +// Ashutosh Kumar Bhargava, Bhushan Manjarekar + + [lhs,rhs] = argn(0) if rhs < 2 || rhs > 4 then errmsg = msprintf(gettext("%s: Wrong numbers of input arguments."), "frd"); error(errmsg) end - frequency = varargin(2) + frequency = varargin(1) freqUnit = 'rad/TimeUnit' if ~iscolumn(frequency) then - errmsg = msprintf(gettext("%s: frequency must be a finite row vector."), "frd"); + errmsg = msprintf(gettext("%s: frequency must be a finite column vector."), "frd"); error(errmsg) end - respData = varargin(1) -// pause + respData = varargin(2) +// pause if size(frequency,'r') <> size(respData,'r') then errmsg = msprintf(gettext("%s: input output matrix dimension must be equal."), "frd"); error(errmsg) @@ -25,13 +48,13 @@ function varargout = frd(varargin) errmsg = msprintf(gettext("%s: Sampling time must be a scalar non negative real number."), "frd"); error(errmsg) end - // saving the spectrum value + // saving the spectrum value if rhs == 4 then spect = varargin(4) else spect = [] end - /// matching its dimensions + // / matching its dimensions if ~size(spect) then elseif size(frequency,'r') <> size(spect,'r') then errmsg = msprintf(gettext("%s: Numbers of power spectra must be equal to the numbers of frequency."), "frd"); @@ -42,7 +65,7 @@ function varargout = frd(varargin) varargout(1) = t endfunction -//overloading +// overloading function %frd_p(varargin) myTlist = varargin(1) f = fieldnames(myTlist) @@ -62,7 +85,7 @@ function %frd_p(varargin) temp = temp + ' ' end temp = temp + string(real(respData(ii))) - // temp = string(real(respData(ii))) + // temp = string(real(respData(ii))) if imag(respData(ii)) > 0 then temp = temp +"+" end @@ -70,8 +93,8 @@ function %frd_p(varargin) else temp = temp + string(imag(respData(ii))) +"i" end - // temp = temp + string(imag(respData(ii))) + " i" - mprintf("\n\t %f \t %s",freqData(ii),temp)//real(respData(ii)),imag(respData(ii))) + // temp = temp + string(imag(respData(ii))) + " i" + mprintf("\n\t %f \t %s",freqData(ii),temp)// real(respData(ii)),imag(respData(ii))) end mprintf("\n\n") end |