How to linearize a nonlinear model in simulink ...?

8 views (last 30 days)
I have the mathematical modeling (block diagram) of water level control of a tank, but the feedback is a square root function. I ask travez linearize the model in Matlab.
I was trying to linmod command ('sys') but throw me an error:
>> [num,den]=linmod('sys') Warning: Using a default value of 0.2 for maximum step size. The simulation step size will be equal to or less than this value. You can disable this diagnostic by setting 'Automatic solver parameter selection' diagnostic to 'none' in the Diagnostics page of the configuration parameters dialog > In dlinmod at 172 In linmod at 60 Warning: Square root of a negative number in 'sys/Sqrt'. Consider setting the 'Output signal type' to complex. > In dlinmod at 208 In linmod at 60 ??? Error using ==> eig Input to EIG must not contain NaN or Inf.
Error in ==> poly at 26 e = eig(x);
Error in ==> ss2tf at 36 den = poly(a);
Error in ==> dlinmod_post at 145 [a,b] = feval('ss2tf',a,b,c,d,1);
Error in ==> sl at 16 [varargout{1:nargout}]=feval(varargin{:});
Error in ==> dlinmod at 231 [a,b] = sl('dlinmod_post', J, model, t, Ts, x, u, lmflag, spflag, para);
Error in ==> linmod at 60 [varargout{1:max(1,nargout)}] = dlinmod(model, Ts, varargin{:}, Args);
I said before I use the command to cut the trim function in a singular point and linearizing at that point.

Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!