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

2 次查看(过去 30 天)
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?

采纳的回答

Andrei Bobrov
Andrei Bobrov 2015-3-13
编辑:Andrei Bobrov 2015-3-13
A = reshape(exp(1i*[X(:),Y(:)]*[v2;v1])*f(:),size(X));

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by