ฉันกำลังแก้ไขปัญหาเกี่ยวกับการโก่งตัวของลำแสง (มันไม่สนุกเกินไป :P)
ฉันต้องลดเมทริกซ์ความแข็งโดยรวมลงในเมทริกซ์ความแข็งของโครงสร้าง ฉันทำได้โดยการลบแถวและคอลัมน์ใด ๆ ออกจากเมทริกซ์ดั้งเดิมที่มี 0
ถ้าผมมีเมทริกซ์แบบนั้น (เรียกมันว่า K):
0 0 5 3 0 0
0 0 7 8 0 0
7 1 2 6 2 1
3 8 6 9 5 3
0 0 4 5 0 0
0 0 1 8 0 0
เมทริกซ์รีดิวซ์ (เรียกมันว่า S) จะเป็นเพียงแค่
2 6
6 9
นี่คือสิ่งที่ฉันเขียนจนถึงตอนนี้เพื่อลดเมทริกซ์โกลบอล K ให้เป็นเมทริกซ์ความแข็ง S
S = K;
for i = 1:length(S(:,1))
for j = 1:length(S(1,:))
if S(i,j) == 0
S(i,:) = [];
S(:,j) = [];
break;
end
end
end
อย่างไรก็ตาม ฉันได้รับ "ดัชนีเกินขนาดเมทริกซ์" ในบรรทัดที่มีคำสั่ง "if" และฉันไม่แน่ใจว่าความคิดของฉันถูกต้องในวิธีที่ดีที่สุดในการลบแถวและคอลัมน์ทั้งหมด ขอขอบคุณข้อเสนอแนะใด ๆ !