Group a function's input arguments into a matrix input argument
조회 수: 1 (최근 30일)
이전 댓글 표시
I'm generating two separate functions from symbolic expressions that share parameters so i can fit two datasets simultaneously.
However, each symbolic expression uses upwards of 6 input parameters plus the variable, and the function handle specifies them all individually. For the simultaneous fitting I need al those input variables (the parameters) to be grouped up into a matrix so I can generate a composite function that will fit both datasets simultaneously to the same parameters.
How do I group these input variables in the function @(A0,k1,k2,k3,k4,k5,tau)-... into a function @(par,tau)-....
where par = [A0,k1,k2,k3,k4,k5] ?
댓글 수: 0
채택된 답변
Walter Roberson
2024년 2월 7일
matlabFunction(EXPRESSION, 'vars', {[A0,k1,k2,k3,k4,k5], tau})
댓글 수: 2
Walter Roberson
2024년 2월 7일
Earlier you said
par = [A0,k1,k2,k3,k4,k5]
which is a row vector, but now you are saying
par=[1;
.9;
.6;
0.015;
0.045;
0.055];
which is a column vector.
You need to decide which it is; the 'Variables' mechanism cannot support arbitrary vectors.
If you want par to be a row vector then
SP1_fun = matlabFunction(SP1,'vars',{[A0,k1,k2,k3,k4,k5],tau});
If you want par to be a column vector then
SP1_fun = matlabFunction(SP1,'vars',{[A0;k1;k2;k3;k4;k5],tau});
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!