rita 发表于 2007-6-18 15:54

如何取与x轴相交点的坐标

已经用matlab画出图形了。。如何取点呀,,我想取与x轴相交点的坐标。该用什么命令呀

[ 本帖最后由 eight 于 2007-6-18 16:07 编辑 ]

eight 发表于 2007-6-18 16:07

原帖由 rita 于 2007-6-18 15:54 发表 http://www.chinavib.com/forum/images/common/back.gif
已经用matlab画出图形了。。如何取点呀,,我想取与x轴相交点的坐标。该用什么命令呀

find(abs(y)<=1e-003)

花如月 发表于 2007-6-18 16:48

8兄的方法有时会产生较大的误差,建议使用fzero函数,看下边的例子:
>> clear;
F=@(x) sin(x);
x=linspace(0,2*pi,300);
y=F(x);
a=find(abs(y)<=1e-003)
plot(x,y)
x=fzero(F,0)
x1=fzero(F,3.14)
x2=fzero(F,6.28)

a =

   1   300


x =

   0


x1 =

    3.1416   %pi


x2 =

    6.2832%2pi

eight 发表于 2007-6-18 17:03

原帖由 花如月 于 2007-6-18 16:48 发表 http://www.chinavib.com/forum/images/common/back.gif
8兄的方法有时会产生较大的误差,建议使用fzero函数,看下边的例子:
>> clear;
F=@(x) sin(x);
x=linspace(0,2*pi,300);
y=F(x);
a=find(abs(y)

fzero 是对连续函数而言的,对离散点组成的曲线(尤其不知道表达式)来说,还是 find 比较合适,当然了,精度 1e-003 可以取得更高,或者直接使用 eps

w89986581 发表于 2007-6-18 17:19

原帖由 eight 于 2007-6-18 16:07 发表 http://www.chinavib.com/forum/images/common/back.gif


find(abs(y)


= min(abs(y));

花如月 发表于 2007-6-18 17:23

回复 #4 eight 的帖子

谢谢你的解释,我是刚学到函数寻零,出丑了:@L ,不过又多知道了些东西。离散的确实还是find好

VibrationMaster 发表于 2007-6-18 17:46

如果要是手工的话,我经常用
zoom on; grid on
然后在坐标轴上,靠近y=0地方,用鼠标拖出矩形放大,检查坐标值,多次放大,只到精度满足为止
页: [1]
查看完整版本: 如何取与x轴相交点的坐标