РЕДАКТИРОВАТЬ: Чтобы помочь уточнить мой вопрос, я ищу, чтобы соответствовать следующим данным:

Я могу подойтииспользуя функцию cftool, но использование метода наименьших квадратов не имеет смысла для моих двоичных данных.Просто, чтобы проиллюстрировать ...

Итак, моя цель - подогнать эти данные с помощью функции fmincon.
ОРИГИНАЛЬНАЯ ПОЧТА:
У меня есть данные из эксперимента по управлению движением, в котором участники были рассчитаны по времени, когда они выполняли задание, и получили оценку (неудача или успех) на основе их производительности.Как и следовало ожидать, мы предполагаем, что участники будут делать меньше ошибок, поскольку у них будет больше времени для выполнения задачи.
Я пытаюсь приспособить функцию к этим данным с помощью fmincon, но получаю ошибку "Ошибка с использованием fmincon(строка 609) Поставленная целевая функция должна возвращать скалярное значение. "Я не понимаю, а) что это значит, или б) как я могу это исправить.
Ниже приведены некоторые данные и код.Любая помощь с благодарностью.
%Example Data:
time = [12.16 11.81 12.32 11.87 12.37 12.51 12.63 12.09 11.25
7.73 8.18 9.49 10.29 8.88 9.46 10.12 9.76 9.99 10.08
7.48 7.88 7.81 6.7 7.68 8.05 8.23 7.84 8.52 7.7
6.26 6.12 6.19 6.49 6.25 6.51 6 6.79 5.89 5.93 3.97 4.91 4.78 4.43
3.82 4.72 4.72 4.31 4.81 4.32 3.62 3.71 4.29 3.46 3.9 3.73 4.15
3.92 3.8 3.4 3.7 2.91 2.84 2.7 2.83 2.46 3.19 3.44 2.67 3.49 2.71
3.17 2.97 2.76 2.71 2.88 2.52 2.86 2.83 2.64 2.02 2.37 2.38
2.53 3.03 2.61 2.59 2.59 2.44 2.73 ]
error = [0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1];
%Code:
% initial parameters - a corresponds to params(1), b corresponds to params(2)
a = 3.0;
b = -0.01;
LL = @(params) 1/1+params(1)*(log(time).^params(2));
LL([a b]);
pOpt = fmincon(LL,[a b],[],[]);