# 如何撰寫Ngspice模擬電路代碼 ## 注意事項 1. 第一行一定為註解,需要注意不要將程式內容寫在第一行。 2. 由於ngspice 無法直接測元件上的電流所以需要假設節點來測量。 3. 最後一行 .end 結尾 4. \* 為註解符號 # 指令介紹 1. 使用 Batch mode 執行模擬電路 ``` ngspice -b <filename> ``` 2. 架設電壓源、電流源 ``` *架設電壓源 v<name> <high> <low> <dc/ac> <value> *架設電流源 i<name> <from> <to> <dc/ac> <value> *example(參考下圖) v1 a 0 dc 50 i1 0 b dc 10 ```  3. 架設電阻 ``` *架設電阻 r<name> <high> <low> <value> *example(參考下圖) r1 a 0 100 ```  4. 架設虛擬電壓源(似安培計)用來測量電阻電流 ``` *架設虛擬電壓源 v<name> <high> <low> <dc/ac> <value> *example(參考下圖) vdr1 ad a dc 0 ```  5. 設置電壓、電流的變化 ``` *設置電壓、電流的變化量 .dc <name> <begin> <end> <delta> *example .dc v1 0 50 10 *可以想像成for(int v1=0;v1<=50;v1+=10) ``` 6. 輸出 ``` *輸出各個節點電壓電流 .op *輸出元件上的電壓 *使用.print 需要先設置電壓變化(.dc) *節點對地 .print <dc/ac> v(point) *節點對節點 .print <dc/ac> v(point1,point2) *輸出元件上的電流 .print <dc/ac> i(v_name) *example .print dc v(a) .print dc v(a,b) .print dc i(vdr1) ``` # 範例  **程式碼** ``` *Example *Voltage v1 a 0 dc 50 *Set .dc v1 10 50 10 *Resistance r1 ad 0 100 *SetDummy vdr1 ad a dc 0 *Print .print dc v(a) i(v1) .print dc v(ad) i(vdr1) .end ``` **輸出結果**  ## 數值換算 1.00000e+XX = 1.00000*(10^XX) 1.00000e-XX = 1.00000*(10^(-XX)) 範例 1. 1.00000e+01=10 2. 1.00000e-01=0.1
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up