我有一组数据,我需要为(第一阶 此外,在第二个区域中,有两个清晰的数据区域,一个区域在另一个区域上方,我需要最佳拟合线仅适合较低的区域。 我是Matlab的一名新手,因此非常感谢您 polyfit
)生成两条线性最佳拟合线,但是我不知道如何指定每条线将数据拟合到哪个区域。我需要在最小x值和0之间的区域中的一行,而在0.25 %load data, force and velocity
load ('exp_6_Force');
load ('exp_6_Velocity');
% Give a name to the title bar.
set(gcf,'name','Experiment 6 velocity','numbertitle','off')
%set variables to x and y
x = Force;
y = Velocity;
%plot the graph
plot(x,y);
%add grid and legend
grid on;
legend ('Velocity');
%add labes and title
xlabel ('Force');
ylabel ('Velcoity');
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);
%find coordinates of y min point
[value,index1] = min(y);
yminxcoor = x(index1);
yminycoor = y(index1);
答案 0 :(得分:3)
使用logical index获取两个区域的x
和y
数据:
对于区域1:
x_region1 = (x<0).*x
y_region1 = (x<0).*y
对于区域2:
x_region2 = (x>0.25).*x
y_region2 = (x>0.25).*y
然后您可以polyfit
在这些地区
对于区域1:
p_region1 = polyfit(x_region1, y_region1, 1)
对于区域2:
p_region2 = polyfit(x_region2, y_region2, 1)