Matlab找到两条曲线的切线

时间:2013-02-27 04:16:06

标签: matlab math

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

我编写了以下脚本,但它给了我一个错误:

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));

请帮助。谢谢:)

1 个答案:

答案 0 :(得分:3)

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

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

,第二个要求斜坡在交叉点处匹配:

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

所以你在一个未知的x中有两个方程式,在这种情况下可以求解x,但一般情况下你可能找不到解决方案。