Info

此问题已关闭。 请重新打开它进行编辑或回答。

Can some solve this without for loops ?

1 次查看(过去 30 天)
Amelos
Amelos 2016-6-21
评论: Amelos 2016-6-21
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 个评论
John D'Errico
John D'Errico 2016-6-21
编辑:John D'Errico 2016-6-21
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 2016-6-21
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

回答(0 个)

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by