How to draw first order best fit in case of hold on figure?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Safi ullah
el 9 de En. de 2018
Comentada: Star Strider
el 10 de En. de 2018
Hi everybody, I have used the following code, and get the fig as shown below.
x = [9.384,39.27];
Y1 = 6.49e-12 * x.^(-4);
Y2 = 4.36e-10 * x.^(-5);
Y3 = 1.69e-10 * x.^(-4.3);
loglog(x,Y1,'*')
hold on
loglog(x,Y2,'*')
hold on
loglog(x,Y3,'*')
set(gca,'xtick',[9.384 39.27]);
set(gca,'xticklabel',{'A','B'});
Now I need to draw the best fit between A and B (best fit line draw from points at A towards points at B). I know the best fit in case of simple x and y plot, but due to hold on I do not know how to do this. Any guidance will be appreciated thanks.
2 comentarios
Image Analyst
el 9 de En. de 2018
What does hold on have to do with anything? Are you wanting to know how to use polyfit() to fit a line through the points, like this?
xt = [x(1), x(1), x(1), x(2), x(2), x(2)]
yt = [Y1(1), Y2(1), Y3(1), Y1(2), Y2(2), Y3(2)]
coefficents = polyfit(xt, yt, 1)
Respuesta aceptada
Star Strider
el 10 de En. de 2018
Try this:
x = [9.384,39.27];
Y1 = 6.49e-12 * x.^(-4);
Y2 = 4.36e-10 * x.^(-5);
Y3 = 1.69e-10 * x.^(-4.3);
xv = reshape([x; x; x], [], 1); % Create X-Vector
YM = reshape([Y1; Y2; Y3], [], 1); % Create Y-Vector
DM = [xv(:) ones(size(xv(:)))]; % Design Matrix
B = DM \ YM; % Estimate Parameters
YFit = DM * B; % Fit Regression For Plot
figure(1)
loglog(x,Y1,'*')
hold on
loglog(x,Y2,'*')
loglog(x,Y3,'*')
loglog(xv, YFit, '-r') % Plot Regression
hold off
set(gca,'xtick',[9.384 39.27]);
set(gca,'xticklabel',{'A','B'});
3 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!