Generate a logarithmic regression of xlsdata and plot it

4 ビュー (過去 30 日間)
Sergio
Sergio 2024 年 2 月 22 日
コメント済み: Sergio 2024 年 2 月 26 日
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 ..."
Sergio
Sergio 2024 年 2 月 26 日
Thanks , this worked out well!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by