curve fit error question
3 views (last 30 days)
Show older comments
I'm getting an error saying error using lsqcurvefit: function value and YDATA sizes are not equal. (line 11)
I've checked the number of elements in TR and S and it says they are equal, I have no idea what I'm doing wrong.
Can anyone help?
nativeP = load ('npcaa_t1w.mat');
funT1 = @(x, t) x(1).*(1 - exp(-t./x(2)));
x0 = [50, 1000];
lb = [0, 0];
ub = [500, 10000];
TR = nativeP.dataset.methodparx.MultiRepTime;
S = squeeze(nativeP.dataset.data(128, 128, :));
[x, resnorm, residual, exitflag, output] = lsqcurvefit(funT1, x0, TR, S, lb, ub);
S0 = x(1);
T1 = x(2);
Sfit = funT1(x, TR);
figure(5)
plot(TR, S, 'o')
hold on
plot(TR, Sfit)
xlabel('TR [ms]')
ylabel('S [A.U.] ')
title('Curve-fitting with lsqcurvefit')
legend('Measurement', 'Fitted Model')
5 Comments
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!