Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

How do I assign a signal value to a variable after a block?

Status
Not open for further replies.

limo68

Industrial
Jul 25, 2013
2
Hi,
Im a begginer using Simulink, may you help me out please? I'll try to explain myself as good as possible:

How can I assign the output signal value from a function block (for exapmle) to a variable? The case is that a table from workspace is introducing values to a "fcn" block, which has to do an operation, and after that, change the value of a variable and repit this operation everytime the block throws new data.

I think it has to be easy but I don't get the point.

Thank you!
 
Replies continue below

Recommended for you



In other words:

I've got a model that gives an output Vs(t), so to speak a simulated voltage as a function of time. I'd like to compare this voltage Vs(t) with the real voltage Vr(t) every single moment, and obtain the error in that instant "E(t)". I want to use this error to change the next voltage Vs'(t+1), in order to reduce the difference between Vs(t+1) and Vr(t+1).

FOR INSTANCE:

Vs(1)= 50, Vr(1)= 42 => The error will be E(1)= 8; The coefficient: 42/50=0.84

If I don't take into the account this error, this will be as big as before in the next second: Vs(2)=49, Vr(2)=40

However, if I give a feed back to Vs(t+1) with the error obtained in t: Vs'(2)= 49*0.84 = 41.16, Vr(2)= 40 => The errors decreases up to 1.16 instead of 9, however, as I don't want to modify the output Vs(t) from the model, the error E(2) used for Vs(3) will be: 49-40= 9; 40/49=0.82

Vs'(3)= 47*0.82=38.54, Vr(3)=38 => The error decreases to 0.54 instead of 9.

And so on...., THEREFORE, I DON'T WANT TO MODIFY NEITHER Vs(t) NOR Vr(t), BUT TO GET A NEW OUTPUT Vs'(t) = Vs(t)*Vr(t-1)/Vs(t-1)

This is what I have:

- Vr(t): output from a block "table from workspace" in which there are 2 columns (the first one is the time and the second the Vreal)

- Vs(t): output from a model

How can I do this?

Help me out please! THANK YOU IN ADVANCE
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor