作者alamabarry (.............)
看板MATLAB
标题Re: [讨论] 两条曲线求交点的问题
时间Sun Feb 24 22:39:47 2013
※ 引述《w0005151 (小科)》之铭言:
: 各位大大好
: 我的程式中需要求x^2/a^2+y^2/b^2=1(椭圆)
: 与y=x*tan(x)
: 原先我是用linspace取x的格点然後在得到两条曲线的y座标y1与y2
: 最後用polyxpoly(x,y1,x,y2)得到交点
: 但我发现tan函数因为会去向无限大所以好像会有点问题
: 当我x的格点数取的不一样的时候所得到的交点位置与交点个数竟然会有明显的差异
: 用plot看的时候也发现y=xtanx这个函数在格点数不一样的时候画出来的图也会不同
: 有些格点数会变得相当奇怪
: 如果只是要精确地求出交点的话有什麽别的方法吗?
用function
f(x)=x^2/a^2+(x*tan(x))^2/b^2-1
用fzero解
f(x)=0
非线性求解
解的个数要画个图看看
不然就-a~a分割成数个点当初始值
for 回圈代入
当fzero的初始值去收敛到解
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.6.152
1F:推 w0005151:fzero输入的函数是要用function写吗? 02/25 00:36
2F:→ w0005151:可是在我的程式中椭圆的a,b是在for回圈里变的 02/25 00:37
3F:→ w0005151:这样我的function会有三个变数 好像就不能用fzero? 02/25 00:37
4F:→ alamabarry:可以多加一层function f(a,b)回传x的所有解 02/25 15:57
5F:→ alamabarry:但是解应该会有重复就是了 02/25 15:57
6F:→ alamabarry:但是如果你要把解画图出来看应该没差 02/25 15:57
7F:→ alamabarry:可能只能画点的图plot3 02/25 16:02