MATLAB: Vector shift block in simulink

simulinkvector shift

I want to shift vector A = [1 2 3 4 5] to left by one element -> [2 3 4 5 1], is there a block in Simulink to do this? Thanks!

Best Answer

I don't know of such a block in Simulink, but you should be able to use the equivalent MATLAB function circshift in a MATLAB Function block. Another more efficient may might be to use the Demux block followed by the Mux block. Since this is just a re-arrangement of your elements, so you need to connect the outputs of the Demux to the inputs of the Mux in the desired order.