MATLAB Answers


How to adjust value from matlab-mfile and feedback in simulink

I am having a model in simulink uploaded at:

< >

In the first iteration the model should take value from matlab mfile and calculate error for Pid as e=r-i where 'i' is the value taken from matlab mfile but after that it should take feedback and calculate the error as e=r-y where 'y' is the value of feedback from space state. How can I do that in simulink. Any guidance?



1 Answer

Answer by Muruganandham Subramanian on 5 Dec 2012
Edited by Muruganandham Subramanian on 5 Dec 2012
 Accepted answer

step1:Initialize all i/p data in m-file & variable 'i'

step2: use 'sim()' command to run your model

step3: store the value of 'y' in baseworkspace by 'To workspace' block from model



constant->'(+-)' block->(-)simin(Insteadof this) %simin is not needed

From output(i.e.simout3)--> use 'unit delay'(1/z)block from simulink library, initial codition as '0'( in delay block and then connect to (-)sign of add block

Thank you sir for your reply.Sir in the link given above I have done the same work and I have used the simin command because it is not necessary that initial value taken from mfile is zero, it may vary i.e simin initial value could be 2 or 5 etc.Kindly now tell me how to resolve the issue

Initial condition in unit delay is user specified. so you can give any value like 0 or 2 or 5 or etc...

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!