Hello everyone, I have done straight line fitting by using polyfit command where i gave polynomial = 1 and found the values of m and c of the equation mx + c = y Now i want to find errors associated with m and c i.e I want finally m +/- error c +/- error and also the r value It would be nice if anyone could help me with it.
Prashant Kumar answered .
2025-11-20
% Sample data points x = [1, 2, 3, 4, 5]; y = [2, 4, 6, 8, 10]; % Perform linear regression using polyfit coefficients = polyfit(x, y, 1); % As polynomial = 1 m = coefficients(1); % Slope c = coefficients(2); % Y-intercept % Calculate the residuals (errors) residuals = y - (m*x + c); % Calculate the standard deviation of the residuals residuals_std = std(residuals); % Calculate the standard error of the slope and y-intercept n = length(x); % Number of data points x_mean = mean(x); x_var = sum((x - x_mean).^2); m_std_error = residuals_std/sqrt(x_var*(n - 1)); c_std_error = residuals_std*sqrt(sum(x.^2)/(n*x_var)); % Calculate the coefficient of determination (r) y_mean = mean(y); ss_total = sum((y - y_mean).^2); ss_residual = sum(residuals.^2); r_squared = 1 - (ss_residual/ss_total); r = sqrt(r_squared); % Display the results disp(["Slope (m): ", num2str(m)]);
"Slope (m): " "2" disp(["Slope Error: ", num2str(m_std_error)]); "Slope Error: " "9.9301e-17" disp(["Y-Intercept (c): ", num2str(c)]); "Y-Intercept (c): " "5.1884e-17" disp(["Y-Intercept Error: ", num2str(c_std_error)]); "Y-Intercept Error: " "6.5869e-16" disp(["Coefficient of Determination (r): ", num2str(r)]); "Coefficient of Determination (r): " "1"