【MATLAB】点运算
????????歡迎來到博主 Apeiron?的博客,祝大家旅程愉快 !時止則止,時行則行。動靜不失其時,其道光明。
目錄
1、緣起
2、點運算
2.1、基本算數運算符
2.2.1? 矩陣加法?
2.2.2? 矩陣減法?
2.2.3? 矩陣乘法
2.2、點運算示例
3、總結
1、緣起
? ? ? ? 在大一下半學期,學校開設了 MATLAB 課程。但是那時候心思沒在學習上,癡迷于悟“道”,就是傳統文化中的道家思想。所以當時 MATLAB?也就學的稀里糊涂,而且那個時候也沒有認識到 MATLAB?在工科領域的地位。當然,這門課最后也是掛了,補考也是 60?分飄過。哎,說多了都是淚啊~
? ? ? ? 在之后的學習當中,用到 MATLAB?的場合也不多,只要是遇到不會的或者遺忘的 MATLAB?知識點就去網上查一下,只要把當前的作業任務完成就好了。然而,最后發現這樣學習到的 MATLAB?知識點非常碎片化,不成體系,遺忘也就非常大。在每每用到相關知識點的時候,由于遺忘總是再一次的去資源浩如煙海的網上查詢遺忘的知識,這樣就導致學習效率就很低下。
? ? ? ? 在開悟之后,內心深處有一個聲音響起:“該回到正軌了”。這時,我才把心思從道家思想慢慢地轉移到學習上。是啊,專注內觀,聆聽心聲;遍體陽和,金華出露;回光循循然行去,不要廢棄正業,不要廢棄正業,不要廢棄正業哇~ 。這時的我,在專業課程上已經被同齡人甩開了一大截。課程落下了,知識沒學到,這都沒關系,再去重新學一遍就好了。前人總結和驗證過的經驗被寫進了教科書,成為我們學習的知識,起碼在我有生之年這些知識不會被推翻。從表面上看,我和同齡人相比是有點晚了,但是我覺得一點都不晚,學習從什么時候開始都不晚。我是什么樣的人,我就會看到什么樣的世界;我有什么樣的眼光,我就會從世界里面看出什么樣的世界意義;從這個意義上來說,世界本身是什么樣的并不重要,重要的是我是怎么樣的。
????????現在回憶起之前的經歷,我對我之前的選擇,一點都不后悔。如果沒有當時力排眾議的選擇,就不會有后面的經歷,沒有這些奇特的經歷,就不會有今天的我。他們總說我瓜,其實我一點都不瓜,大多時候我都是機智的一批。因為?智慧的獲得 是可遇而不可求的,要看機緣,看悟性。人一旦開了竅,人生就像開了掛一樣,做事也會順利很多。開竅后的我就像是被打通了任督二脈,突然就不再害怕書本上的那些晦澀難懂的知識點了。
????????這時,踏入道境,我再也不是大一時懵懵懂懂、傻啦吧唧和極其浮躁的我了。我發現人與人的差距在兩個方面上,一是在社會關系上,二在認知水平上。讀書是對認知水平的塑造,但是能塑造多高,跟書的數量沒有必然關系,而在于對知識 “領悟運用的能力”?和 “結合自身實踐的能力”。
? ? ? ? 在此之后,我在學習的時候,開始注重建立知識邏輯,知識體系和知識框架。學習再也不以考試不掛科為目的,而是以把知識理解透徹,能用其展現創造力,體會知識對我們的文明產生了什么樣的影響和探究知識的邊界為目的。
2、點運算
? ? ? ? 回顧過往的經歷,為了更好的籌劃未來。在以往學習 MATLAB?的過程中,這個 MATLAB?點運算?是最讓我抓狂的一個知識點。運算沒有加 "點",圖像出不來。說到底,還是沒有深入透徹理解點運算,不知道在什么時候加“點”,什么時候不加“點”。老是學,老是忘;然后學,然后再忘;就陷入了一個 while( 1 )?循環中。
? ? ? ? 就在今天,我想去用 MATLAB?畫一個數學圖像,需要用到點運算,然后又忘了。得,又去重新學習了一遍。然后我把這個學習點運算的筆記在博客上?,以求深入理解和純熟應用,同時也希望能夠幫助到有需要的同學。等到再次忘記的時候,直接簡單快捷地翻閱這篇博客就可以啦 !
2.1、基本算數運算符
? ? ? ? 在學習點運算之前,先了解一下?MATLAB?中的最基本的算數運算符,這樣在學習點運算的時候便會事半功倍。其基本的算數運算符如下:
+(加)、-(減)、*(乘)、^ (乘方)
????????MATLAB?運算是在 矩陣 意義下進行的,單個數據的算術運算 只是一種特例。?所以,有關線性代數矩陣運算都可以在 MATLAB?中進行運算。但是有這樣一個特例,一個數加矩陣,在線性代數中不存在這樣的運算,但是在 MATLAB?中可以運算。
例:A = [ 1, 2, 3; 4, 5, 6; 7, 8, 9]? ? ? ? B = 10 + A
2.2.1? 矩陣加法?
當兩個矩陣具有相同的維度時,可以進行矩陣的加法。以下是一個矩陣加法的例子:
例:A = [1,2;3,4]? ? ? ? B = [5,6;7,8]
2.2.2? 矩陣減法?
當兩個矩陣具有相同的維度時,可以進行矩陣的減法。以下是一個矩陣減法的例子:
例:A = [1,2;3,4]? ? ? ? B = [5,6;7,8]
2.2.3? 矩陣乘法
????????在矩陣相乘中,如果兩個矩陣的維度允許相乘,即 第一個矩陣的列數 等于 第二個矩陣的行數,那么它們可以相乘。結果矩陣的行數等于第一個矩陣的行數,列數等于第二個矩陣的列數。
????????具體來說,假設有一個 m × n 的矩陣 A 和一個 n × p 的矩陣 B,它們可以相乘。結果將是一個 m × p 的矩陣 C。矩陣乘法的計算方法是將第一個矩陣的每一行與第二個矩陣的每一列進行內積運算,然后將結果相加。下面是一個例子:
例:A = [1,2,3;4,5,6]? ? ? ? B = [7,8;9,10;11,12]
注意:對于矩陣乘法來說,乘法操作的順序很重要。A × B 不一定等于 B × A,因為乘法不滿足交換律。?
2.2、點運算示例
??????????在 MATLAB?中,有一種特殊的運算,就是在 基本算術運算符前面加點,所以叫?點運算。 為什么要有點運算呢??正是因為有了點運算,所以我們就能夠做大型的數據處理。假設我們有一萬維的數據,對所有的數據進行 3?次方,如果沒有點運算,做起來就會相當的困難。
????????MATLAB?本身是為了做矩陣運算而創立的軟件,但是,為了數學上很多計算的方便,自己就創造了一個點運算,使得 MATLAB?運用的領域大幅度的被擴展了。MATLAB?中的 4?種點運算符如下:
點? ? 乘:? . *
點左除:? ./? ? ?
點右除:? .\
點? ? 冪:? .^
兩矩陣進行點運算是指它們的對應元素進行相關運算。?
要求兩矩陣的維數相同。?
? ? ? ? 通過我上述的講解,很敏感的就會體會到矩陣的乘法運算( * )和?點乘?( .*)?運算的區別。矩陣乘法運算要求:前一個矩陣的列數和后一個矩陣的行數要一樣。點乘是指:兩個矩陣的對應元素相乘。
- . ^ (點冪?)? ? ? ? 如:A . ^ 1.2? ? ? ? %? A?中每個元素的 1.2?次
- A . ^ B? ? ? ? ? ? %? A?中每個元素作為底數,B?中對應元素作為次數,進行冪運算
- 3 . ^ B? ? ? ? ? ? %? 以 3?為底、B?中元素為次數
例? A = [ 1, 2, 3; 3, 7,?9 ]? ? ? ? B = [ 10, 9, -3; 3, 17, 6]
①? A. * 2?輸出結果為
?②? A . * B?輸出結果為
③? A .\ B?輸出結果為:
?④? 2?. ^ B?輸出結果為
⑤? 在 0 <= x <= 2π? 區間內,繪制曲線??
x = 0 : pi/100 : 2*pi; y = 2*exp(-0.5*x).* cos(4*pi*x); plot(x,y)代碼解釋:
①? 第一行代碼是 x?的取值范圍。pi /?100?是步長,就是說 x?從 0?開始,每隔??pi /?100?取一個點,到 2*pi?結束。這將形成一組數,這組數被稱為向量,也就是 x 的取值范圍。
②? 第二行代碼是函數公式。其中最重要的一點是,指數函數和三角函數之間是點乘(. *)運算,而不是乘法( * )運算。為什么呢 ?因為 x?是一組向量,指數函數和三角函數中都有變量 x ,所以其指數函數和三角函數都是兩組向量,在 Matlab?中向量和向量相乘只能用點乘,如果用乘法運算,這將無法計算。
③? 第三行代碼是二維畫圖函數,x?是橫坐標,y?是縱坐標。
3、總結
? ? ? ? 今天分享總結了 MATALAB?點運算,其包括點乘 ( .*)、左點除 ( .\ )、右點除 ( ./ ) 和點冪? ? ?( .*) 這四種點運算。
????????最后談談我悟道后的心境吧,算是首尾呼應了。悟道后的心境大概是:貌和身自別,心與相俱空;一塵全不染,甲子任翻騰。相,指的是外在的美丑善惡之相;即沒有對外在的美丑善惡的執著,沒有世俗人的習性與追求,任由時間流逝,滄海變桑田,我也只做一個旁觀者,不參與其中。別人寵我笑我辱我,我都會一笑而過。有一種飄飄乎如遺世獨立,羽化而登仙的感覺。
????????萬物負陰而抱陽,沖氣以為和;臨兵斗者,皆陣列前行。本期的分享總結就到這里了,如果有疑問的小伙伴,我們在評論交流嗷~~~,筆者必回,我們下期再見啦 !
總結
以上是生活随笔為你收集整理的【MATLAB】点运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python语言的优势-Python语言
- 下一篇: 能源大数据建设面临的问题与解决方案