Матрица переменного размера в MatLab - PullRequest
0 голосов
/ 13 октября 2019

Для части моей домашней работы по Статике я должен создать функцию MATLAB, которая будет принимать «n» силы, действующие на систему, и превращать их в матрицу nx3. Да, «n» являются преднамеренными, количество строк должно меняться в зависимости от количества сил. Оттуда мне нужно иметь возможность сделать ее расширенной матрицей и решить для результирующей силы yada yada ... У меня просто нет понятия, с чего начать настройку матрицы с неизвестным количеством строк. Любая помощь будет оценена, спасибо.

1 Ответ

1 голос
/ 13 октября 2019

Если вы можете избежать создания матрицы, пока не узнаете значение n, тогда вам следует. На этом этапе вы просто выделите его, выполнив

mat = nan(n,3);  % or zeros(n,3) if you'd prefer.

, а затем измените элементы, выполнив

mat(row_to_change,:) = new_1_by_3_values;

Однако, если вам действительно нужно динамически изменить размер матрицы - что иногда требуется, но следует избегать, если это возможно по соображениям эффективности - тогда вы инициализируете переменную с помощью

mat = []; % empty matrix

, а затем в любое время, когда хотите добавить новые данные в матрицу, вы можете сделать либо

mat = [mat; new_1_by_3_values];

или

mat(end+1,:) = new_1_by_3_values;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...