Question
Hi everyone, I have a dimension issue: I have a Simulink Matlab Function block that has a [3x1] vector of values called pd as its input. This vector should turn into a [6x1] vector called pdot by adding three zeros to every element. Basically just resizing from to it sounds rather simple but I can't get it to work. The code that I use in my Simulink function block is shown below. function pdot = fcn(pd) pdot = zeros(6,1); temp = zeros(6,1); for i = 1:length(pd) pdot(i) = temp(i) + [pd(i); 0; 0; 0]; end end
Expert Answer
Neeta Dsouza
PhD Expert
Answered Aug 24, 2026
This seems like you maybe over complicated it? Is it as simple as...
x=[1;3;5]
x = 3×1
1 3 5
fcn(x)
ans = 6×1
1 3 5 0 0 0
function pdot = fcn(pd) pdot=[pd;0;0;0]; end
Have a different question? Ask here
Related matlab Questions & Solutions
Browse All →
Explore similar technical troubleshooting questions and verified MATLAB solutions:
Ready-to-Run MATLAB & Simulink Projects
Browse All Projects →