[問題] 如何用c語言或c++設計電路

看板C_and_CPP作者 (江)時間9年前 (2014/12/29 21:21), 9年前編輯推噓16(16034)
留言50則, 18人參與, 最新討論串1/1
如果要設計一個程式,可以計算隨意輸入的電路模型,例如電阻的並聯串聯啊,電容電阻 的並聯串聯啊之類的 這種輸入一個電路圖,就可以任意計算每一個節電的電壓還有電流 這種程式可以用c語言寫出來嘛??要怎麼樣可以使輸入不是一個變數而是一個電路圖這樣? ? 這個是期末報告,我知道我的敘述很模糊可是教授就是這樣講完就走了而且事後問他也只 重複這類的話 小的c語言非常爛,但也不是要伸手跟板上各位神人要求幫忙寫電路 只是想要知道要怎麼用c語言模擬電路圖而已,因為小的只會做非常簡單的程式 能告訴小的這個程式的大鋼大概是怎樣的嗎??? 小的目前想到做並聯跟串聯的函式,分壓分流會算,但是只能是最簡單的qqqq 而且變數越定越多,不知道要定幾個,因為不知道教授的電路圖幾個串並幾個 補充一下,小的知道可以用spice或CAD,但是小的會想用c語言是因為教授說不是c語言就 零分qq,連MATLAB都不行用qqqq 小的讀電機系大二,請各位大大原諒小的才疏學淺,線代也才剛學而已qq -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.79.69.73 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1419859265.A.24D.html

12/29 21:29, , 1F
電阻,電容,電感的通用模型
12/29 21:29, 1F
對不起,那是什麼??我網路上查不到欸!! ※ 編輯: anger50322 (42.79.69.73), 12/29/2014 21:35:33

12/29 21:36, , 2F
電路學重修? XD
12/29 21:36, 2F
拜託不要,重修還是要會寫qqqq ※ 編輯: anger50322 (42.79.69.73), 12/29/2014 21:38:19

12/29 21:41, , 3F
言歸正傳,我不確定我想的是正確的,但如果把電路轉成符
12/29 21:41, 3F

12/29 21:42, , 4F
號表示的話,以 | 表並聯,$ 表串聯,再怎麼複雜的電路應
12/29 21:42, 4F

12/29 21:42, , 5F
該都可以簡化成 Real + j Img , 接著做分流的回溯. 如
12/29 21:42, 5F

12/29 21:43, , 6F
R | L $ ( R|C ) $ (C $ (R | L ) ) ;
12/29 21:43, 6F

12/29 21:44, , 7F
第一步沒猜錯的話應該是先求總阻抗,等於是用到一點語意
12/29 21:44, 7F

, , 8F
分析,相關的範例可以參考c語言四則運算。後半段的分流
12/29 21:44 我有想過做一個函式是並聯,一個是串聯,但是這樣的話分壓分流又要怎麼辦?? ※ 編輯: anger50322 (42.79.69.73), 12/29/2014 21:46:38

12/29 21:45, , 9F
分壓的話就再找資料想一下 >> 不就是要先複習電路學了嗎
12/29 21:45, 9F
不是那個意思,我的電路學都會算,但是我的程式寫不出來qqqq就是無法獨立出來printf 在電腦上 ※ 編輯: anger50322 (42.79.69.73), 12/29/2014 21:52:42

12/29 21:48, , 10F
奇怪,你有想過的東西怎麼都沒放上來
12/29 21:48, 10F

12/29 21:53, , 11F
QT
12/29 21:53, 11F
咦?!!!要放上來????對不起因為不確定對不對 ※ 編輯: anger50322 (42.79.69.73), 12/29/2014 21:54:12 ※ 編輯: anger50322 (42.79.69.73), 12/29/2014 22:12:38

, , 12F
你是不會用程式畫電路圖?還是不會用程式算分壓分流?
12/29 21:54是不會畫,會算!!

12/29 22:10, , 13F
板規都不看的
12/29 22:10, 13F
※ 編輯: anger50322 (42.79.69.73), 12/29/2014 22:14:05

12/29 22:33, , 14F
可以用二維的形式描述各個電阻之間的連結關係,然後用
12/29 22:33, 14F

12/29 22:33, , 15F
一維的資料描述各個電阻值 這樣行嗎?
12/29 22:33, 15F

12/29 22:46, , 16F
你可以搜尋一下CAD,順便複習線代跟矩陣
12/29 22:46, 16F

12/30 00:28, , 17F
你沒用過spice之類的嗎? 電路就是用一個文字檔描述
12/30 00:28, 17F
沒用過欸!!可是教授指定用c語言,用其他的零分qq

12/30 00:32, , 18F
比如說一行文字 R1 1 2 100, 代表有個電阻叫R1, 從node-1
12/30 00:32, 18F

12/30 00:33, , 19F
接到 node-2, 電阻值100, L/C也是用同樣的方式描述
12/30 00:33, 19F

12/30 00:46, , 20F
spice +1
12/30 00:46, 20F

12/30 01:48, , 21F
所以你是需要data visualization?
12/30 01:48, 21F

12/30 01:49, , 22F
我以前用的是VTK,不過這東西頗硬....
12/30 01:49, 22F

12/30 07:26, , 23F
c++ 用pointer連?
12/30 07:26, 23F

12/30 10:07, , 24F
有看過的作法就如bxxl講的,user自己要把電路抽象化定
12/30 10:07, 24F

12/30 10:08, , 25F
出節點,然後輸入哪個元件連在哪些節點,接著對每一節
12/30 10:08, 25F

12/30 10:08, , 26F
點引用克希荷夫定律寫出聯立方程式,再求解
12/30 10:08, 26F

12/30 13:04, , 27F
搜這Matrices linear equation calculator
12/30 13:04, 27F

12/30 17:33, , 28F
這不就spice嗎....隨便搭配個畫圖的api就好啦
12/30 17:33, 28F
※ 編輯: anger50322 (42.67.98.83), 12/30/2014 18:37:04 ※ 編輯: anger50322 (42.67.98.83), 12/30/2014 18:39:18 ※ 編輯: anger50322 (42.67.98.83), 12/30/2014 18:41:38 ※ 編輯: anger50322 (42.67.98.83), 12/30/2014 18:49:22

12/31 01:17, , 29F
先把電路的資料表示法定好(tree?graph?)
12/31 01:17, 29F

12/31 01:18, , 30F
然後推MOONRAKER
12/31 01:18, 30F

12/31 02:39, , 31F
找C to HDL的 converter啊
12/31 02:39, 31F

12/31 02:41, , 32F
單純計算,那就做出圖,推MOONRAKER
12/31 02:41, 32F

12/31 02:43, , 33F
簡單的99,零分的9999,matlab也不行用9999 :D
12/31 02:43, 33F

12/31 12:01, , 34F
先從簡單電路開始吧,期末時間這麼短也很難做什麼偉大
12/31 12:01, 34F

12/31 12:02, , 35F
功能,以前老師說他學生時代上電路學的時候寫了一個
12/31 12:02, 35F

12/31 12:03, , 36F
我則是上數位電路的時候很想寫不過太懶 :P
12/31 12:03, 36F

12/31 16:16, , 37F
偷懶(或許該說是聰明?)的話 網路上應該一堆現成的東西
12/31 16:16, 37F

12/31 16:16, , 38F
拿來參考修改成自己的版本 應該可以學得更快更多
12/31 16:16, 38F

12/31 17:27, , 39F
小弟現在在弄的qucs算是一個成品吧XD
12/31 17:27, 39F

12/31 19:21, , 40F
不是叫你用spice寫. 而是要參考他描述電路的語法.
12/31 19:21, 40F

12/31 19:22, , 41F
你的程式要做的事情就跟spice差不多,所以要能讀入同樣的描述
12/31 19:22, 41F

12/31 19:24, , 42F
轉換成矩陣(利用KCL/KVL),再解線性系統.
12/31 19:24, 42F

01/03 09:21, , 43F
Try SystemC?
01/03 09:21, 43F

01/12 06:49, , 44F
就是寫兩個副程式 分別算電壓電流(需判斷元件數)
01/12 06:49, 44F

01/12 06:50, , 45F
最簡單,就分支1不變 分支2隨元件數變化
01/12 06:50, 45F

01/12 06:51, , 46F
接下來從外層判斷到內層,一步一步去算
01/12 06:51, 46F

01/12 06:52, , 47F
用最笨的方法去算,然後寫成程式...
01/12 06:52, 47F

01/12 06:53, , 48F
類似上面的運算元(串並聯) A|B$C的方法
01/12 06:53, 48F

01/12 06:57, , 49F
超像在考資料結構的=_="
01/12 06:57, 49F

01/12 07:05, , 50F
上面少說節點和節點關係,不過這原理上面大家有說
01/12 07:05, 50F
文章代碼(AID): #1KeLL19D (C_and_CPP)