How to vectorize sum of scaled matrices ? Or is there matlab function for irregular inverse dft ?

2 views (last 30 days)
I am trying to inverse transform function on irregular grid. Is there matlab function for irregular inverse dft ?
I would like simplify a code with sum of repeating matrix M multiplied and to the power of vector elements:
X = ones(10,10) % just for simplicity matrix
Y = rand(10,10) % another matrix
M1 = exp(1i*X);
M2 = exp(1i*Y);
v1 = [1, 2, 3, 13, 14]; % some vector
v2 = [10, 20, 13, 33, 44]; % some vector same length
f = [3, 5, 7, 9, 11]; % another vector same length
A = zeros(10,10); %initialize the sum
for ii = 1: length(v)
S = f(ii)*(exp(1i*(Y*v1(ii) + X*v2(ii))));
A = S +A;
end
A
Could repmat or some other function create vectorized version of the code to get the sum?

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 13 Mar 2015
Edited: Andrei Bobrov on 13 Mar 2015
A = reshape(exp(1i*[X(:),Y(:)]*[v2;v1])*f(:),size(X));

More Answers (0)

Categories

Find more on Fourier Analysis and Filtering 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!