カーブフィッティングを行う単純な関数を作成しようとしています。フィッティングにはこれを使っています
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
それで、私は何を間違っていますか?