(* Mathematica中盡量以分數表示,避免精位數發生問題 *) f=5/1000; g[t_]:=2UnitStep[t]-4UnitStep[t-f]+4UnitStep[t-2f]- 4UnitStep[t-3f]+4UnitStep[t-4f]-4UnitStep[t-5f]+ 4UnitStep[t-6f] vv[t_]=v[t]/. DSolve[{v'[t]+v[t]/(50*10^-9*7000)==(g[t])/(50*10^-9*7000),v[0]==0},v[t],t]; Plot[Evaluate@vv[t],{t,0,6f},PlotRange->All,PlotPoints->2000] (* 一定要加Simplify,否則Mathematica無法將函數轉成piecewise,Plot函數取點時會導致失真 *) Plot[Evaluate@Simplify@vv[t],{t,0,6f},PlotRange->All,PlotPoints->2000]
Mathematica 教學 Dsolve及UnitStep繪圖
由 戴忠淵 於 2012年10月23日星期二
下午11:21 發表
讀者回應 ( 0 意見 )
訂閱發佈留言 (Atom)
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~