MATLAB Answers

1

2016b fitlm giving me error "Undefined function or variable 'istall'."

Latest activity Answered by Abhinav Gaur on 26 Jul 2017

I recently upgraded to MatLab 2016b, and a script that worked fine in 2016a is now giving me issues. In particular, fitlm(x,y) is giving me the error "Undefined function or variable 'istall'." Thanks in advance.

% CODE
x = [1 2 3 4 5 6 7 8 9 10];
y = [1 4 9 16 25 36 48 64 91 99];
test = fitlm(x,y);
% OUTPUT
Undefined function or variable 'istall'.
Error in classreg.regr.TermsRegression.createFormula (line 621)
                isTall      = istall(X);
Error in LinearModel.createFormula (line 1367)
            formula = classreg.regr.TermsRegression.createFormula(supplied,modelDef, ...
Error in LinearModel.fit (line 1203)
            model.Formula = LinearModel.createFormula(supplied,modelDef,X, ...
Error in fitlm (line 117)
model = LinearModel.fit(X,varargin{:});

  2 Comments

Can you post the results of

which -all istall
which -all fitlm

I have the same problem (istall not found).

>> ver('matlab')
----------------------------------------------------------------------------------------------------
MATLAB Version: 9.1.0.441655 (R2016b)
MATLAB License Number: ••••••
Operating System: Microsoft Windows 7 Professional  Version 6.1 (Build 7601: Service Pack 1)
Java Version: Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
----------------------------------------------------------------------------------------------------
MATLAB                                                Version 9.1         (R2016b)
>> which -all istall
'istall' not found.
>> which -all fitlm
C:\Program Files\MATLAB\R2016b\toolbox\stats\classreg\fitlm.m

Edit: Very dirty workaround (works if you're not working with tall arrays): Add this function to your path:

function out = istall(varargin)
out = false;

Log in to comment.

2 Answers

Answer by michio
on 17 Oct 2016
Edited by michio
on 20 Oct 2016

Hmm I could not reproduce your issues. One possibility is that the error comes due to corrupt path or installation. Have you tried restore your path settings? If no, it's worth a try.

If it allows please follow the steps below to restore search path to its factory-installed state.

1. Execute the commands:

 restoredefaultpath
 rehash toolboxcache

2. Execute your code:

x = [1 2 3 4 5 6 7 8 9 10];
y = [1 4 9 16 25 36 48 64 91 99];
test = fitlm(x,y); 

If this works fine, then execute the following command to save the path

 savepath

  1 Comment

istall is a MATLAB function introduced in R2016b.

If you installed successfully and the path is correct, it should be located in

matlabInstallDir\toolbox\matlab\bigdata\istall.m

Log in to comment.


Answer by Abhinav Gaur on 26 Jul 2017

In my case, as @Kojiro suggested, the file

'istall.m' 

did exist in the directory

'matlabInstallDir\toolbox\matlab\bigdata'

I added it manually using 'addpath()' and now fitglm works for me.

  0 Comments

Log in to comment.


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today