Linear regression on a semi-log scale
19 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I'm trying to plot a linear regression line on a semi-log scale.
Y-axis Linear Received power in dB
X-axis Log distance in m
The program and data I'm using as as follows:
Inc=1;
D=10; %Max meaurement distance
d1=(1:Inc:D); %1m to max measurment distance (D) in Increments (Inc)
RXPdata1=[-45.0983; -53.3746; -54.4132; -56.8286; -59.2905; -60.2743; -60.6919; -59.4938; -64.0525; -62.6163]; %Measured data in dB
semilogx(d1,(RXPdata1(:,1)),'-or') %Plot measured data
hold on
%Graph Set up
title ('Plot showing measured data')
xlabel('Distance (m) [Log scale]')
ylabel('Recieved Power (dB)')
legend ('Measured Data','Location','EastOutside')
axis([0 10 -70 -35]);
hold on
grid on
Can anyone help?
James
0 Kommentare
Akzeptierte Antwort
Miroslav Balda
am 11 Jun. 2013
The following code solves your problem:
% James.m
% JAMES Linear regression on a semilog scale
%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2013-06-11
%
% Miroslav Balda
% miroslav AT balda DOT cz
%
Inc=1;
D=10; % Max meaurement distance
%
d1=(1:Inc:D); % 1m to max measurment distance (D) in Increments (Inc)
RXPdata1=[-45.0983; -53.3746; -54.4132; -56.8286; -59.2905; -60.2743;...
-60.6919; -59.4938; -64.0525; -62.6163]; % Measured data in dB
%
semilogx(d1,(RXPdata1(:,1)),'-or') % Plot measured data
hold on
%
% % Graph Set up
%
title ('Plot showing measured data','FontSize',14, 'FontWeight','bold')
xlabel('Distance (m) [Log scale]','FontSize',10, 'FontWeight','bold')
ylabel('Recieved Power (dB)','FontSize',10, 'FontWeight','bold')
%
axis([0 10 -70 -35]);
hold on
grid on
%
% Regression
%
logd1 = log10(d1');
A = [ones(size(RXPdata1)),logd1];
c = A\RXPdata1
y = A*c;
plot(d1,y,'o-', d1,y,'*-')
%
legend ('Measured Data','Lin. Regression','Location','EastOutside')
It is all. Good luck!
Mira
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Whos finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!