有哪些適合matlab初學者編寫、同時簡單實用的結構分析小程序?

本人即將讀研,學習結構工程,想利用matlab編一些結構計算方面的小程序,為讀研期間的大量涉及的有限元編程打一些基礎……簡支梁配筋計算這樣的程序也可以,主要是為了練習。請大神賜教~


說幾個我們做過的matlab作業吧

1.如下圖所示的平面桁架,桿件長度、彈性模量、截面積以及所受節點力P的大小可以自行定義。求節點位移及桿件軸力。

2.考慮一個5×3的正放四角錐網架,縱橫向單元間距皆為2米,網架高2米,桿件材料為鋼材,上、下弦桿截面面積3cm^2,腹桿截面面積為4cm^2,節點力為上部所有節點作用10000kN、方向向下的力,約束條件為上層周邊節點全約束。求各節點位移及各桿件應力,考慮幾何非線性。

3.框架結構在外荷載作用下的響應。

Level 1 (70%):算例(對特定結構特定荷載)

Level 2 (80%) :平面框架靜荷載

Level 3 (90%) :空間框架靜荷載

Level 4 (100%) :空間框架動荷載

推薦幾本我做作業時參考的教材

1.matlab有限元分析與應用——清華大學出版社

2.有限元方法基礎教程——電子工業出版社

3.結構分析的有限元法與matlab設計——人民交通出版社

沒想到突然就有這麼多人關注這個問題了,那再放上兩本英文的參考書目供有條件的同學學習吧。

對我而言,與其抱著一本《Matlab從入門到精通》慢慢啃,不如直接練習編程解題來得高效。很多時候,從別人的算例中找到自己所需的知識,並將其轉化成自己能掌握的,學以致用,才是最快捷和實用的學習方法。書不必多,有一兩本好好琢磨即可。

The Finite
Element Method Using MATLAB, Second Edition——CRC Press

Introduction
to Finite Element Analysis Using MATLAB and Abaqus——CRC Press


啊,我覺得你要是算配筋的話完全不用MATLAB啊,畢竟配筋是一套流程化的東西,我個人在大三上學習「混凝土結構原理」的時候把這套模式化的東西封裝成了C塊。覺得還算是不錯的小工具吧。有時候寫大作業有投機取巧自作聰明之用。

扯遠了,題主主要是想學習MATLAB的,首先你要弄清楚MATLAB的優勢是什麼。

1.它有強大的矩陣運算功能,輸出標準,如果你寫過最簡單的平面連續梁程序的話,你應該對形成總綱有基本的概念,在MATLAB中你可以直接對它進行加減,取逆,。你應該理解MATLAB對矩陣的運算能力對有限元意味著什麼

2.多種已經封裝好的函數,如果你看過平面空間桁架的FORTRAN程序。那麼你會發現它解方程用到了等帶解方程的方法,但是現在大多數人是不理解這個的,我也不太理解(數學不好),無論你怎麼算最後你要解增廣矩陣的,內置的函數可以讓你直接解出答案,不用糾結我是用GAUSS消去法還是等帶消去法解這個方程,而且你要意識到MATLAB工程師寫出的演算法執行效率不知比你寫的演算法快到哪裡去了。

3.與其他軟體的交互能力 比如xlsread函數可以與excel交互,這個增加了使用的便利程度。這個你在其他語言平台下不容易實現的。

我建議答主先學習一下平面桿系的解法,「工程結構數值分析」課。你可以上MOOC上搜搜看。如果要相關的fortran和C程序我可以找找看。當然我認為答主的編程水平一定要達到一定程度以上才行,不然時間全用來改語法錯誤了,徒增煩惱。

最後我真覺得算結構動力學用MATLAB才爽翻。優點體現的淋漓盡致。(個人觀點,歡迎交流)


自己寫?matlab就可以…去寫吧…


推薦閱讀:

Matlab 可以做一些什麼有意思的事?
長時間使用MATLAB會導致編程能力下降嗎?
為什麼不同的東西會有不同的學習曲線,難道不是任何知識都是越深入需要付出越多嗎?
如何編寫unix 程序防止殭屍進程的出現?

TAG:編程 | 土木工程 | MATLAB | 初學者 | 結構工程 |