Generate a logarithmic regression of xlsdata and plot it

1 次查看(过去 30 天)
I have the given data in the xls file. I tried to convert the Var1 and Var2 to log10 values, and then do a regression with the given command. But I get an error.
Incorrect number or types of inputs or outputs for function log10.
Error in uppgift44 (line 2)
X=log10('Var1'); Y=log10('Var2'); % convert both variables to log's
P=readtable('data')
X=log10('Var1'); Y=log10('Var2'); % convert both variables to log's
b=polyfit(X,Y,1); % estimate coefficients
yhat=10.^[polyval(b,[X(1) X(end)])]; % evaluate at end points
loglog(x,y)
hold on
loglog([x(1) x(end)],yhat) % add fitted line
plot(ans)
Where is the error here?
Thanks!

采纳的回答

Dyuman Joshi
Dyuman Joshi 2024-2-22
That is not how you access data inside Tables. Go through this for more information - Access Data in Tables
%% Provide the filename with extension
P=readtable('data1.xlsx');
%% Use dot indexing to access the data
X=log10(P.Var1);
Y=log10(P.Var2); % convert both variables to log's
b=polyfit(X,Y,1); % estimate coefficients
yhat=10.^[polyval(b,[X(1) X(end)])]; % evaluate at end points
%% Variable names are capital
figure
loglog(X,Y,'r')
hold on
plot([X(1) X(end)],yhat,'b') % add fitted line
  8 个评论
Dyuman Joshi
Dyuman Joshi 2024-2-24
The red line is the plot of the data you have, and the blue line is the corresponding linear fit to the data. You can infer that from the code.
Read the description of the polyfit function - https://in.mathworks.com/help/matlab/ref/polyfit.html#description
"p = polyfit(x,y,n) returns the coefficients for a polynomial p(x) of degree n ..."

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品


版本

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by