|
From: | Thomas Treichl |
Subject: | Re: 'length' extension for multiple input arguments? |
Date: | Wed, 04 Feb 2009 22:29:20 +0100 |
User-agent: | Thunderbird 2.0.0.19 (Macintosh/20081209) |
Soren Hauberg schrieb:
Hi All If I have a cell array, and I want to know the length of all elements of this array, it seems I, essentially, have to do something like for k = 1:length (cell_array) lengths (k) = length (cell_array {k}); endfor Would an extension to the 'length' function be acceptable that allowed for multiple input arguments? This would simply implement the above loop and return a vector of integers instead of just an integer. So, length ("hello", 7) would return [5, 1]. Such an extension would allow me to write lengths = length (cell_array {:}); which I think is quite easy to read. Anyway, would such a change be acceptable?
You could also use cellfun instead, if I understand you correctly. But this is just a tip making things faster and doesn't really answer your question if a modification to length() can be made... octave-3.1.51+:1> A = {"hello", 7, "hello world"}; octave-3.1.51+:2> B = cellfun (@(x) length (x), A, "UniformOutput", true) B = 5 1 11 octave-3.1.51+:3> typeinfo (B) ans = matrix Best regards, Thomas
[Prev in Thread] | Current Thread | [Next in Thread] |