Я работаю над проблемой, связанной с отклонением луча (это не слишком весело :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
Однако я получаю «Индекс превышает размеры матрицы» в строке, содержащей оператор «если», и я не уверен, что правильно думаю о лучшем способе удаления всех строк и столбцов. Ценим любой отзыв!