MATLAB: Подгонка параметров, когда ввод является функцией
Извините, что задаю этот наивный вопрос, но я действительно застрял как абсолютный новичок в MATLAB.
Ниже то, что я пытаюсь сделать. У меня есть модель, которая принимает результаты броска монеты в качестве входных данных:
function randomness = benHMMN(flips,rep,prior) % defined later
flips = csvread('flips.csv')
С правой стороны, "сальто" - это результаты подбрасывания монеты, считанные из файла, а "rep" и "prior" - это два параметра, значения которых я пытаюсь найти. Функция выводит оценку случайности для всех бросков монет, которая представляет собой вектор-столбец с 256 элементами.
csvread('judgement.csv')
Тем временем, у меня были люди, оценивающие тот же набор результатов, и их ответы сохраняются в другом векторе столбца с 256 элементами. (Обратите внимание, что люди судят, насколько неслучайны, а не случайны эти результаты.)
Я хочу минимизировать корреляцию между двумя векторами.
corr(randomness, judgment)
На абстрактном уровне, я думаю, что решение выглядит примерно так:
function correlation = corr(randomness, judgment)
[...,fval] = fminsearch(@corr, ...)
Однако аргументы - это НЕ непосредственно параметры ("rep" и "prior"), которые я хочу вписать, а функция с ними. Я понятия не имею, как использовать fminsearch или другие методы, чтобы найти "rep" и "prior", когда они явно не указаны в аргументах. Буду очень признателен за вашу помощь!