Number of elements mismatch.

A
ajay_shen · Oct 20, 2021 · 1.9K views
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
Profile picture of Neeta Dsouza
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

Get a Free Consultation or a Sample Assignment Review!