У меня есть матрицаA и матрица B с одинаковым количеством строк и разным количеством столбцов. Мне нужно вычислить коэффициент корреляции между каждым отдельным столбцом матрицы A и всеми столбцами матрицы B. Для каждого столбца A частичный результат будет массивом, поэтому я думаю о матрице как о конечном результате.

Есть ли способ сделать это, избегая цикла «для»? Какой самый эффективный способ сделать это? Не могли бы вы предложить мне лучший синтаксис?

Наконец, я должен сделать то же самое со среднеквадратичной ошибкой: опять же, во втором случае, можно ли избежать цикла «для»?

Спасибо за ваши ответы.

ОТВЕЧАТЬ

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech , ME, M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Если у вас есть Статистика и Инструменты машинного обучения, похоже, вам нужно следующее:

>> x = randn(20,3);
>> y = x*[1 0;0 1;1 1];
>> corr(x,y)
ans =
    0.9221   -0.1434
   -0.2979    0.8438
    0.6825    0.5606

Я не уверен, что вы имеете в виду под среднеквадратичной ошибкой. Следующее добавляет немного шума, чтобы получить z, затем вычисляет коэффициенты для предсказания y из z, затем вычисляет сумму квадратов разностей между y и предсказанными значениями для каждого столбца. Указывает ли это вам в правильном направлении?

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ