Я новичок в Октаве.У меня есть две матрицы.Я должен сравнить конкретный столбец одной матрицы с другой (моя матрица A содержит более 5 переменных, аналогично матрица B содержит то же самое.) И если элементы в первом столбце матрицы A равны элементам во второйМатрица B, затем я должен использовать третий столбец второй матрицы B для вычисления определенных значений. Я делаю это с октавой, используя цикл for, но это занимает много времени, чтобы сделать вычисления за один день, я должен сделать этов течение года .Потому что размер матриц очень велик. Пожалуйста, предложите какой-нибудь альтернативный способ, чтобы я мог сократить время и вычисления.Заранее спасибо.
Спасибо за быстрый ответ -hfs продолжение той же проблемы, спасибо, но это будет работать, только если оба элемента в обеих строках равны. Например, мои матрицы такие,
A=[1 2 3;4 5 6;7 8 9;6 9 1]
B=[1 2 4; 4 2 6; 7 5 8;3 8 4]
здесь столбец 1 первого элемента A равен столбцу 1 первого элемента B, даже второму столбцу, поэтому я могу взять третий элемент B, но для второго элемента столбца 1 равен A иB, но второй элемент столбца 2 отличается, здесь он должен найти этот элемент и напечатать элемент в третьем столбце, и я делаю это с циклом for, который очень медленный из-за большего размера. В моей реальной проблеме я далДля цикла, как написано ниже:
for k=1:37651
for j=1:26018
if (s(k,1:2)==l(j,1:2))
z=sin((90-s(k,3))*pi/180) , break ,end
end
end
Я хочу альтернативный способ сделать это, который должен быть быстрее, чем это.