How can i code a Linreg for imported data (Elimination Capacity vs Loading Rate)
1 次查看(过去 30 天)
显示 更早的评论
Hi guys - Im having some issue with perfoming via code on doing LinReg on the following imported data. I would like to calculate Linear regression on the variables named "Elimination Capacity" vs "Loading Rate". Can someone please give an coded solution - the goal is to plot in the code below. Please se code and its corresponding comments for guides.
%Defining and Importing data
filename = 'CATValuesoct22.xlsx';
data = readmatrix(filename);
% Assign the columns to variables
EliminationCapacity = data(:,1); % elimination capacity is in the first column
LoadingRate = data(:,2); % loading rate is in the second column
RemovalEfficiency = data(:,3); % removal efficiency is in the third column
EliminationCapacity_100 = data(:,2);
%Linreg of variables EliminationCapacity and LoadingRate
%HOW CAN I CODE IT and use it in the code for plot below
%plot for oct
% Create a figure
figure
% Set the first y-axis
yyaxis left
plot(LoadingRate, RemovalEfficiency, '*','LineWidth', 2);
ylabel('Removal Efficiency [%]');
% Set the second y-axis
yyaxis right
plot(LoadingRate, EliminationCapacity,'.--','LineWidth', 2);
ylabel('Elimination Capacity [g/(m^3*h)]');
hold on
plot(LoadingRate, EliminationCapacity_100, 'g--', 'LineWidth', 2);
% Set x-axis
xlabel('Loading Rate [g/(m^3*h)]');
% Add a title
title('October');
% Add a legend
legend('Removal Efficiency', 'Elimination Capacity','100% Elimination Capacity');
Best Regards - Amil Ali
0 个评论
回答(1 个)
Vijeta
2023-5-15
编辑:Vijeta
2023-5-15
To calculate the linear regression between the variables "Elimination Capacity" and "Loading Rate" and plot the results, you can use the “polyfit” function in MATLAB. Here's how you can modify your code to include the linear regression calculation and the corresponding plot:
matlabCopy code :
% Defining and Importing data
filename = 'CATValuesoct22.xlsx';
data = readmatrix(filename);
% Assign the columns to variables
EliminationCapacity = data(:,1); % elimination capacity is in the first column
LoadingRate = data(:,2); % loading rate is in the second column
RemovalEfficiency = data(:,3); % removal efficiency is in the third column
EliminationCapacity_100 = data(:,2);
% Perform linear regression
coeffs = polyfit(LoadingRate, EliminationCapacity, 1);
linear_fit = polyval(coeffs, LoadingRate);
% Plot for oct
% Create a figure
figure
% Set the first y-axis
yyaxis left
plot(LoadingRate, RemovalEfficiency, '*','LineWidth', 2);
ylabel('Removal Efficiency [%]');
% Set the second y-axis
yyaxis right
plot(LoadingRate, EliminationCapacity,'.--','LineWidth', 2);
hold on
plot(LoadingRate, EliminationCapacity_100, 'g--', 'LineWidth', 2);
plot(LoadingRate, linear_fit, 'r-', 'LineWidth', 2); % Plot the linear regression line
% Set x-axis
xlabel('Loading Rate [g/(m^3*h)]');
% Add a title
title('October');
% Add a legend
legend('Removal Efficiency', 'Elimination Capacity','100% Elimination Capacity', 'Linear Fit');
% Adjust the figure layout
grid on;
In the above code, “polyfit” is used to calculate the coefficients of the linear regression line. The “polyval” function is then used to evaluate the linear fit at each point along the LoadingRate values. Finally, the linear fit is plotted on the figure using “plot” along with the other data.
Make sure you have the appropriate data file ('CATValuesoct22.xlsx') in the current working directory or provide the correct path to the file.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!