Variables in workspace are not updated in Simulink when using Matlab function

1 view (last 30 days)
So, basically I create a system that produce an output array of repeating square pulse (eg. 111000111000) that I put into the Matlab workspace using a "To Workspace" block as shown in the figure
In the matlab function, I want to create a shifted version of the array to calculate the repeating pattern.So i create a script:
function fest = fcn(phasediff)
phasediffX = [phasediff(end),phasediff(1:end-1)]
for v=1:length(phasediff)
phasediffX = [phasediffX(end),phasediffX(1:end-1)]
if phasediffX==phasediff
break
else
end
end
fest = v
after running the script with Run Model, the only variable that was read in the workspace was the phasediff from the simulink.
How do I integrate these new variables (phasediffX & v) in the function, so i can get a proper output?

Answers (1)

Navya Seelam
Navya Seelam on 9 Jun 2020
Since you have used a single To Workspace block, only single variable phasediff is transferred to MATLAB workspace. In case you are trying to export more variables, use as many To Workspace blocks as required.

Categories

Find more on Simulink Functions in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!