MATLAB課程之第五章 走入算法(1)

2021-03-02 通信工程師專輯

大一的學生在學matlab的時候,一般都接觸了C語言,我在課堂上就將這兩種語言進行了比較。怎麼比較?通過編程來舉例說明。

首先想再次說明matlab軟體的強大、語言的簡單等特點,其次想說明如何一步一步的接近算法——這個貌似神秘的概念。

使用了什麼例子呢?

排序案例!

如何排序?

首先要生成一個隨機序列。

於是和同學們一起回顧了randi函數,

在課堂上已經很多次回顧randint函數了。

但依舊那麼多同學不知道!

在回顧的同時,我還說出matlab軟體版本的不同帶來的函數的變化。這也是我為什麼會在m文件中要寫出軟體版本的原因。

讓我們來一起看著程序進行講解吧。

第一次接觸算法,我一定要用最簡單的方法來表達算法的意義。

因此,程序也是用最簡單的方法來寫。因為第一重點是要保證學生們能看懂,這樣才能有繼續學習的興趣。

如何產生一個1行10列的數據?

randi(10,1,10)?能成功嗎?為什麼這個函數還有三個參數呢?每個函數都有自己的定義,在使用的時候需要按照定義來編寫,因此在使用函數前需要在matlab的help中查找它的用法。

上述內容很關鍵!

生成了序列後,

怎麼排序呢?

看程序吧!

就這麼幾句話?

就搞定了?

更加神奇的是居然用sort函數就搞定了排序?

同學們看到了吧?

matlab是不是真的很好用啊!


修訂記錄

20180325 完成初稿;

20180510 修訂內容;

相關焦點

  • MATLAB課程之第三章 MATLAB程序設計(1)
    第二章講解了matlab中關於畫圖函數的使用方法。現在很多領域都要進行數據統計和分析,結果怎麼表示呢?自然用圖形表示。
  • 數學建模必備:Matlab常用15大算法+繪圖工具
    本次課程包含內容豐富,各種繪圖工具介紹(數模獲獎論文圖是非常重要的內容,如果沒有數學圖基本無緣獲獎),各種普通算法實現(數據處理、圖像處理、擬合、插值、概率統計),各種智能算法實現(蟻群算法、SVM、神經網絡、遺傳算法、模擬退火、蒙特卡羅)。還有更多更多豐富的工具。「Matlab從入門到算法實踐」系列已經進行了五期。
  • 大學本科課程 PYTHON與數據分析(13)第三章 帶你入門
    ##### 條件語句# 二分支:返回一個數的絕對值x = -8if x >= 0:    print(x)else:    print(-1*x)# 多分支:返回成績對應的等級score = 99if score < 60:    print
  • [優化] 《MATLAB高效編程技巧與應用:25個案例分析》源程序+數據
    本書可作為高等院校本科生、研究生matlab課程的輔助讀物,也可作為從事科學計算和算法研究的科研人員的參考用書。第1章 matlab快速入門   1.1 熟悉matlab環境    1.1.1 matlab的啟動    1.1.2 matlab desktop   1.1.3 matlab 程序編輯器(editor)   1.2 matlab牛刀小試    1.2.1 hello,matlab   1.2.2 萬能計算器用法
  • 人生苦短,不如學學MATLAB
    推薦靠譜的Matlab課程:《Matlab從入門到算法實踐第五期》課程推出保障服務:報名後三節課之內(公開課、第一節、第二節)可以無條件退款,而且報名即送海量Matlab資料和最新的Matlab2018a安裝包!經過了前四期課程的打磨,課程質量和服務進一步提高,如果你想系統的學習Matlab請一起加入吧,有了課程保障服務再也不用擔心學不會啦!
  • Matlab擬合詳解
    自己看教程無趣,找不到學習方法,沒有大牛答疑解惑,沒有同伴一起學習…現在,校苑數模旗下在線教育平臺——極值學院,聯合《MATLAB從入門到精通》作者、上市公司高級工程師 董辰輝老師 推出了《MATLAB從入門到算法實踐暑假快班》課程,講師實時互動答疑,保證學習者系統全面的掌握MATLAB。
  • 算法工匠MATLAB專訓營:Matlab繪圖,小試牛刀
    在本次課中我就給出了一個實用的算法程序,程序名是dqpsk_IF_wholeframe_Release.m。那麼這個程序和網上的順序有什麼差別呢?可以明確的說網上的程序大多就是一個理論仿真,根本不考慮實際環境的因素。那這樣的程序是培養不了大家的算法思維的。
  • 蟻群算法即相關代碼實現詳解—matlab之智能算法
    蟻群算法即相關代碼實現詳解 一.算法背景 蟻群算法是近年來剛剛誕生的隨機優化方法,它是一種源於大自然的新的仿生類算法.由義大利學者Dorigo最早提出,螞蟻算法主要是通過螞蟻群體之間的信息傳遞而達到尋優的目的,最初又稱蟻群優化方法(Ant Colony
  • 想通過視頻自學MATLAB的同學戳這裡!
    【2011.2月份新增視頻】【視頻】MATLAB動態神經網絡做時間序列預測教學視頻【2010.8月份新增視頻】【視頻】Matlab圖像函數之nchoosek【2010.8】【視頻】Matlab圖像函數之path【2010.8】【視頻】Matlab圖像函數之pie【2010.8】【視頻】Matlab圖像函數之real【2010.8
  • 排序算法之插入排序
    排序算法在編程領域中起著舉足輕重的作用,在目標檢索、機器學習、數值計算、圖像處理等領域有著廣泛地應用。為了追本溯源,公眾號特推出常用經典排序算法系列推文,讓小夥伴們深入了解排序算法的實現原理,同時也提升matlab編程能力。
  • 基於matlab的RBFNN的kmeans算法研究
    最後用層次聚類算法改進的kmeans算法在matlab中預設徑向基函數神經網絡,該網絡徑向基函數的數目、徑基函數的中心和寬度以及隱含層和輸出層之間的連接權值有算法的聚類結果確定,此方法徑向基函數神經 網絡的穩定性和高效性。
  • 查看matlab中函數原始碼的方法
    為了提升 「2015CUMCM 參賽隊伍」運用matlab軟體實現數學建模算法的能力,沉著應對數學建模競賽的【模型軟體求解】問題,最終在國賽中獲得榮譽,數學中國精心準備了一套能夠滿足參賽者需求的精品課程「數學建模算法之matlab實現專題」,讓大家深入數模算法方法內容、matlab軟體實現與應用,從而能夠在日後的生活和工作中獲得應用。
  • SV與UVM接口應用篇之七:將Matlab算法模型嵌入UVM環境
    https://ww2.mathworks.cn/help/https://ww2.mathworks.cn/help/matlab/calling-matlab-engine-from-c-programs-1.html只是在實際中,我們發現,對於Matlab算法模型的驗證對於Matlab工具的依賴性並沒有那麼多。
  • 教程 | matlab實現kmeans聚類算法
    kmeans聚類算法是一種簡單實用的聚類算法,matlab自帶函數kmeans可直接對數據進行kmeans聚類。
  • 學習matlab必去的10大網站
    web1: mathworks.com/help/index.html如果學習matlab連File Exchange都沒用過,那說明你得補課了。File Exchange是MathWorks公司推出matlab程序共享平臺。
  • Matlab基礎知識概述
    2002 年初夏所推6.5 版的最大特點是:該版本採用了JIT 加速器,從而使MATLAB 朝運算速度與C 程序相比肩的方向前進了一大步。從2006開始,MathWorks 公司宣布每年更新兩次版本,在已經有了matlab2006a, matlab2006b, matlab2007a, matlab2007b~matlab2012a等等。
  • 提高matlab代碼運行速度的一點心得(之三)
    所以,對於C來說,程序的好壞一般由算法來決定。但是,在matlab中,同樣的算法、同樣的結構、同樣的流程,如果採用的語句不一樣,在效率上就會大大不同。所以,我認為,使用matlab比使用其他語言更加困難,也顯得matlab更難以掌握。
  • 自然數1(1)matlab
    計算機語言運用--數值計算1-自然數的計算機處理1(1)matlab計算機:電子線路組成的計算機器。
  • Matlab算法系列-遺傳算法
    遺傳算法已經發展得很成熟,廣泛應用於優化問題的求解。①遺傳算法只對個體的基因進行操作,所以無論實際問題多麼複雜,其穩定性都不會受到太大的影響。②遺傳算法的搜索過程屬於並行計算,能夠很好地搜索解空間。③穩定性、魯棒性強,適用於非線性、高維複雜優化問題。      其流程如下: