関数の中で、Simulink モデルのシミュレーションを実行し、結果を出力したいということでしょうか?
assignin などを使わずに、Simulation Input というオブジェクトを使用することで、上記実現できます。
参考までに、モデルに 'a' という変数を持つモデルのシミュレーションを実行し、出力結果を渡す一例を下記に記述します。
function y = call_simulink_model(a)
model = 'simple_model';
% シミュレーションに必要な情報を格納するオブジェクトを作成
simIn = Simulink.SimulationInput(model);
% 出力信号の設定
simIn = simIn.setVariable('SaveOutput','on');
simIn = simIn.setVariable('OutputSaveName','yout');
% 変数値の設定
simIn = simIn.setVariable('a',a);
out = sim(simIn);
y = out.yout{1};
plot(y)
end
Simulink.SimulationInput クラスに関する詳細は、下記のドキュメントを参照しながら、色々と試してみてください。