欢迎您访问52IJ教育培训网,今天小编为你分享的数学方面的学习知识是通过网络精心收集整理的:“matlab 2007b_用matlab求直线和椭圆的交点坐标!>> syms a b t0 t k...[数学]”,注意:所整理内容不代表本站观点,如你有补充或疑问请在正文下方的评论处发表。下面是详细内容。
这个其实就是以t为未知量,把两点坐标代入直线方程求解.
可以直接用solve求解,但得到的结果可能会包含t0自身(有很小的误差),需要将其过滤.
参考代码:
% 常数定义
a=2;b=1;t0=11/18*pi;
x0=a*cos(t0);y0=b*sin(t0);
kx=3;ky=-2;
% 解方程
syms t
t1=solve(ky*(a*cos(t)-x0)-kx*(b*sin(t)-y0));
% 对解进行过滤 % 绘图 syms x1 y1 z1 x0=1;y0=2;z0=3;%椭圆中心坐标 a=1;b=2;c=3;%椭圆轴 f1=solve('(x1-x0)^2/(a^2)+(y1-y0)^2/(b^2)+(z1-z0)^2/(c^2)=1') subs(f1) 1.绘图,找到交点大致坐标 syms x y=-0.2*x*tan(x); h=ezplot(y,[0 20]); %隐函数绘图,得到函数的图像 axis([0 20 -4 4]) %设置坐标刻度 ylabel('y') hold on y0=[1.5 1.5]; plot(xlim,y0,'r:') %绘制y=1.5的曲线 根据图形找到交点大致坐标,大约为2 6 9 13 16 18左右 2.根据找到的交点,用fzero函数求零点 f=@(x)1.5+0.2*x.*tan(x); ix=[2 6 9 13 16 18]; %交点大致坐标 n=length(ix); for i=1:n xx(i)=fzero(f,ix(i)); %循环求解各点准确坐标值 end yy=1.5*ones(1,n); plot(xx,yy,'linestyle','none','marker','*','color','g') %绘制交点 3.最终图形 syms x y [x,y]=solve('(x-2)^2+(y+2*x-3)^2=5, 18*(x-3)^2+y^2=36 ') x = 1.6580664770347998069049390497594 1.7362259004399598338121197151769 4.0287335406907803557776183983678 3.4828821781145475308576204296936 y = 1.8936365963298548025994430021814 -2.6929074352940121705044040780427 -4.1171266000258712039597783906018 -5.639401248099686964240293356294 ezplot('(x-2)^2+(y+2*x-3)^2=5 ') hold on ezplot('18*(x-3)^2+y^2=36 ') [x,y]=solve('(x-2)^2+(y+2*x-3)^2=5','18*(x-3)^2+y^2=36','x','y'); x=eval(x); y=eval(y); plot(x,y,'r*') axis equal 祝你学习愉快! 你能画出图来,说明你有一定的MATLAB基础,我就简单讲一下思路吧. 首先,上述椭圆方程的所有系数中,x^2的系数a和y^2的系数c一定是同号的,即同为正值或同为负值.若是一正一负,那就是双曲线方程了.既然是椭圆方程,那么所有系数乘上相同的非零数值,得到的还是同一个方程.所以为了方便描述,都先做如下处理: a1=sign(a1)*a1; a2=sign(a2)*a2; a3=sign(a3)*a3; 这样得到的系数中,x^2的系数a和y^2的系数c就都是正值了,在此前提下,令 z=ax2+bxy+cy2+dx+ey+f 那么,当z(x,y)=0时,点(x,y)就在椭圆上;当z(x,y)>0时,点(x,y)就在椭圆外;当z(x,y)
t1=double(t1);
t1((a*cos(t1)-x0).^2+(b*sin(t1)-y0).^2
clf
ezplot(a*cos(t),b*sin(t))
hold on;
plot(x0,y0,'ro')
plot(a*cos(t1),b*sin(t1),'mp');
其他类似问题
问题1:matlab求解直线与椭圆交点方程出的问题syms tD=input('输入射线源到旋转轴距离 D\n');d1=input('输入任一点到中心探测器的距离 d1\n');d2=input('输入任一点到z轴的距离d2\n');h=input('输入射线源与y轴夹
问题2:matlab,如何求y=-0.2xtanx与直线y=1.5的交点坐标,x的范围是0-20 麻烦把具体程序给下,尤其是求交点坐标部分

问题3:MATLAB问题:求两个椭圆的所有的交点坐标(x-2)^2+(y+2x-3)^2=5 18(x-3)^2+y^2=36要编译能通过的要算法~不是直接从matalb里面的函数库调用函数~时间比较紧,[数学科目]
问题4:MATLAB问题:画出下面两个椭圆的图形,并求出他们所有的交点坐标(x-2)^2+(y+2x-3)^2=5 18(x-3)^2+y^2=36
问题5:matlab如何求三个椭圆公共交集内的交点?有三个椭圆,根据椭圆公式ax2+bxy+cy2+dx+ey+f=0画出来的,系数(a,b,c,d,e,f)分别放在三个不同的矩阵a1,a2,a3里,画出来的图如下.请问如何编程求出它们的交集区
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
