2013-02-27 320 views
0

对于一个家庭作业项目我必须找到两条曲线相切的点。Matlab找到两条曲线的切线

我写了下面的脚本,但它给了我一个错误:

Warning: 2 equations in 1 variables. 

我不明白这样的警告,但我的老师说,这本不应该存在。

这里是我的脚本:

syms x y; 

y1 = x^3-3*x+4; 
y2 = 3*(x^2-x); 

y1_prime = diff(y1); 
y2_prime = diff(y2); 

x_point = solve(y1 == y2, x1_prime == x2_prime); 

slope = subs(y1_prime, x, x_point); 

y_point = subs(y1, x,x_point); 

tangent_line = solve(y - y_point == slope*(x - x_point), y); 

fprintf('The equation for the tangent line is: %s\n', string(tangent_line)); 

请帮助。谢谢你:)

回答

3

你有两个方程来解决。第一个是两条曲线的交点:

x^3-3*x+4 = 3*(x^2-x) 

,第二个要求,在交叉点的斜率匹配:

3*x^2-3 = 3*(2*x-1) 

所以,你有两个方程在一个未知的,X ,在这种情况下可以解决这个问题,但总的来说,你可能无法找到解决方案。

+0

我在想这是一个关于MATLAB的问题。 – N8TRO 2013-02-27 04:51:45

+1

是的,这是一个关于MATLAB的问题。我解释了为什么警告“警告:1个变量中的2个方程”。说得通。 – Kavka 2013-02-27 04:54:01

+0

我明白了......我认为MATLAB对于这个问题可能有点矫枉过正。 – N8TRO 2013-02-27 04:57:17