2014-03-28 51 views
1

我試圖求解一個方程,然後繪製結果。這裏是我的腳本:Matlab繪製求解方程的結果

>> syms h t 
>> eq = 100*((100+(10-h)^2)/(10-h)) - t - 2000 

eq = 

- t - (100*((h - 10)^2 + 100))/(h - 10) - 2000 

>> solve(eq,h); 
>> solve(eq,h) 

ans = 

    ((t*(t + 4000))/10000)^(1/2)/2 - t/200 
- t/200 - ((t*(t + 4000))/10000)^(1/2)/2 

ezplot(((t*(t+4000))/10000)^(1/2)/2-t/200-t/200-((t*(t+4000))/10000)^(1/2)/2) 

而不是繪製功能

((t*(t+4000))/10000)^(1/2)/2-t/200-t/200-((t*(t+4000))/10000)^(1/2)/2 

它繪製功能-t/100。它爲什麼這樣做?我怎樣才能修改這個?

+1

因爲它是一樣的嗎? ;-)簡化你的函數,你會看到 –

+0

但它應該涉及一個平方根函數,即使在簡化之後。我能夠開始工作一次,但現在它不再繪製平方根函數了。 – Mack

+0

哦,我明白我做了什麼。我將這兩個函數合併爲一個,並沒有意識到solve()像horchler所暗示的那樣得到了兩個不同的根。 – Mack

回答

3

這不是一個函數纏繞到兩行。 solve函數爲您的等式返回了兩個單獨的解。 eqh中是二次的,所以您可能會期望有兩種解決方案。您可以繪製每個解決方案,如下所示:

s = solve(eq,h); 
figure 
ezplot(s(1)) 
figure 
ezplot(s(2)) 
+0

......當然......我非常感謝你的幫助。 – Mack