2012-06-24 135 views
0

我想解決一個D方程,並不知道y[0],但我知道y[x1]=y1DSolve爲特定的時間間隔

我想解決只在相關xrange x=[x1, infinitny] DSolve。

它如何工作?

附不起作用

dsolv2 = DSolve[{y'[x] == c*0.5*t12[x, l2]^2 - alpha*y[x], y[twhenrcomesin] == zwhenrcomesin, x >= twhenrcomesin}, y[x], x] 
dsolv2 = Flatten[dsolv2] 
zsecondphase[x_] = y[x] /. dsolv2[[1]] 

我知道DSolve不允許不平等的條件,但我把它解釋你什麼,我找的例子(t12[x,l2]會給我只有一個值取決於x,因爲l2已知)。

編輯

t12[j24_, lambda242_] := (cinv1 - cinv2)/(cop2 - cop1 + (h2*lambda242)*E^(p*j24)); 
cinv1 = 30; cinv2 = 4; cinv3 = 3; h2 = 1.4; h3 = 1.2; alpha = 0.04; z = 50; p = 0.06; cop1 = 0; cop2 = 1; cop3 = 1.3; teta2 = 0.19; teta3 =0.1; co2 = -0.6; z0 = 10;l2 = 0.1; 
+0

如果你是方程是真正的一階和線性你可以得到一個非常通用的解決方案:DSolve [{y'[x] == f [x] - alpha y [x],y [x1] == y1},y [x],x]'。然後你可以替換對應於你的特定情況的'f [x],x1,y1'。 –

+0

謝謝,但不幸的是它不是... – user1426522

+0

然後,你應該明確你的't12'術語是什麼。 –

回答

0

什麼是錯的這個例子嗎?

t12[x_] := Exp[-x .01] Sin[x]; 
dsolv2 = [email protected][{y'[x] == c*0.5*t12[x]^2 - alpha*y[x], y[1] == 1}, y[x], x]; 
Plot[y[x] /. dsolv2[[1]] /. {alpha -> 1, c -> 1}, {x, 1, 100}, PlotRange -> Full] 

enter image description here

編輯

關於你的評論:

嘗試使用分段函數限制域:

t12[x_] := Piecewise[{{ Exp[-x .01] Sin[x], x >= 1}, {Indeterminate, True}}] ; 
dsolv2 = [email protected][{y'[x] == c*0.5*t12[x]^2 - alpha*y[x], y[1] == 1}, y[x], x]; 
Plot[y[x] /. dsolv2[[1]] /. {alpha -> 1, c -> 1}, {x, 1, 100}, PlotRange -> Full] 
+0

感謝belisarius,好主意。但不幸的是,t12並不那麼簡單,並且不存在 - 將其傳遞給您的示例 - x <1。我真的需要Mathematica來解決僅在相關x範圍內的差異。我會嘗試上傳整個問題,以便明白我的意思。順便說一句。切什麼。甚至找不到網絡中的信息。 – user1426522

+0

@ user1426522在這種情況下,Chop []用於消除解決方案中最終非常小的虛構分量。請參閱我的答案中的編輯。 –

+0

不錯。有用。美麗。 – user1426522

1

你的方程是第一ORD ER和線性的,這樣你就可以得到一個非常通用的解決方案:

generic = DSolve[{y'[x] == f[x] - alpha*y[x], y[x0] == y0}, y[x], x] 

然後你就可以代替你的特定術語:

c = 1; 
x0 = 1; 
y0 = 1; 
solution[x_] = generic[[1, 1, 2]] /. {f[x_] -> c*0.5*t12[x, l2]^2} 


Plot[solution[x], {x, x0, 100}] 

Example

+0

它的工作原理。非常好。但是我認識到我仍然不明白的一件事。我花了相當長的時間來重現你的例子。最後我發現,無論何時我定義alpha預測,我都不會得到解決方案。當我完成「通用」部分後,我聲明alpha。這與你有沒有關係,你有什麼想法可能是背後的原因嗎? – user1426522

+0

@ user1426522對我來說也是一樣。嘗試一個新的會話。 –