У меня есть матрица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 и предсказанными значениями для каждого столбца. Указывает ли это вам в правильном направлении?
СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ