คุณต้องการจำลอง n ที่ซ้อนกันสำหรับลูป
การวนซ้ำผ่านอาร์เรย์ n-dimmensional สามารถมองเห็นได้ว่าเป็นการเพิ่มจำนวน n- หลัก
ในแต่ละมิติเรามีตัวเลขมากพอ ๆ กับความยาวของมิติ
ตัวอย่าง:
สมมติว่าเรามีอาร์เรย์ (เมทริกซ์)
int[][][] T=new int[3][4][5];
ใน "สำหรับสัญกรณ์" เรามี:
for(int x=0;x<3;x++)
for(int y=0;y<4;y++)
for(int z=0;z<5;z++)
T[x][y][z]=...
ในการจำลองสิ่งนี้คุณจะต้องใช้ "สัญกรณ์ตัวเลข n หลัก"
เรามีตัวเลข 3 หลักโดยมี 3 หลักสำหรับตัวแรก 4 ตัวที่สองและ 5 สำหรับหลักที่สาม
เราต้องเพิ่มจำนวนเราจึงจะได้ลำดับ
0 0 0
0 0 1
0 0 2
0 0 3
0 0 4
0 1 0
0 1 1
0 1 2
0 1 3
0 1 4
0 2 0
0 2 1
0 2 2
0 2 3
0 2 4
0 3 0
0 3 1
0 3 2
0 3 3
0 3 4
and so on
คุณจึงเขียนโค้ดเพื่อเพิ่มจำนวน n หลักได้ คุณสามารถทำได้ในลักษณะที่คุณสามารถเริ่มต้นด้วยค่าใด ๆ ของตัวเลขและเพิ่ม / ลดตัวเลขด้วยตัวเลขใดก็ได้ ด้วยวิธีนี้คุณสามารถจำลองแบบซ้อนสำหรับลูปที่เริ่มต้นที่ไหนสักแห่งในตารางและไม่จบที่จุดสิ้นสุด
นี่ไม่ใช่เรื่องง่ายเลย ฉันไม่สามารถช่วยกับสัญกรณ์ matlab ได้