को वेक्टरिज़ कैसे करें मुझे इस लूप के सेट को सदिश करने के तरीके को देखने में परेशानी हो रही है। किसी भी मार्गदर्शन की सराहना की जाएगी।एक नेस्टेड लूप
ind_1 = [1,2,3];
ind_2 = [1,2,4];
K = zeros(3,3,3,3,3,3,3,3,3);
pp = rand(4,4,4);
for s = 1:3
for t = 1:3
for k = 1:3
for l = 1:3
for m = 1:3
for n = 1:3
for o = 1:3
for p = 1:3
for r = 1:3
% the following loops are singular valued except when
% y=3 for ind_x(y) in this case
for a_s = ind_1(s):ind_2(s)
for a_t = ind_1(t):ind_2(t)
for a_k = ind_1(k):ind_2(k)
for a_l = ind_1(l):ind_2(l)
for a_m = ind_1(m):ind_2(m)
for a_n = ind_1(n):ind_2(n)
for a_o = ind_1(o):ind_2(o)
for a_p = ind_1(p):ind_2(p)
for a_r = ind_1(r):ind_2(r)
K(s,t,k,l,m,n,o,p,r) = K(s,t,k,l,m,n,o,p,r) + ...
pp(a_s, a_t, a_r) * pp(a_k, a_l, a_r) * ...
pp(a_n, a_m, a_s) * pp(a_o, a_n, a_t) * ...
pp(a_p, a_o, a_k) * pp(a_m, a_p, a_l);
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
संपादित करें:
कोड, प्रत्येक सूचकांक के लिए pp
रों एक या दो बार के एक उत्पाद के मूल्यों संक्षेप द्वारा 1 से 3 सूचकांक के साथ एक रैंक-9 टेन्सर पैदा कर रही है मूल्य के आधार पर ind_1
और ind_2
का।
संपादित करें:
यहाँ एक 3 डी उदाहरण है, हालांकि ध्यान भालू तथ्य यह है कि pp
के सूचकांकों बस permuted रहे 9d संस्करण में संरक्षित नहीं किया जाता है कि:
ind_1 = [1,2,3];
ind_2 = [1,2,4];
K = zeros(3,3,3);
pp = rand(4,4,4);
for s = 1:3
for t = 1:3
for k = 1:3
% the following loops are singular valued except when
% y=3 for ind_x(y) in this case
for a_s = ind_1(s):ind_2(s)
for a_t = ind_1(t):ind_2(t)
for a_k = ind_1(k):ind_2(k)
K(s,t,k) = K(s,t,k) + ...
pp(a_s, a_t, a_r) * pp(a_t, a_s, a_k) * ...
pp(a_k, a_t, a_s) * pp(a_k, a_s, a_t);
end
end
end
end
end
end
क्या आप इस कोड को क्या कर रहे हैं और टिप्पणियां जोड़ने पर थोड़ा सा विस्तार कर सकते हैं? – igon
@igon: मैंने संपादित किया है। – erbridge
क्या आप चित्रित करने के लिए 2 डी या 3 डी उदाहरण बना सकते हैं? हमारे साथ काम करना आसान होगा, और उदाहरण बनाने से आप अपनी रणनीति तैयार कर सकते हैं। – tmpearce