MATLAB Answers

Call Python function scipy.stat​s.anderson​_ksamp from Matlab 2017a with options

8 views (last 30 days)
Eric on 12 Oct 2017
Answered: Eric on 23 Oct 2017
It's straightforward to call the Python KS test from MATLAB:
foo = py.scipy.stats.ks_2samp(rand(1,50),rand(1,70));
But when I call the Anderson-Darling k-sample test this way I get one error:
bar = py.scipy.stats.anderson_ksamp(rand(1,50),rand(1,70));
"Python Error: AxisError: axis -1 is out of bounds for array of dimension 0"
and this way results in another error (here, I'm trying to set midrank = false, thinking that might be the cause of the previous error)
bar = py.scipy.stats.anderson_ksamp(rand(1,50),rand(1,70),false);
bar = py.scipy.stats.anderson_ksamp(rand(1,50),rand(1,70),'false');
bar = py.scipy.stats.anderson_ksamp(rand(1,50),rand(1,70),'midrank=false');
"Python Error: TypeError: anderson_ksamp() takes from 1 to 2 positional arguments but 3 were given"
I've read as well as older questions about calling Python from Matlab, but the older questions do not apply to the current API.
Question 1: How do I call anderson_ksamp in MATLAB?
Question 2: How do I change the significance level of this test?
  1 Comment
Eric on 12 Oct 2017
Note: I'm using a newly installed Python 3.6 along with the Numpy and Scipy libraries (I am calling the correct version within my code).

Sign in to comment.

Accepted Answer

Eric on 23 Oct 2017
Answer provided at

More Answers (0)


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by