2013-02-27 319 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