2014-03-28 2 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()가 두개의 뚜렷한 뿌리를 얻었다는 것을 깨닫지 못하고 두 함수를 하나로 결합했습니다. – Mack

답변

3

두 줄로 묶은 함수가 아닙니다. solve 함수는 방정식에 대해 두 가지 솔루션을 반환했습니다. eqh에서 2 차이므로 2 가지 해결책이있을 것으로 기대할 수 있습니다. 다음과 같이 각 솔루션을 플롯 할 수 있습니다.

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

... 물론 ... 도와 주셔서 대단히 감사합니다. – Mack

관련 문제