how to use Subscript in for loop

2 次查看(过去 30 天)
hi.
i have some mathematica codes that i want to change them to matlab codes. i think its possible to write these codes as two for-loops in matlab. but unfortunetly
i dont know how to do that. in mathematica its easy to do that with help of Subscripts but there is no Subscript in matlab to do that.
tr=trace
codes.jpg
the code should be something like this ?? plz help me
for i=0:3
for j=0:3
p{i,j}=trace(e{i}*ro)*trace(e{j}*ro)
end
end
  1 个评论
Star Strider
Star Strider 2019-10-20
You need to start the indices with 1 instead of 0, since MATLAB subscripts are defined as integers greater than 0.
Otherwise, it appears to be correct, assuming that the elements of cell array ‘e’ are square matrices.

请先登录,再进行评论。

回答(1 个)

Dimitris Kalogiros
Dimitris Kalogiros 2019-10-20
What is Tr [ ] at your mathematica code ? Is it an array or a function (I am asking because I 've no experience on mathematica).
You must be aware of the fact that indexes in matlab starts from 1 . For example if A is a vector of 5 elements, then A(1) is is the first element. On the other hand A(0) , produces an execution error.
So, the matlab code you suggest has to be corrected in one or two places:
  • i and j indexes must have a range from 1 to 4
  • depending on the value of e{i}*ro or e{j}*ro, maybe you have to add +1, when you use them as indexes.

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by