[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Access the neighbors of an element
From: |
Francesco Potorti` |
Subject: |
Re: Access the neighbors of an element |
Date: |
Thu, 10 Feb 2005 13:03:37 +0100 |
>I want to compare the neighbors of an element to the element, but this is
>harder than I thought.
>
>My idea:
>
> neighbor = [-n, n, -1, 1] + pos(t);
> if any(neighbor(4) == down)
> neighbor(4) = [];
> end
> if any(neighbor(3) == up)
> neighbor(3) = [];
> end
> if neighbor(2) > n*n
> neighbor(2) = [];
> end
> if neighbor(1) < 1
> neighbor(1) = [];
> end
> Y_energ = X_energ + 2*(length(neighbor) -...
> 2*sum( X(pos(t)) ~= X(neighbor) ));
>
>But this is slower than
> Y_energ = 2* (n*(n-1)...
> - sum(sum( Y(1:n-1, :) == Y(2:n, :) ))...
> - sum(sum( Y(:, 1:n-1) == Y(:, 2:n) )) );
>
>with n=20. In one sentence: it is faster to compare and count twice
>nearly 800 elements, than find and access the four neighbors of an
>element. That's lunatic.
sum is a very quick operation, while evaluating an if is not, and you do
it four times. Generally speaking, builtin functions are very quick, as
long as your data fit in real memory, while interpreting code is not.
>How can I make it better?
I am not sure I understand what you want to do.
--
Francesco Potortì (ricercatore) Voice: +39 050 315 3058 (op.2111)
ISTI - Area della ricerca CNR Fax: +39 050 313 8091
via G. Moruzzi 1, I-56124 Pisa Email: address@hidden
Web: http://fly.isti.cnr.it/ Key: fly.isti.cnr.it/public.key
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------
- Access the neighbors of an element, Joerg Sommer, 2005/02/09
- Re: Access the neighbors of an element, Mike Miller, 2005/02/09
- Re: Access the neighbors of an element,
Francesco Potorti` <=
- Message not available
- Re: Access the neighbors of an element, Jörg Sommer, 2005/02/10
- Re: Access the neighbors of an element, Francesco Potorti`, 2005/02/11
- Re: Access the neighbors of an element, Joerg Sommer, 2005/02/11
- Re: Access the neighbors of an element, John W. Eaton, 2005/02/11
- Data types (was: Re: Access the neighbors of an element), Joerg Sommer, 2005/02/12
- Data types (was: Re: Access the neighbors of an element), John W. Eaton, 2005/02/12
- Re: Data types (was: Re: Access the neighbors of an element), Paul Kienzle, 2005/02/12
- Re: Data types (was: Re: Access the neighbors of an element), Paul Kienzle, 2005/02/12
- Re: Access the neighbors of an element, Joerg Sommer, 2005/02/12