【发布时间】:2011-03-26 13:29:44
【问题描述】:
嗨 我想知道是否有任何方法可以获得在 Matlab 绘图上绘制的所有点。假设我在绘图上画了一条线,为了画这条线,我只使用了两个点——matlab 绘图仪连接了这些点,我得到了一条线。有没有什么办法可以得到该线上的所有点,而无需将此图保存到文件中??
【问题讨论】:
嗨 我想知道是否有任何方法可以获得在 Matlab 绘图上绘制的所有点。假设我在绘图上画了一条线,为了画这条线,我只使用了两个点——matlab 绘图仪连接了这些点,我得到了一条线。有没有什么办法可以得到该线上的所有点,而无需将此图保存到文件中??
【问题讨论】:
如果您从两点绘制一条线,例如plot([x1 x2],[y1 y2]),最简单的方法是把所有的地块都弄到线上,直接计算。
nPts = 100; %# number of points on the line you want
%# listOfPoints is a 2-by-nPts array with all the points on the line
listOfPoints = [x1:(x2-x1)/(nPts-1):x2;y1:(y2-y1)/(nPts-1):y2];
【讨论】:
您可以通过基本的线性回归生成您正在寻找的点。将 x 和 y 变量输入 Matlab 的 regression 函数,它会计算 plot(x,y) 线的系数。建立直线方程后,您可以输入新的 x 变量列表,它会计算相应的 y 值。
x=[x1; x2];
y=[y1; y2];
b = regress(y,[ones(length(x),1) x])
new_y=b(1)+b(2)*[new_x1:new_x2]
【讨论】: