Я пытаюсь сделать простую функцию, которая сделает для меня определенную кривую. Я использую это для фитингаОшибка MATLAB при изменении размера изображения YDATA при использовании lsqcurvefit X и Y имеют одинаковый размер
data = importdata('in.dat');
X = data(:,1);
Y = data(:,2);
err = data(:,3);
disp(size(X))
disp(size(Y))
F = @(x,xdata)x(1)+x(2);
x0 = [8,2];
stuff=lsqcurvefit(F,x0,X,Y);
fout = fopen('out.dat','w');
fprintf('kappa = ',x(1));
fprintf('alpha = ',y(2));
fclose(fout);
exit
Но я получаю сообщение об ошибке
lsqcurvefit (F, x0, X, Y)
Ошибка при помощи lsqcurvefit (строка 248)
значение функции и размеры YDATA не равны.
Эта ошибка читает мне, как будто X
и Y
не одного и того же размера. Однако по этому образцу данные
X =
0
0.6931
1.3863
Y =
-5.2546
-6.6642
-8.0545
Просто, чтобы убедиться, я проверил размеры.
>> size(X)
size(X)
ans =
3 1
>> size(Y)
size(Y)
ans =
3 1
Итак, что я делаю неправильно?