Info

This question is closed. Reopen it to edit or answer.

Can some solve this without for loops ?

1 view (last 30 days)
Amelos
Amelos on 21 Jun 2016
Commented: Amelos on 21 Jun 2016
a =rand(2,2,3); b = [ 1 2 3]; c = [1 2 3 4 5]; for n = 1: size(a,1) for m = 1:size(a,2) for s = 1: length(b) for k = 1: length(c) L(n,m,s,k)= a(n,m,s) +b(s)*a(n,m,s)*exp(c(k)*b(s)); end end end end
  2 Comments
John D'Errico
John D'Errico on 21 Jun 2016
Edited: John D'Errico on 21 Jun 2016
Given that you got an answer the last time you asked this question, and you accepted that answer, then why repost it? It seems you are asking essentially the same question repeatedly.
Amelos
Amelos on 21 Jun 2016
I want to understand the approach. It is not the same. I changed the dimension of the matrix "a" (2->3). I solved in this way but I dont get the same answer: tmp = bsxfun(@times,reshape(b,1,1,[]),reshape(c,1,1,1,[])); tmp = bsxfun(@times,reshape(a,1,[]),exp(tmp)); tmp = bsxfun(@times,reshape(b,1,1,[]),tmp); tmp = bsxfun(@plus,reshape(a,1,[]),tmp);
Cheers

Answers (0)

This question is closed.

Community Treasure Hunt

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

Start Hunting!