Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Can my code be made more efficient using MATLAB's vectorization?
Replies: 4   Last Post: Feb 16, 2013 6:55 PM

 Messages: [ Previous | Next ]
 dpb Posts: 9,850 Registered: 6/7/07
Re: Can my code be made more efficient using MATLAB's vectorization?
Posted: Feb 14, 2013 3:32 PM

On 2/14/2013 11:49 AM, Jeff wrote:
> Is there a better, more MATLAB-y way, to write this code (that is,
> using vectors)? Eventually, this will be used for large amounts of
> data (from a program running on a cluster), so I need it as efficient
> as possible.
>
> U and W are T rows x N columns matrices. Variable evals is a 1 by N
> matrix of the eigenvalues (of some other matrix which doesn't matter
> for this post). For now, the largest value of T is about 1000, but
> eventually it will be many thousands (maybe even millions).
>
> So the first thing I need to do (variable P_p) is subtract the each
> entry on the row from the one to its right (for now, I only have
> periodic conditions coded). I think I have that variable coded fairly
> efficiently (yes? no?).
>
> if strcmp(boundary,'periodic')
> nMinusOne=[N 1:N-1];
> nPlusOne=[2:N 1];
> elseif strcmp(boundary,'fixed')
> nMinusOne=[1:N-1];
> nPlusOne=[2:N];
> end

...

First, a couple of questions...

a) The periodic solution as written will be N columns whereas the fixed
will be N-1. Is this intended/desired?

b) As written the difference between n+ - n- of the array for periodic
will be that of column n minus n-2 rather than the "one on its right"
which implies a first difference. To illustrate if N were 5, say, the
two column vectors you generate are

[5 1 2 3 4]
[2 3 4 5 1]

which results in deltas of 2-5, 3-1, 4-2, etc., ... Is this intended or
did you intend

[5 1 2 3 4]
[1 2 3 4 5]

W/ those answers, then can progress to next step (altho I'll note you
may find

doc diff
doc circshift

of interest)...

--

Date Subject Author
2/14/13 Jeff
2/14/13 Bruno Luong
2/14/13 dpb
2/16/13 Jeff
2/16/13 dpb