Hi,
As you haven't mentioned the exact problem you are facing, I can address the issue with your code which I noticed:
You're trying to create matrix-valued strings. The variables t and h are being constructed as character arrays instead of proper numeric arrays that are converted to strings. You need to format the matrix properly using mat2str:
t = ['1' '2/3*pi*randn-pi/3' '2/3*pi*randn-pi/3' '2/3*pi*randn-pi/3'];
h = ['1' '0' '0' '0'];
h = ['1'; '0'; '0'; '0';];
These lines create character arrays (strings), not numerical arrays (matrices). For example, ['1' '0' '0' '0'] is the string "1000", not the row vector [1 0 0 0].
I have corrected the part of the code below:
function in = motorResetFcn(in)
blk = 'sphericalMotorRL/Target_Posture';
t = [1, 2/3*pi*randn - pi/3, 2/3*pi*randn - pi/3, 2/3*pi*randn - pi/3];
in = setBlockParameter(in, blk, 'Value', mat2str(t));
blk = 'sphericalMotorRL/sphericalMotor/s';
s0 = [1, 0, 0, 0];
in = setBlockParameter(in, blk, 'InitialCondition', mat2str(s0));
blk = 'sphericalMotorRL/sphericalMotor/a';
a0 = [1; 0; 0; 0];
in = setBlockParameter(in, blk, 'InitialCondition', mat2str(a0));
end
Here is more information on "mat2str" :
Hope this helps!