Is there a function Is_array in matlab ?

I may be a newbie in matlab have a small problem with a libray in matlab : I don't know if there a function is_array in matlab.
Error in tt_tensor (line 183) if is_array(varargin{1})
My code worked somme weeks ago but didn't work since yesterday.
If someone could help me, I will be gratfull.

 Accepted Answer

No, there is no "Is_array" inbuilt function in MATLAB, there is "isvector" inbuilt function
isvector(data) returns logical 1 (true) if data is a vector. Otherwise, it returns logical 0 (false).
More: There is "uiarray" function, this function is used primarily for creating UI controls of demos of the toolbox.
Deatail, please check
>> help uiarray

6 Comments

Hi KALYAN,
Thank you for the answer. The problem is that i'm using a function tt-factor() from tt-toolbox library. And the problem is that I can't manipulate this function because it needs is_array().
So probably function didn't exist in matlab, but it exist in c++, so can I use std library cpp in matlab ?
Finaly I decide to use the comnation isvector(size(x)) instead of is array.
Thanks for the help.
Zeng
Zeng 39 minutes ago
Edited: Walter Roberson 13 minutes ago
I encounter the same problem when using TT-toolbox ( https://github.com/oseledets/TT-Toolbox ). I guess maybe there is a time when is_array is usable in matlab but now we can only use ismatrix as a substitute? Since array in python behave just same as matrix, and in matlab we always call a n-dimensional thing a matrix. Just curious whether this is an explanation.
I doubt that there was ever a function named is_array in the remote past. Functions named with an underscore is not Mathworks style for core functions; Mathworks would have used isarray
"in matlab we always call a n-dimensional thing a matrix"
No, we never call a n-dimensional thing a matrix. The MATLAB documentation states "All MATLAB variables are multidimensional arrays, no matter what type of data. A matrix is a two-dimensional array often used for linear algebra."
So a matrix is just an array where all dimensions >2 are scalar. This matches exactly the definition used by ISMATRIX, which states that "A matrix is a two-dimensional array that has a size of m-by-n, where m and n are nonnegative integers."
Using an incorrect definition of matrix is likely to caus a lot of confusion, as your comment indicates.

Sign in to comment.

More Answers (0)

Categories

Find more on Computational Geometry in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!