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", когда они явно не указаны в аргументах. Буду очень признателен за вашу помощь!

0 ответов

Другие вопросы по тегам