我現在學的是電氣工程及其自動化,我們就學一學期的C語言,我想自己深入學習一下,有必要嗎?

誰能回答一下我的問題 謝謝(∩_∩),就是比較感興趣。。或者是有什麼好處對於我這個專業。。


電氣的很多同學都有種錯覺,就是對編程很感興趣,但是由於這個專業的特點,導致大多數本科生都不知道編程在本專業內的具體應用,然後盲目地用功,最後只學了個皮毛。

大多數本專業的同學會接觸到三個主要方向,電力系統,電機,電力電子,至於高電壓與絕緣這個方向學的人數相對較少。

電力系統這個方向更偏軟體演算法,除了PSCAD,Smulink,EMTP等模擬軟體,造輪子用的多的編程語言應該是c++,但是需要掌握穩態分析,暫態分析和數值分析的基礎,所以這個方向的工作,一般是碩士起。

電機,此處主要指電機的電磁設計(變壓器同理),老一輩用Fortran,c/c++,Matlab的都有,現在用FEM模擬軟體的多。需要電磁場,電機學,數值分析的基礎。

電力電子(數字電源),電機控制,繼電保護除了掌握必要的模擬軟體,其中的數字信號處理和控制演算法真正作為產品實現時,用DSP的多,PWM發波可以用FPGA,操作系統可以用ARM,因此c/c++(確切地說是c更多)很重要。需要電力電子,電機學,電機拖動,信號與系統,自動控制,繼電保護的基礎。

-----------------------------------------------------------------------------------------------------------

鑒於以上用c語言的地方,都至少需要大三以上的理論課基礎,學無餘力的同學還是放棄深入學習c語言吧。從這點講,本專業學習MATLAB實用性更強,等到需要的時候,再深入轉學c/c++。與其把時間浪費在造輪子上,不如打好本專業的基礎課。

------------------------------------------------------------------------------------------------------------

對於Matlab/Simulink,我覺得很多人對它的用途有誤解,畢竟Matlab的功能和工具箱太多,沒有人能全部用到的。

一些實驗課的數據處理和繪圖,可以通過Matlab的繪圖工具箱完成,雖然比Mathematica的繪圖丑點,但至少比Excel這種好多了吧。尤其是對於示波器存儲的csv格式數據,通過簡單的導入和矩陣操作,在Simulink中就可以利用相應的工具箱進行FFT分析或者系統傳遞函數的分析。

M Function比較適合靜態方程的編寫。

MATLAB也支持面向對象程序設計,可以通過做一些簡單的小項目學習面向對象編程的思想,比如做個用戶界面。最近的版本,還可以自己開發MATLAB app。

對於一些複雜的模型或演算法,比如同步發電機,多相電機,智能控制演算法等,需要用動態微分方程建模的,可以利用S Function進行建模,遠比用Library里的那些元件搭建模型好。

利用MATLAB的代碼生成工具和編譯器,可以將Model直接生成c/c++代碼,比如數字濾波器設計。Simscape里可以自己造輪子,但是需要學習它的語法。

如果實驗室有條件的,有dSPACE這類實時系統開發工具,加上相應的硬體平台,就可以把精力放在專業知識上。

說這些,其實只有一點,把精力用在專業知識的學習上,不要糾結用什麼語言。即使你只會MATLAB,一樣也能找到好工作,關鍵是你能用它做什麼。


很有必要,學強電最好能夠熟練掌握一個電力系統模擬軟體,另外學好至少一門編程語言。可以系統學習Visual Studio這個平台,重點學學C++或者Fortran,電氣工程的應用更多是科學計算,所以你在今後的學習中會接觸到很多很老的語言。另外,也推薦系統學習Matlab,當然不是Simulink。純學語言略顯枯燥,可以結合Kunder的power system stability and control,用一些書里的簡單實例來學習。比如單機無窮大系統在短路故障時的穩定性問題,可以考慮3,5,7階不同同步發電機模型,3階無阻尼繞組的影響等等。

看來很有必要修改下我的答案了,沒想到各種答案五花八門。。。題主所在專業電氣工程及其自動化毫無懸念屬於強電專業,而非電子弱電類專業,今後會遇到四大核心專業基礎課程: 電力系統分析,電機學,電力電子和高電壓與絕緣技術。而且這四門專業基礎課也演化出來了四個強電的重要研究方向。這個專業國內畢業生的主要就業單位會是兩大電力公司和幾大發電集團,還有各類電力電氣設備製造商。搞科研讀碩士讀博士就不說了。那麼我們看看就業,如果進入電網公司,很有可能會下到生產基層班組,那就是檢修,保護什麼的。這時候你會發現,你周圍的師傅各個工程經驗非常豐富,但是理論有脫節的現象,他們知其然,但是很多不知其所以然。舉個簡單例子,如果在生產一線,和變電站,各類設備打交道,如果一個新投運的110kV變電站最後給10kV電容器組充電,往往第一次充電有很大概率電容器組不平衡電壓保護會動作,很多現場包括廠家在內大家都知道會有這個特點,但是為什麼?干保護的會擔心是不是電容器放電線圈二次開口三角接地沒弄好,導致誤動諸如此類。但是檢查二次迴路都是完善的,那怎麼解釋。。。實際上用emtp系列軟體建立個模型做出模擬原因一目了然。這種細節性的工作問題不勝枚舉,如果在工作中加以留意就會有很大收穫。而對這些軟體理論結合現場問題的內容整理加工,就是你的論文和每年的QC成果。這些東西又對職稱,和開始的技術路線有很大影響。當然這些問題又有難易之分,所以技不壓身,能學好上述其中一個語言,會有很好的輔助作用。

PS: 我第一年在保護乾的時候做了個小的安卓APP應用,把四大廠家四方,南瑞,南自和深瑞主流220和110kV主變差動保護比率制動係數檢驗功能做在一起,只需拿著手機和檯子現場加量試驗即可。最後因為政治原因被黑,只拿了省公司QC二等獎,所在市局申報應用型專利。。

最後奉勸題主廣泛學習,切莫人云亦云。


我聞到了EE轉CS的味道。。。

借著我是去年(2015屆)的畢業生的身份,幫題主分析一下今後的方向。

這真是一個浮躁的時代。

=========================================================

首先,題主你可以去學院找老師要一下你們專業的人才培養計劃。裡面會有寫培養目標、主幹學科、主要課程等內容。

比如我的

要是覺得麻煩,至少上百度查一下吧。當然,我也是知道你要理解你的專業體系至少也要到學了專業課以後。但是不用太擔心,我會稍微幫你梳理一下弱電這一部分。

根據百度百科對電氣工程及其自動化的介紹,我認為,你第一次把C運用起來的地方是51單片機,開發環境(IDE)是Keil,而不是Windows環境下的Visual Studio開發。

至於什麼是51單片機你自己去找答案吧,最好問你師兄或老師。

我不知道題主是大幾,所以我就默認題主只學了C語言。那麼接下來,在學校開單片機這門課程之前,你會學到數字電路模擬電路,這兩門是電路工程中的基礎的基礎。而且單片機本質上屬於數電的範疇。

學了單片機之後,學校可能還會開一門課程叫自動控制原理,聽起來好像就是整個自動化專業的精髓哦~拋開這門課的理論不說,這門課有一個最典型的,自今很多系統仍然在用的,而且你也既有可能上手接觸的一門控制技術:PID控制(PID控制_百度百科)。

還有呢,到了大二或大三階段,你們老師會讓你們參加各種比賽,比如電子設計大賽(全國大學生電子設計競賽官方網站)、單片機比賽、挑戰杯等等。

關於強電方面,什麼電機啊高壓啊發電厂部分,我不熟悉就不提了。

好了,前面鋪墊了那麼多,我這裡想表達的是,對於你的專業來說,相對於C語言,更重要的是你的電子電路知識,本專科階段的比賽更看重的是你的理論知識動手能力結合能力。

基本上電類專業的本科階段就是這麼一回事:大一通識教育,學個C語言;大二開始學數電模電等電類基礎的課程;大三開始專業課,這個時候每一個電類專業所開的課程都不一樣,同時可以參加各種電類比賽;大四就是出去實習找工作了。

所以,現在,題主說你想深入學習一下C語言。我就感覺題主以後可能會轉CS。

因為對編程的學習有點太主動了!一旦對編程的熱情超過對電子硬體的熱情,就會有種想去做程序員的衝動!

==============================================================

好了,回答題主的問題,如果你想畢業後從事本專業相關工作,深入學習C語言是完全沒有必要的,只要學會用C語言編寫單片機的代碼即可,剩下的精力可以花在專業知識上,尤其是電路方面的知識。

另吐槽一下,有些答案都沒有考慮題主自身情況,只是寫出了自己認為有用的東西,我都不知道題主看懂了沒有。

===============================================================

補充:

我承認我的答案是偏向於弱電了,而電氣工程及其自動化是強電的領域,所以我上面的回答算是離題了。不過呢,

1.電類專業的學生第一次把C語言用起來的地方是在單片機上,學了C順便就去學VC平台,萬一題主走了程序員道路誰負責~?

2.C語言重要,但在電類專業里,絕對沒有比電子(電氣)基礎知識更重要,依據請看弔兒郎當答案里所說的四大核心專業基礎課程(第二段第二行)。

3.數電和模電依舊是基礎;

4.最重要的還是要看你們學校的人才培養計劃,每一所學校由於師資不同,開設課程的偏重點自然也不同。

5.題主如不喜歡強電可以考慮轉行來我們弱電領域~(偷笑)


有必要,個人感覺學電力的人跟學Data Scientist和CS 都快沒區別了。

對於繼續在電力系統深造的人而言,建議也學學Python 和 MATLAB,電力系統研究的課題太多太多,不同的語言應用在不同的地方,以下是個人淺見:

C/C++

其用武之地在於單片機和任何硬體編程之類的操作。其面向對象是繼電保護和電力設備控制。除此以外,C/C++ 有時也應用在模擬軟體中,比如RTDS 應用C去自動化所有序列操作。

C#

很多電力系統開源軟體都是基於C#,大部分這類軟體應用在電力系統數據處理。 比如近幾年誕生的PMU based Linear State Estimator 用於實時估計系統狀態,就是基於C#的開源軟體平台OpenPDC。

Python

電力系統的核心在於規劃和操作。長期規劃和短期規劃都十分依賴對電力系統模型的模擬。在大部分地區,PSSE是電力系統模型的標配,在北美各大RTO,ISO,和電力公司,他們的模型大多數都是基於PSSE。PSSE可以進行潮流計算,OPF,N-1 分析,動態分析,PV,QV 分析,等等。每次模擬都需要大量數據處理。利用python可以對psse進行自動化操作和數據處理。比如系統穩定分析,我們需要用python 在psse中產生大量operating condition,對每個condition還要進行N-1分析,最後找尋系統最薄弱的點。Python還能利用它的庫對產生的數據進行數據挖掘,對系統的穩定性進行實時預測。

MATLAB

MATLAB不是語言,是一門數學工具,一門強大的數學工具,一門必須掌握的數學工具。熟悉任何一門語言的人只需要閱讀MATLAB的工具書就能運用MATLAB。 MATLAB的Matpower 也挺好用,可惜無法代替PSSE。還有大部分變壓器,發電機的建模和數值分析都可以應用MATLAB。


謝邀,我的想法是以後要是從事電氣方面的工作,涉及到的編程其實都偏重演算法,就是根據電氣學科知識建立的演算法,編程的細節都在此,所以我覺得編程大概掌握 C,Verilog(或者VHDL),單片機少量彙編語言就行,研究主要掌握MATLAB m語言腳本,Simulink建模模擬,界面GUI,Mathematica理論分析與推導,想折騰的話可以學Python做一些事情。工具和語言通用性強、靈活性強、操作性強、盡量選擇用戶多的。


客觀地講,這個要看你的個人情況和選擇的,和浮躁沒什麼關係。

如果你很想在電氣工程專業深入學習,就業也想從事這方面的工作,那麼你就不用花很多精力在編程上面。我看到的很多朋友,在類似的公司工作,都是不需要這方面的能力的。當然,如果你學有餘力,只是有興趣想學學看,那肯定也是沒有問題的。

如果你不想從事這方面的工作,或者更大的可能性是你現在還不確定,那麼我建議你倒是可以抽時間學習一下其他的更容易入門的語言,比如Python,Java。這些語言不是說它們簡單,只是你學習它們很容易做出些小東西,不至於打擊積極性。


如果你學習C基礎的時候感興趣,那麼為什麼不深入學一下么,沒有知識是無用的。


你不一定從事這個專業。

有兩種學習態度,一種是不知道為啥學而不學了,一種是不知道為啥學就學了。

通常後者的成就遠高於前者


自己想想自己想要啥,自己想做啥,我也是電氣工程及其自動化專業畢業的,大四的時候,說有的同學都打破腦袋的想去供電局,電力系統,有的是家裡有關係進入了電力系統,3年過去了,有些人甚至現在不想在供電局幹了,尤其那些家裡有關係的,而我呢家裡沒有關係,自己也從來就沒有想過要進供電局,因為進去那天就可以看到自己60歲時候的樣子,然後我喜歡電子,計算機,機器人,航模,就自己找工作,現在的工作很喜歡。

我想說的是,你要知道自己以後想做什麼,在考慮要學什麼,如果想做自動化,嵌入式,啥的還是很有必要學習的,如果想做嵌入式軟體那就必須深入學習,做硬體要了解一些。要是去做電力系統來時算了吧,考試及格就行了。


電氣工程及其自動化是一個一級學科,如果你選擇繼續深造的話會有電力系統自動化,高電壓與絕緣,電機與電氣,電力電子,電工理論與新技術等二級學科;本人電力電子專業畢業的屌絲,個人感覺C語言也就在電力電子應用中有用處,因為現在的電力電子裝置採用的數字控制器主要基於TI與ADI的DSP晶元,這些晶元的開發環境都是基於標準C語言。C語言應該是所有語言中最容易上手的,個人覺得多結合一些例子比如TI的常式有助於加深理解,教材推薦譚浩強的教材,僅供參考


本大二狗也是學電氣的,而且是屬於已經深入學習過c語言了,要問有多深入的話,可定比我們學校計科的強得多,目前也已經學了4、5門編程語言了。

然而學深了並沒有什麼卵用,會基礎就行。咱電氣重點在於電路那些玩意。經驗之談。

不說了,你要是想跟我走同一條路,來吧。我看了一寒假演算法導論,考研去當程序員。


大二電氣狗怒答。

我大一剛剛學完C語言然後趁熱拿了二級證,c語言很重要!很重要!很重要!重要的事情說三遍!

第一,這科掛科率在大一中比高數還高(至少我學校是這樣的)。因為學好c語言不是一天兩天能學好的,真的要下點功夫。

第二,不管你以後學弱電強電你都要和機器打交道的,c語言算是高級語言中非常非常實用而且易入門的。

學習資料建議看看清華大學出版社的C語言程序設計,我覺得寫的非常詳細。視頻就百度魚C視頻,也還不錯。

//附加一句, c語言學懂就夠了,電氣沒有那個必要深入學習


好處當然是有的,之後的課程比如數值計算、單片機會用到。而且現在可以看到大數據向傳統行業滲透是一個大趨勢,現在編程只是作用於某些特定的專業領域,但十年、二十年後呢?機會從來都只留給有準備的人。而且既然你感興趣,那就去學啊,那些演算法可是人類最頂尖智慧的結晶,聽一聽提神醒腦,學一學受用一生。

深入學習的話學到演算法和數據結構就可以了,編譯原理和操作系統暫時不用考慮,盡量用國外的教材(基於C語言),多想多敲代碼就可以了。不要貪多去學別的語言,演算法和數據結構是內功,大學時候時間和精力充裕,最適合學這種燒腦又打基礎的課程。學通了,隨便給你個編程語言,分分鐘看一下語法就能上手,而且將來如果要轉CS也是很容易的,那種面向對象啊J2EE什麼的看似複雜,其實都是沒有什麼技術含量的。

總之,學好C沒錯的。


我回憶了一下大一時候的C語言課,感覺如果所有知識點應該夠用了。可以自己自學個visual c/c++,遍一些應用,這樣有一技傍身。

C語言繼續深入下去,就是數據結構和編譯原理了。對理解別的語言以及轉CS非常有幫助,但是跟電氣和自動化關係不大。


本科就打算就業的話,什麼都知道一點留下一個基礎就行了。本科生畢業很少回去涉及到系統層面的工作,都是很具體很底層的工作,這個層面上用的基礎是最多的。

如果打算深造,請參考上面專業人士的意見。

如有錯誤,歡迎大家指正!!!


作為一個電氣專業的大三狗,強烈建議很有必要。


人將來更多是和機器打交道的,學會和機器溝通很重要。


如果你是想學好C語言為以後做準備,比較難堅持,而且忘得快,也不容易學的精深。

如果你是當前做的項目或者工程要求你不得不寫C語言,恭喜你,可能幾個月下來比你辛辛苦苦看視頻看教材記筆記學到的更多。

不是為了學而學。是因為狹路相逢,不會不行。


反正喜歡就去學,沒有壞處。

會編程,哪怕以後用不到c專門用matlab,甚至是學操作大軟體,對你的邏輯能力、查找幫助思路也是有益處的。


很有必要,因為將來很有可能轉CS…


推薦閱讀:

亞琛工大的ISEA和威斯康欣的WEMPEC是否代表了電機驅動控制在學術界的最高水平?
為什麼國內很多自動化設備生產廠家的產品都這麼粗糙落後?
控制系統中的零極點有什麼物理意義么?
請問這個是什麼,是plc嗎?

TAG:自動化 | 電氣工程及其自動化專業 | 電氣工程 |