2011-02-03 2 views
0

Учитывая следующее уравнение:3N линейные уравнения

sum on j (Aij * Xj)=bi  i,j=1:N

Это будет 3N линейные уравнения.

Каждый Aij представляет собой матрицу 3x3. Xj s - 3x1 неизвестных. И bi s известны матрицей 3x1.

Как я могу объединить матрицу 3x3 для построения матрицы 3Nx3N? Я пытаюсь найти метод для решения этого вопроса.

+2

Боже мой, что это самый большой LaTeX я когда-либо видел! Убегайте, прежде чем он атакует! –

ответ

0

Если вы создали все ваши матрицы Aij и векторы bi как переменные в MATLAB, вы можете поместить их все в одну большую систему уравнений AX = b простого concatenation с помощью квадратных скобок и точек с запятой. Например, когда N = 3, вы можете сделать следующее:

A = [A11 A12 A13; A21 A22 A23; A31 A32 A33]; %# A 9-by-9 matrix 
b = [b1; b2; b3];        %# A 9-by-1 vector 

Затем, когда вы решить систему уравнений (с использованием X = A\b; или какой-либо другой метод), вы можете разбить X вверх в его индивидуальной 3-на-1 частей. Для приведенного выше примера N = 3, вы можете сделать следующее:

X1 = X(1:3); 
X2 = X(4:6); 
X3 = X(7:9); 
+0

Проблема в том, что основная матрица не является диагональной. Пожалуйста, посмотрите на это http://up.iranblog.com/images/dsc0s5plfga1vpwirtyn.png B является константой – Abolfazl

+0

@ user601908: Вы хотите иметь в виду этот комментарий, чтобы быть на 3lectrologos 'answer? – gnovice

+0

Позвольте мне еще подумать и попробуйте его – Abolfazl

Смежные вопросы