本書是在《北京大學(xué)信息科學(xué)技術(shù)學(xué)院本科生課程體系》(2012年出版)的基礎(chǔ)上,將近五年學(xué)院在小班課建設(shè)、國外優(yōu)秀課程引進(jìn)、網(wǎng)上課程(MOOC)、新專業(yè)建設(shè)(通信工程、數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)、軟件工程)、榮譽(yù)學(xué)位設(shè)立及教育研究等方面的最新進(jìn)展進(jìn)行總結(jié)和補(bǔ)充,并對(duì)全院所有課程的大綱重新進(jìn)行梳理、更新而成。在表述上采用了雙語模式,以便于與國內(nèi)外同行交流。 本書可供高等院校信息類學(xué)科的本科生、教學(xué)管理人員、教育研究人員以及國內(nèi)外教育界相關(guān)人士參考。
(1) 資深作者編著,圖書質(zhì)量更有保證:一線資深工程師執(zhí)筆,系統(tǒng)歸納和總結(jié)了智能算法的實(shí)戰(zhàn)經(jīng)驗(yàn)。
(2) 配套源碼及課件,便于讀者動(dòng)手實(shí)踐:理論必須聯(lián)系實(shí)踐,本書提供源代碼及教學(xué)課件,方便教師及讀者學(xué)習(xí)使用。
(3) 內(nèi)含豐富實(shí)例,利于讀者二次開發(fā):書中提供了十幾個(gè)優(yōu)化算法的典型實(shí)例,讀者可以據(jù)此二次開發(fā)。
配套學(xué)習(xí)資源下載地址為清華大學(xué)出版社網(wǎng)站本書頁面。系列暢銷圖書如下:
MATLAB 編程指南——計(jì)算、編程、仿真、算法及應(yīng)用
MATLAB/Simulink系統(tǒng)仿真
MATLAB GUI程序設(shè)計(jì)
MATLAB智能算法
MATLAB數(shù)學(xué)建模
MATLAB優(yōu)化算法
MATLAB信號(hào)處理
MATLAB圖像處理
MATLAB優(yōu)化算法
付文利 畢業(yè)于哈爾濱工業(yè)大學(xué)信息技術(shù)專業(yè),研究生學(xué)歷。現(xiàn)就職于烽火通信集團(tuán),擔(dān)任系統(tǒng)工程師。精通MATLAB科學(xué)計(jì)算、Simulink系統(tǒng)仿真、Visual C++ 程序設(shè)計(jì)等,在國內(nèi)外期刊發(fā)表論文多篇。在工作實(shí)踐中長期使用MATLAB /Simulink,對(duì)其編程與應(yīng)用有深刻的理解。
在MATLAB內(nèi)部,任何數(shù)據(jù)類型都是按照數(shù)組的形式進(jìn)行存儲(chǔ)和運(yùn)算的。這里說的數(shù)組是廣義的,它可以只是一個(gè)元素,也可以是一行或一列元素,還可能就是最普通的二維數(shù)組,或者高維空間的多維數(shù)組; 其元素也可以是任意數(shù)據(jù)類型,如數(shù)值型、邏輯型、字符串型等。
MATLAB中把超過二維的數(shù)組稱為多維數(shù)組,多維數(shù)組實(shí)際上是一般的二維數(shù)組的擴(kuò)展。本章主要介紹包括多維數(shù)組在內(nèi)的一些數(shù)組概念、操作和運(yùn)算。
學(xué)習(xí)目標(biāo):
■理解一維、二維及多維數(shù)組的基本概念及其各種運(yùn)算和操作;
■掌握一維、二維及多維數(shù)組的各種運(yùn)算和操作。
3.1MATLAB中的數(shù)組
MATLAB中的數(shù)組無處不在,任何變量在MATLAB中都是以數(shù)組形式存儲(chǔ)和運(yùn)算的。按照數(shù)組元素個(gè)數(shù)和排列方式,MATLAB中的數(shù)組可以分為:
■沒有元素的空數(shù)組(empty array);
■只有一個(gè)元素的標(biāo)量(scalar),它實(shí)際上是一行一列的數(shù)組;
■只有一行或者一列元素的向量(vector),分別叫作行向量和列向量,也統(tǒng)稱為一維數(shù)組;
■普通的具有多行多列元素和二維數(shù)組;
■超過二維的多維數(shù)組(具有行、列、頁等多個(gè)維度)。
按照數(shù)組的存儲(chǔ)方式,MATLAB中的數(shù)組可以分為: 普通數(shù)組和稀疏數(shù)組(常稱為稀疏矩陣)。稀疏矩陣適用于那些大部分元素為0,只有少部分非零元素的數(shù)組的存儲(chǔ)。主要是為了提高數(shù)據(jù)存儲(chǔ)和運(yùn)算的效率。
3.2數(shù)組的創(chuàng)建
MATLAB中一般使用方括號(hào)([])、逗號(hào)(,)或空格、分號(hào)(;)來創(chuàng)建數(shù)組,方括號(hào)中給出數(shù)組的所有元素,同一行中的元素間用逗號(hào)或空格分隔,不同行之間用分號(hào)分隔。
3.2.1創(chuàng)建空數(shù)組
空數(shù)組是MATLAB中的特殊數(shù)組,它不含有任何元素?諗(shù)組可以用數(shù)組聲明、數(shù)組清空,以及各種特殊的運(yùn)算場(chǎng)合(如特殊的邏輯運(yùn)算)。
創(chuàng)建空數(shù)組很簡(jiǎn)單,只需要把變量賦值為空的方括號(hào)即可。
【例31】創(chuàng)建空數(shù)組A。
解: 在命令行窗口輸入: