If I'm fitting using lsqnonlin, is there a matlab script function that returns the group number? The idea is to allow use of covariates without having to add false dose columns in the dataset. I could use the group variable to look up parameters in a table, and use assignment rules to set parameters. So I could use covariates to set some parameters while fitting other. As in fitting a PK model with some data, and then using the typical parameter values plus covariate rules to set PK parameter when I do a PD fit using data from another trial/dataset. One could (perhaps) use the following script to set parameter parA Repeat assignment rule for parA is parA = getparA(); getparA.m % [parA] = getparA(); % returns parA gp = getgroupvar(); % This is the function I'm asking about if ~exist(parAdata) parAdata = dataset('parAdata.xlsx'); % columns are subject and parA values end [~,idx]=ismember(gp,parAdata(:,1)); idx(idx==0)=[]; parA = parAdata(idx,2); This would allow one to set any number of parameter values without modifying the dataset. Alternately I could create a copy of the subject column (dummy_subj) and create a species subj_number in the model. Then dummy_subj could be used to put a dose in subj_number, and I could do the same lookup approach. The point is, once one does (for example) a PK fit to get individual parameters (either with nlmefit or lsqnonlin), there are a lot of machinations needed to actually USE the parameter values in subsequent fits. Also, nlmefit, one can add covariate effect when one is fitting a specific parameter. But (my understading is that if one unclicks the "estimate" tic box so that the parameter is not fitted, then this turns off the covariate effect as well.