Why I get different result at Simulink? (Matlab, Simulink)
    18 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Bob
      
 el 23 de Abr. de 2016
  
    
    
    
    
    Comentada: Stefan Raab
      
 el 23 de Abr. de 2016
            Why I get different results? (Matlab, Simulink)
My problem is that I get different results with Matlab (Transfer Function) and Simulink at closed loop.
Amplitude is different and when I zoom at Simulink's Plot I get this odd irregularity.
Matlab:

Simulink:

0 comentarios
Respuesta aceptada
  Stefan Raab
      
 el 23 de Abr. de 2016
        Hello,
I suppose that depends on the solver. The documentation of the "step" function describes in the "More About/Algorithms" section, that the sample time is chose automatically, fixed step if I remember correctly. In Simulink however, you might have used a variable step solver (probably ode45), which is more accurate generally. You can also execute the "step" function with a specified sample time, try a really small sample time as 1e-6 or 1e-7 as this should increase the accuracy. The command then would be:
t = 0:1e-6:10;
step(YourSYS,t);
For the documentation on the step function, execute the following command:
web(fullfile(docroot, 'control/ref/step.html'))
Does this yield more accurate results?
Kind regards, Stefan
2 comentarios
  Stefan Raab
      
 el 23 de Abr. de 2016
				I'm glad it works now. But I would use the t for the step function, not the Simulink model. The variable step solvers in Simulink are more powerful and now you force to simulate with a fixed step solver. This cannot adjust it's step size in order to achieve better accuracy and it cannot react to zero-crossings.
Más respuestas (0)
Ver también
Categorías
				Más información sobre General Applications en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

