有关matlab画直线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关matlab画直线相关的知识,希望对你有一定的参考价值。

x=[1:5];
y=[2,4,5,7,9];
怎样用matlab拟和成直线

谢谢

可以用两种办法实现,结果一样:
clc;clear
x=1:5;
y=[2 4 5 7 9];
%【1】非线性回归方法
fun=inline('a(1)*x+a(2)','a','x')%规定方程类型
a=nlinfit(x,y,fun,[1 1])%a就是回归系数
x1=x(1):0.05:x(end);%x的间隔更小些
y1=a(1)*x1+a(2);%代入回归方程
plot(x,y,'o',x1,y1)%绘图
%【2】线性回归方法
x2=x(1):0.05:x(end);
pp=polyfit(x,y,1)%pp为回归系数
y2=polyval(pp,x2);%代入回归方程
figure%再画一个图
plot(x,y,'*',x2,y2)
y=poly2sym(pp,'x')%转化为代数方程形式

运行结果:
a =
1.7000
0.3000

pp =
1.7000 0.3000

y =1.7*x+0.3
参考技术A >> x=[1:5];
>> y=[2,4,5,7,9];
>> a= polyfit(x,y,1);
>> b = polyval(a,x);
>> plot(x,y,'*',x,b)

第三行的 polyfit中的1表示用一次多项式拟合,也就是直线了
第四行的 b表示拟合的多项式的每一个系数
polyval用来求拟合后的多项式在x处的值
第五行的 开始作图了,前面三个参数把要拟合的点画出来
后面的两个参数在画拟合后的线

如何在matlab中的水平线上画一条垂直线?

【中文标题】如何在matlab中的水平线上画一条垂直线?【英文标题】:How can I draw a vertical line upon the horizontal lines in matlab? 【发布时间】:2017-05-23 05:01:41 【问题描述】:

我想在Matlab中在并发的水平线上画一条垂直线,并显示垂直线与水平线相交的坐标。我在这里给出一个图,我想写一个代码,让它先画一条线,然后自动显示交点坐标。

【问题讨论】:

请提及您目前所拥有的。水平线的方程?你想在哪里画垂直线?存在无数种解决方案。 【参考方案1】:
L1 =  [0.7290    0.2163
    0.2026    0.9763] ; % line 1 coordinates 
L2 =   [0.5932    0.9677
    0.3044    0.8960] ;  % line 2 coordinates 

figure(1)
hold on
plot(L1(1,:),L1(2,:),'r')
plot(L2(1,:),L2(2,:),'b')
%% Get intersection
P = InterX(L1,L2) ;
%
plot(P(1),P(2),'*r')
%% Show points
text(P(1),P(2),num2str(P)) ;

从链接下载函数InterX: https://in.mathworks.com/matlabcentral/fileexchange/22441-curve-intersections?focused=5165138&tab=function

【讨论】:

感谢您的回答。但我想在一张图像上做,它有一些并发的水平线。 是的..可以做到..你有那些水平线的坐标吗? 兄弟,我在应用霍夫变换后得到了这些行。那么我可以从霍夫变换中得到它吗?基本上,现在我想应用一种算法,使垂直线从左向右流动,并在与图像水平线相交时标记交点。如果它显示交点上的坐标,这对我来说也很好。

以上是关于有关matlab画直线的主要内容,如果未能解决你的问题,请参考以下文章

悬赏20!用matlab求直线和椭圆的交点坐标!

matlab 三维直线怎么画

matlab中画直线用啥函数

matlab中如何画一条直线

由两点坐标如何画出直线 matlab

用MATLAB一直画直线竟然得到了简单的禅绕画,论一直画直线的人有多无聊