1.數(shù)值計(jì)算和符號(hào)計(jì)算的認(rèn)識(shí)
我們都知道MATLAB里面存在著數(shù)值計(jì)算和符號(hào)計(jì)算,但是兩者之間到底是怎樣的呢?
舉一個(gè)很簡(jiǎn)單的例子,我們?cè)诟叩葦?shù)學(xué)里面的微積分學(xué)習(xí)時(shí)經(jīng)常求不定積分,也就是原函數(shù),這個(gè)過(guò)程實(shí)際上進(jìn)行的就是符號(hào)運(yùn)算,我們通過(guò)對(duì)一些變量字符x等等的運(yùn)算,最后得出一個(gè)表達(dá)式;
或者說(shuō)是高等數(shù)學(xué)里面的微分方程,我們經(jīng)常求一個(gè)已知的微分方程的通解或者是特解,這個(gè)過(guò)程實(shí)際上也是對(duì)于一堆符號(hào)例如x,y的一系列的運(yùn)算,我們稱之為符號(hào)運(yùn)算;
上述的兩個(gè)運(yùn)算都是符號(hào)運(yùn)算,那么什么是數(shù)值運(yùn)算呢,我們還是拿前面的兩個(gè)例子,我們都知道,在求解已知函數(shù)的原函數(shù)的時(shí)候,并不是所有情況都可以求出他的精確解,而且是在實(shí)際情況里面,我們大部分情況都是無(wú)法獲得精確解的;再例如微分方程,我們?cè)趯?shí)際情況里面也是很少能夠求出已知的方程的通解;
這個(gè)時(shí)候的數(shù)值運(yùn)算就應(yīng)運(yùn)而生,數(shù)值計(jì)算就是通過(guò)一些特定的值,通過(guò)一些散點(diǎn)來(lái)繪制曲線的解決方法,這個(gè)方法在實(shí)際情況里面是經(jīng)常使用的,因?yàn)槲覀冊(cè)诖蟛糠值那闆r下是無(wú)法獲得精確解的;以上就是對(duì)于符號(hào)運(yùn)算和數(shù)值計(jì)算的認(rèn)識(shí)。
2.一維數(shù)組的創(chuàng)建
(1)冒號(hào)生成法
類似于一個(gè)等差數(shù)列;
(2)線性(對(duì)數(shù))生成法
logspace是對(duì)數(shù)生成,linspace是線性生成,linspace的第一個(gè)參數(shù)和第二個(gè)參數(shù)分別代表起始數(shù)值和終止值,第三個(gè)參數(shù)是生成的向量里面的元素的個(gè)數(shù),這個(gè)系統(tǒng)會(huì)自動(dòng)計(jì)算之間的步長(zhǎng);
(3)子元素的尋訪
我們首先創(chuàng)建一個(gè)魔方矩陣,我們想要找到第一行第二列的一個(gè)元素,我們使用find函數(shù)找到矩陣?yán)锩娣蠗l件的元素,最后打印輸出的結(jié)果是對(duì)應(yīng)的標(biāo)號(hào),而不是矩陣?yán)锩嬖氐闹担?/p>
3.二維數(shù)組的創(chuàng)建
(1)數(shù)組的元素的個(gè)數(shù)較少的時(shí)候,我們可以手動(dòng)輸入;
(2)我們可以使用系統(tǒng)自帶的函數(shù):eye,randn,magic,eye等等;
(3)我們?cè)诙S數(shù)組里面可以使用單個(gè)的角標(biāo)找到對(duì)應(yīng)位置的元素,這個(gè)時(shí)候是從每一列開始,每一列結(jié)束后進(jìn)行下一列,這樣的方法和雙下標(biāo)的一樣找到對(duì)應(yīng)位置的元素;
(4)127行我們可 以找到2,3行,2,3列重合的元素;我們也可以使用邏輯1的方法找到符合條件的元素,符合條件的就是1,不符合條件的就是0,
但是這個(gè)時(shí)候,如果我們還是使用find進(jìn)行篩選,就會(huì)輸出一些下標(biāo),我們無(wú)法像上面的一樣直觀的找到對(duì)應(yīng)的位置,這個(gè)顯然不是我們想要達(dá)到的結(jié)果;
當(dāng)然,我們也可以自己進(jìn)行命名,我們可以不使用系統(tǒng)的1,0;我們可以定義一個(gè)向量保存這些元素,下面就是給這個(gè)定義的L行向量重新命名為NaN,這樣的話符合條件的位置就不會(huì)使用1,而是使用NaN進(jìn)行標(biāo)識(shí);
(4)數(shù)組操作綜合方法
這段代碼的意思就是取出魔方矩陣的1,3兩行的數(shù)據(jù)并且刪除,顯示其他4行的數(shù)據(jù);
我們也可以對(duì)這兩行進(jìn)行其他的操作,我們的這個(gè)替換,要求要符合矩陣的規(guī)則,使之左右兩端能夠相互匹配;
我們也可以使用原有的矩陣元素取出對(duì)角線上面的元素,也可以利用對(duì)角線上面的元素創(chuàng)建一個(gè)新的矩陣;
4.兩種引號(hào)的使用說(shuō)明
(1)雙引號(hào)的使用
我們打開這個(gè)結(jié)果就可以發(fā)現(xiàn)這個(gè)是一個(gè)1*1的矩陣;如下圖所示:
這個(gè)表明這個(gè)字符串只是一個(gè)1*1的矩陣(這個(gè)會(huì)和后面的單引號(hào)區(qū)分的)
(2)雙引號(hào)的嵌套
雙引號(hào)里面包含雙引號(hào),我們就要在內(nèi)層的雙引號(hào)里面多加上一層雙引號(hào),否則系統(tǒng)無(wú)法識(shí)別內(nèi)外層的雙引號(hào)之間的修飾關(guān)系,如圖所示:
這個(gè)通過(guò)觀察也可以知道,這個(gè)是一個(gè)1*1的矩陣;
(3)字符串后面添加元素
通過(guò)代碼,我們就可以知道直接在已知的后面加上單引號(hào)修飾的單詞就可以添加在原來(lái)的語(yǔ)句的后面;
(4)存儲(chǔ)多個(gè)元素
我們只需要把元素使用雙引號(hào)修飾以后,放到矩陣?yán)锩婢涂梢粤耍?/p>
(5)單引號(hào)使用
這個(gè)就是前面提到的不同之處,這個(gè)也是我們輸入什么,就會(huì)輸出什么,但是打開工作區(qū)就可以發(fā)現(xiàn),這個(gè)是一個(gè)1*11的字符;
(6)異同點(diǎn)比較
首先,這個(gè)單引號(hào)的字符,我們通過(guò)4就可以找到對(duì)應(yīng)位置的字符,因?yàn)樗且粋€(gè)1*11的矩陣,如果是雙引號(hào)修飾的,我們使用4就會(huì)顯示越界訪問(wèn)的錯(cuò)誤,因?yàn)殡p引號(hào)修飾的就是1*1的矩陣,不可能找到第四個(gè),單引號(hào)的有幾個(gè)字符就可以找到第幾個(gè)字符;
其次,我們對(duì)于雙引號(hào)修飾的內(nèi)容,可以使用前面提到的加號(hào)直接進(jìn)行元素的添加
但是對(duì)于單引號(hào)修飾的內(nèi)容,我們不能這樣作,我們需要把添加的內(nèi)容和已知的字符放到一個(gè)矩陣?yán)锩?,如下圖所示:這樣就顯示添加成功。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-845586.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-845586.html
到了這里,關(guān)于數(shù)學(xué)建模之MATLAB使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!