EDA365电子论坛网

标题: MATlab过一点作已知曲线切线。 [打印本页]

作者: DIOADE    时间: 2020-6-23 11:31
标题: MATlab过一点作已知曲线切线。
求大神指点:MATLAB 过(1372,0) 作方程  (x+y)^2*h/(G*L)]+(b+0.07*h)*(x+y)/L-0.85*x+0.07*G*b/L=0的切线最好知道切点坐标。. V( t& \) }: g6 _' l
方程图程序:G=1400*9.8;0 O9 l4 f8 W7 P1 V: [! |: g
                  h=0.55*1000;, L  I5 m. k& c5 Y, S8 S
                  L=2.24*1000;+ Q! W3 [/ p0 j+ z
                  b=1.24*1000;: ^& Z) A$ u( R. }" L$ I' I
                 ex='[(x+y)^2*h/(G*L)]+(b+0.07*h)*(x+y)/L-0.85*x+0.07*G*b/L=0';
% g' `) h( f) f6 ~+ n. W2 n                 ezplot(subs(ex),[0,8000,0,3000])
% ?! W2 o) J$ v0 x! V请教大神,非常感谢!1 Q5 m' V1 D+ _, W4 g2 i- C

作者: House    时间: 2020-6-23 13:16
方法一:
+ `0 h+ b) M% {1 M( H- P' W先对曲线方程(x+y)^2*h/(G*L)]+(b+0.07*h)*(x+y)/L-0.85*x+0.07*G*b/L=0两侧同时对x求导" v$ g6 G) b: N8 B
得到x,y(x),y'(x)的关系,并求出y'(x) = F( x,y(x) )的表达式
7 F, @$ e0 y8 U( N- N, O; e7 D然后将切线通过点的坐标(x0,y0)带入联立方程组中, y7 A" c  B) ^( V; V
(y0 - y)/(x0 - x) == y'(x) 即 (y0 - y)/(x0 - x) == F( x,y ),几何意义是,通过已知点(x0,y0)以及曲线上一点(x,y)的直线的斜率是曲线在该点处的导数
$ k1 ~) {/ T( v(x+y)^2*h/(G*L)]+(b+0.07*h)*(x+y)/L-0.85*x+0.07*G*b/L == 0,几何意义是,点(x,y)在曲线上
; e. \# E7 Y5 i4 ]- t0 x联立方程组求解,可以求得两个切点
% s" P+ S: q3 `! a. D# }: O(7203/4 + (136073*sqrt(7/374))/8, -(1715/4) + (50519*sqrt(7/374))/8)与
" T! M- f/ d: h$ o' C$ m4 _(7203/4 - (136073*sqrt(7/374))/8, -(1715/4) - (50519*sqrt(7/374))/8)
# N( ^' I: z3 U4 I6 W数值解即(4127.74, 435.179)与(-526.244, -1292.68)
作者: House    时间: 2020-6-23 13:17
方法二:2 X* j( _% I. K! f) a
对坐标系做旋转变换,新坐标系为原坐标系逆时针旋转pi/4弧度,在新坐标系下,原曲线转化为标准抛物线方程
& {) H" g- Z0 u7 t7 s* P4 s7 By(x) = - (816954656 + 223979*sqrt(2)*x + 55*x^2)/(653072*sqrt(2)). r0 s( f7 o2 J# B6 n3 ?
原切线通过点( 1372,0 )变换为( 686*sqrt(2), -686*sqrt(2) )
+ M8 U3 A8 N7 v1 }, R类似上面,解方程; i0 N# |; i9 Y0 p6 o0 l; ]+ ]
(y0 - y(x) )/(x0 - x) == y'(x)
: V$ V& P! s. E得到新坐标系内的切点坐标,反变换后得到原坐标系的切点坐标,数值与方法一是一致的。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2