how to find slope for certain area in graph.

1 次查看(过去 30 天)
I have this graph and i need to find the slope where is (2 - 14)
clear all;clc;
gogn = xlsread(fullfile('C:\Users\ebben\Dropbox\HR\Eðlisfræði\Verklegt\Top','TOP_gogn.xlsx'));
force=gogn(:,1);
angle=gogn(:,2); % Data imported
% finding the slope
lm=fitlm(angle,force,'poly1');
hallatala=lm.Coefficients.Estimate;
% value for slope in textbox
annotation('textbox', [.3 .245 .1 .1], 'String', ...
['Hallatala: ',num2str(hallatala(2,1))]);
% ploting data
plot(angle,force,'r.')
hold on
% ploting the slope line
besta_lina=hallatala(2,1)*angle + hallatala(1,1);
plot(angle,besta_lina,'k','Linewidth',2)
xlabel('angle[rad]');
ylabel('force[N]');
grid
title(['TOP'])
  2 个评论
Adam Danz
Adam Danz 2019-10-19
It looks like you've alread found the slope. Is there a question missing?
Be careful using linear regresion on circular data.
Here are your data in polar coordinates.
191019 100725-Figure 1.png
John D'Errico
John D'Errico 2019-10-19
Adam has put a different spin on things, but it seems like circular reasoning. ;-P

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2019-10-19
To limit ‘angle’ (and ‘force’) to calculate the slope only on the ‘angle’ limits between 2 and 14, try this:
Lv = (angle >= 2) & (angle <= 14); % Logical Vector Selecting Desired Subset
angle = angle(Lv); % Limit ‘angle’
force = force(Lv); % Limit ‘force’
inserting these assignments just after you initially define them.
I am not certain if you want to limit your entire analysis to those limits, or just plot that line and return the slope value in that region. Both of those are relatively straightforward to do.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by