How can I build an trendline through a fixed point?
31 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have scatter data and need to fit it with a curve (line) which passes through one exact and fixed point (0,0).
How can I do this?
Thank's for respond.
Iaroslav.
0 comentarios
Respuestas (3)
Star Strider
el 15 de Abr. de 2015
If you do not include a constant (intercept) term in your model, it will force an intercept at (0,0). So if it is a straight line, to fit (x,y) data, this works:
x = randi(10, 10, 1); % Create Data
y = randi(50, 10, 1); % Create DAta
B = x(:)\y(:); % Regression Of Line Through Origin
yfit = x(:)*B; % Calculate Fitted Line
figure(1)
plot(x, y, 'bp') % Plot Data
hold on
plot(x, yfit, '-r') % Plot Fitted Regression Line
hold off
grid
axis([0 max(x) 0 max(y)])
2 comentarios
pfb
el 15 de Abr. de 2015
Editada: pfb
el 15 de Abr. de 2015
Is that a straight line or a curve? And, in the second case, which curve?
In the first case you're basically expecting that y is proportional to x. So y./x should be roughly constant, and mean(y./x) would be an estimate of the slope, right?
0 comentarios
Iaroslav Gritsayenko
el 15 de Abr. de 2015
2 comentarios
Star Strider
el 15 de Abr. de 2015
MATLAB functions all want (or will insert) a non-zero intercept term in the regressions they calculate. If you want a general case that will always fit a zero intercept, the code in my Answer will provide it.
Ver también
Categorías
Más información sobre Linear and Nonlinear Regression en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!