編輯推薦
適讀人群 :本書可作為高等院校本科生、研究生MATLAB課程的輔助讀物,也可作為從事科學計算、程序設計的科研人員的參考書。 新版第二版已上市,詳情點擊:
內容簡介
MATLAB麵嚮對象編程——從入門到設計模式
分為三部分。
第一部分介紹MATLAB麵嚮對象編程基礎知識,包括什麼是類,類之間的基本關係,以及MATLAB提供的麵嚮對象編程語言的具體功能;
第二部分是麵嚮對象編程的進階篇,對概念進行歸類,方便讀者在編程中遇到問題時查詢和檢索;
第三部分把麵嚮對象編程的方法應用到實際問題中,並且從實際問題中抽象齣一般的解決方法,即設計模式。
本書可作為高等院校本科生、研究生MATLAB課程的輔助讀物,也可作為從事科學計算、程序設計的科研人員的參考書。
作者簡介
徐瀟,軟件工程師,物理博士,研究方嚮為電子結構計算、密度泛函算法開發;計算機碩士,研究方嚮為圖像處理。在科研編程中經曆瞭開發大型程序難以維護的睏難,花瞭很多時間用於改進程序但總不盡如人意。從2009 年接觸並開始使用MATLAB麵嚮對象編程,發覺工程進度被迅速加快,於是萌生瞭寫一本介紹MATLAB 麵嚮對象編程的書的念頭,希望把這個優秀的工具介紹給大傢。
李遠,研究員(Senior Research Scientist),物理博士,研究方嚮為光電子器件;碩士就讀於北京交通大學,後在Wake Forest University 取得物理博士學位,曾在華盛頓大學做博士後。希望這本《MATLAB麵嚮對象編程——從入門到設計模式》能夠給工程科學領域的工作者帶來更多方便,尤其是在一些需要長期使用而且不斷更新的程序上。
前言/序言
MATLAB 中文論壇創始人math:該書的第一位受益者
(代序)
2009 年末,我應中國科學院南京土壤研究所(簡稱土壤所)的邀請,與他們的科研人員一起開發“土壤紅外光譜信息係統”。這個係統非常復雜,它涉及中國海量土壤光譜數據的快速存儲和讀取,數據處理算法的開發、調試和驗證,以及客戶端多界麵(GUI)的開發。其中, 數據存取使用的是MATLAB 數據庫工具箱和MySQL 數據庫;數據處理算法(包括數據的濾波處理、降維、數據的匹配、預測等)使用的是MATLAB 統計學工具箱、優化工具箱和神經網絡工具箱;客戶端的界麵非常多,如數據庫的可視化操作、算法參數的在綫調試以及數據處理結果的展示等,所有的界麵都是使用MATLB GUIDE 完成的。從把係統的要求整理齣來,到係統第一個版本的完成,用瞭將近1 個月的時間。由於是密集型開發,所以在這段時間內我對整個係統的流程、架構非常熟悉,因此開發起來也不是特彆睏難。該係統在2010 年獲得瞭中國軟件的著作權(編號:2010R11L027920)。
2013 年,土壤所再次邀請我。他們想對這個係統進行升級,並做成網絡版——隻要用戶能連接網絡並且使用MATLAB,就能使用這個係統,使之不僅僅局限於在土壤所使用,更希望它能服務於所有的科研人員,同時給該係統增加多種算法。土壤所成立瞭專門的研究小組以開發和維護此係統。當我在思考如何指導該研究小組升級係統時,我麵臨一個比較棘手的問題:如果對原係統進行升級,需要改動的地方特彆多。因為數據的讀寫、算法的運用以及界麵展示這三者之間是高度耦閤的,很多函數的實現都是在MATLAB GUIDE 的迴調函數裏完成的。對於一個復雜的係統來說,一個地方的小小改動,通常需要測試整個係統架構和算法的穩定性,而且這也不利於係統更新。那麼,科研人員有瞭新的數據匹配的算法,如何通過改變最少的代碼來實現新的算法,同時又能保證係統的完整性和可靠性呢?
有一天我跟徐瀟一起吃午飯,跟他分享瞭我遇到的問題。徐瀟告訴我,軟件設計中,解決這個問題的標準方法是使用麵嚮對象編程和MVC(Model-View-Controller,模型-視圖-控製器)模式。雖然看起來這有點浪費以前的代碼,但對於係統的長遠穩定性和易維護性來說,這是大型係統的不二選擇。而且他正在寫一本關於MATLAB 麵嚮對象編程的書。他說,如果我感興趣,他可以單獨用一章專門來寫如何基於MATLAB 麵嚮對象編程實現MVC。我說好,你寫好我第一個使用。兩個星期後,徐瀟發給我一個PDF 文件,以非常通俗的例子詮釋瞭如何實現MVC 的過程,就是大傢現在所看到的該書第7 章:分離用戶界麵和模型。我在使用的過程中,充分地感受到瞭MATLAB 麵嚮對象編程的強大。我大概花瞭10 小時的時間,就把2009 年的係統架構改成瞭MVC 的架構。2013 年8 月,我把新的架構展示給瞭土壤所負責係統開發和維護的研究小組。該研究小組成員對MATLAB 語言瞭解不是很多,但是這並沒有阻礙他們開發係統,因為我們已經完全把算法的模型(Model)、界麵視圖(View)以及如何實現用戶輸入的獲取(如鍵盤、鼠標事件)這三者完全分開,放在瞭不同的類(Class)中。研究小組在一個星期之內就掌握瞭係統的架構,並且能獨立地對係統進行開發和維護。以上是我的親身經曆。
MATLAB麵嚮對象編程——從入門到設計模式 下載 mobi epub pdf txt 電子書 格式