[Scilab-users] vectoriztion and sets of data

Paul Carrico paul.carrico at free.fr
Thu Nov 22 16:06:58 CET 2012


The original code looked like 
 I’m trying to optimized it (ok for the “if”,
but how to combine a set of data and vectorization (??? Many trials but I
failed)

 

// initial matrix

A = rand(8,6);

B = zeros(8,6);

C = [A ; A; B; A; B; B; A];

[nr,nc] = size(C);

 

// original code looks like

D = zeros((nr/8),1);

for i = 1 : (nr/8)

    search = max(abs(C((8*(i-1)+1):(8*i),:)));

    if (search > 0) then

        D(i,1) = 1;

    else

        D(i,1) = 0;

    end

end

 

 

De : users-bounces at lists.scilab.org [mailto:users-bounces at lists.scilab.org]
De la part de Adrien Vogt-Schilb
Envoyé : jeudi 22 novembre 2012 15:54
À : International users mailing list for Scilab.
Objet : Re: [Scilab-users] vectoriztion and sets of data

 

On 22/11/2012 15:48, Paul Carrico wrote:

Dear All,

 

On the above example, it should be possible to select a sets of rows, should
not ? if so how please ?

 

Thanks

 

Paul


Hi

Didn't understand your question, have a look at this:

A=[1:10]'*2

rows = [1;6;2]

B=zeros(A)

B(rows) = A(rows)


hope this helps




 

###################################################

mode(0)
 
// initial matrix
A = rand(8,6);
B = zeros(8,6);
C = [A ; A; B; A; B; B; A];
[nr,nc] = size(C);
 
// each set of 8 rows is analysed
Search = zeros((nr/8),1);
//i = ones((nr/8),1).* 1;
i = [1:(nr/8)]';
// Search = max(abs(C((8*(i - 1) + 1):(8 * i),:)));
Search = max(abs(C([i. * 8 - 7 : i. * 8],:)))
;
B = (find(Search == 0))';
 
D = zeros((nr/8),1);
D(B,2) = 1;

 

 

 






_______________________________________________
users mailing list
users at lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20121122/678a595a/attachment.htm>


More information about the users mailing list