MATLAB: Logistic Regression – Error: The sizes of B and X are incompatible.

b and x are incompatibleerroririslogistic regressionprediction

I am trying to use Logistic regression to predict the class of IRIS data set.
data=LoadIRISData();
class=zeros(150,1);
class(1:50,1)=1;
class(51:100,1)=2;
class(101:150,1)=3;
dataf=[data(1:20,:);data(51:70,:);data(101:120,:)];
classf=[class(1:20,:);class(51:70,:);class(101:120,:)];
betaHatNorm=mnrfit(dataf,classf);
datat=[data(21:50,:);data(71:100,:);data(121:150,:)];
pHatNom = mnrval(betaHatNom,datat);
When I run the code, I get the following error.
??? Error using ==> mnrval at 191
The sizes of B and X are incompatible.
Error in ==> logireg at 15
pHatNom = mnrval(betaHatNom,datat);
I am new with logistic regression, I am not sure, why I get the error. I even tried making the rows number of dataf and datat same but without success.
Thank you.

Best Answer

If I type
load fisheriris
data = meas
and then run your code after from the "load" line, then it works okay after I correct the spelling of betaHatNorm on the last line. Could it be you have two versions of that variable, and you're picking up the wrong one?