999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MATLAB 在C 語言教學中的應用研究

2020-11-02 07:49:52彭石
現代計算機 2020年26期
關鍵詞:語言教學

彭石

(中山大學南方學院電氣與計算工程學院,廣州510900)

0 引言

多媒體技術的發展使教學活動發生了顯著的變化,許多先進的教學設備和教學軟件系統紛紛走進了今天的課堂[1],教師的地位在發生著悄悄的變化,為了提高教學效率,針對不同的課程選擇合適的教學手段成為了教師要思考的問題。增強學生學習的積極性,活躍課堂的氣氛,將教學內容變抽象為具體、變難懂為易懂,可以取得簡明高效的教學效果。本文針對C 語言教學之中存在的具體問題,作了深入分析,提出了使用MATLAB 來輔助教學活動的方案[2],實踐表明,該方案可以解決上述問題。

1 C語言和MATLAB的特點

C 語言和其它計算機語言相比,具有很多自己的特點。例如它有豐富的數據類型,有自己獨特的運算符,如++,--,有功能強大又很神秘的指針和編譯器;它還有許多和程式邏輯息息相關的操作是編譯器定義加上去的,使慣于循序思考的學生容易不知所措,總之C語言具有自己獨特的特性,對于沒有相關背景的初學者,難度很大[3]。

強大的繪圖功能是MATLAB 的特點之一,這是C語言不具備的。它提供了一系列的繪圖函數,即使是初學的用戶,只需要掌握一些基本參數就能得到所需圖形[4]。此外,MATLAB 可以采用不同的坐標系,如直角坐標、對數坐標、極坐標等,它包含了許多制作動畫和視頻常用的函數,用戶可以很方便的使用這些函數實現自己的目的而不必去思考具體的實現細節。

針對C 語言教學之中的種種問題,接下來本文將會結合具體案例進行仔細分析。

2 使用MATLAB解決C語言教學問題的案例

2.1 循環語句之for循環用法

循環結構可以將重復書寫的代碼的變得簡單,用來描述重復執行某段過程的問題,這是程序設計中可以充分發揮計算機特長的程序結構,C 語言中主要包含四種循環,即goto 循環、while 循環、do while 循環和for 循環。

在MATLAB 中,最基本而且應用最為常見的繪圖函數為plot,利用它可以在二維平面上繪制出各種曲線。為了說明for 循環的作用,本例子用MATLAB 繪制了5 個不同顏色的同心圓,圖1 演示了使用for 循環繪制5 個同心圓的過程。

圖1 使用for循環繪制的同心圓

其中,x 和y 是單個圓進行40 次采樣的位置坐標數組,C 是設置顏色的數組,從圖形可以看出,使用MATLAB 可以方便的繪制出不同色彩的圖形方便學生理解,彌補了C 語言的不足。

2.2 函數遞歸之漢諾塔問題

函數遞歸是一種強大又復雜的編程技巧,它將大的問題分解為一組相似的小問題,每個小問題都有一個簡單解。遞歸函數是會直接調用自身的一種函數,一般來說,遞歸函數反復調用自身直到問題最終解決。

“漢諾塔”是程序設計中一個經典的遞歸問題,是一個著名的益智游戲,描述如下:塔上有A、B、C 三根柱子和直徑依次遞減的空心圓盤,開始時A 柱子上的所有圓盤都按從大到小的順序排列,通過每次移動一個圓盤到另一根柱子上,最終把所有圓盤移動到C 柱子上,過程中大的圓盤不能放在小圓盤上[5]。使用C 語言可以求出漢諾塔移動的過程,可是由于缺少繪圖API,無法將整個運行流程動態的展現出來,因此本文采用了MATLAB 語言來編程實現這個問題。

首先是MATLAB 寫的漢諾塔遞歸函數hanoi.m 文件,在這個函數里面引用了繪圖函數arr.m。

其次是繪圖函數文件arr.m,這個函數分別繪制了三個柱子上的圓盤放置情況,以及動態的變化過程,其中a,b,c 是三個存放盤子信息的數組,pause(2)是程序休眠;clf 代表清屏。

最后是程序啟動的運行代碼。

圖2 使用MATLAB制作的漢諾塔演示動畫

圖形動畫演示如圖2 所示,左邊是程序開始的截圖,右邊是程序運行結束的圖形,從圖形里可以看出,整個漢諾塔包含三根柱子,從左邊挪到右邊大概需要3分鐘,層數越多,程序運行需要的遞歸次數越多,因而時間也越久。動畫完整地展示了漢諾塔的運行流程,可以說MATLAB 讓復雜的數學問題變得清晰易懂。

2.3 具體應用之動態規劃問題

動態規劃是求解決策過程最優化的數學方法,日常生活之中經常會碰到需要求解結果最優的問題,由于這類問題涉及到的技巧性,使用C 語言研究多階段決策過程的優化問題,在各類編程競賽和數學建模之中屢見不鮮[6]。最優化原理把多階過程轉化為一組簡單的單階段問題,利用各階段之間的關系,逐個求解,這就是動態規劃。

本文舉一個經典的動態規劃例子,下面有一組數字三角形,要求計算一條從頂部到底部的路徑,使得路徑上所經過的數字和最大,路徑的每個點都只能往相鄰的左下或右下走,求出這個最大路徑的和即可,不需要具體的路徑;三角形的行數介于1-100,各個點數字為0-99。

圖3

這里簡化程序的輸入輸出過程,直接使用給出的數據,構造一個模型可以適用于任意輸入數據組合,算法的思想是先求解最下一行的最大路徑值,接著逐行往上求解,使用MATLAB 編程如下所示:

圖4 動態規劃輸入輸出對比演示

用MATLAB 得到的結果如圖4 所示,使用MAT?LAB 繪制矩陣圖形,左邊是輸入的數據,右邊是求得的結果數組;計算得到最終結果g 值為30,各階的結果矩陣A2。左右對比可以很容易看出動態規劃的求解過程以及遞歸過程,因此使用MATLAB 可以將復雜的數學問題變得清晰易懂,它可以在C 語言的教學過程之中起到十分重要的輔助作用。

3 結語

C 語言是一門抽象的程序設計語言,它作為開發語言被應用在不同的領域;它結構的復雜性和學習的獨特性質,注定了初學者會遇到這樣那樣的問題,即使是具有一定編程經驗的程序員,在遇到復雜的數學問題時候,往往也會一籌莫展。因此選擇一種具有完整的圖形界用戶面和方便的編程接口的語言作為輔助教學開發工具,具有十分重要的作用,可以大大簡化理解的難度和開發的復雜度,方便教學的順利開展,為了解決這個問題,本文研究了使用MATLAB 語言來解決C語言教學之中遇到的一些問題,并且對具體的案例提出了解決方案,分析表明MATLAB 在C 語言的學習開發過程之中,具有十分重要的輔助作用,是課堂教學的重要工具。

猜你喜歡
語言教學
微課讓高中數學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
如何讓高中生物教學變得生動有趣
甘肅教育(2020年12期)2020-04-13 06:25:34
讓語言描寫搖曳多姿
“自我診斷表”在高中數學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
多向度交往對語言磨蝕的補正之道
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
累積動態分析下的同聲傳譯語言壓縮
我有我語言
論語言的“得體”
語文知識(2014年10期)2014-02-28 22:00:56
主站蜘蛛池模板: 国产精品亚洲日韩AⅤ在线观看| 在线色国产| 日韩一二三区视频精品| 国产精品久久久久久影院| 国产成人综合网| 亚洲福利网址| 996免费视频国产在线播放| 国产AV无码专区亚洲A∨毛片| 中文字幕中文字字幕码一二区| 色综合天天综合中文网| 久久久久免费看成人影片| 人妻无码一区二区视频| 亚洲人成在线免费观看| 综合久久五月天| 日韩二区三区无| 在线欧美一区| 国产精品熟女亚洲AV麻豆| 色哟哟精品无码网站在线播放视频| 久久特级毛片| 亚洲首页国产精品丝袜| 91香蕉视频下载网站| 欧美天堂久久| 人妻中文字幕无码久久一区| 最新精品久久精品| 日韩A∨精品日韩精品无码| 丁香六月激情综合| 性69交片免费看| 九九线精品视频在线观看| 色妞永久免费视频| 99久久人妻精品免费二区| 99热这里只有精品在线观看| 亚洲91在线精品| 国产综合精品日本亚洲777| 成人午夜福利视频| 全午夜免费一级毛片| 97亚洲色综久久精品| 在线看片中文字幕| 精品国产电影久久九九| 激情视频综合网| 国产在线观看一区精品| 五月婷婷综合网| 99久久精品免费观看国产| 国产av无码日韩av无码网站| 67194亚洲无码| 日韩在线视频网| 在线免费亚洲无码视频| 国产福利在线免费| 一本一道波多野结衣av黑人在线| 黄色网页在线观看| 青青草原偷拍视频| 国产精品专区第1页| 亚洲欧美一区二区三区蜜芽| 国产精品专区第1页| 国产美女在线观看| 国产乱人伦AV在线A| 国产精品毛片一区| 无码粉嫩虎白一线天在线观看| 日韩成人免费网站| 无码AV动漫| 日本www色视频| 亚洲丝袜第一页| 亚洲欧美日韩中文字幕一区二区三区| 亚洲国产日韩在线成人蜜芽| 亚洲中文字幕在线一区播放| 久久精品无码中文字幕| 久久久波多野结衣av一区二区| 在线观看精品自拍视频| 日韩在线视频网站| 国产精品成人免费综合| 欧美色综合久久| 2021国产v亚洲v天堂无码| 全部免费毛片免费播放 | 久久婷婷五月综合97色| 97色伦色在线综合视频| 精品国产香蕉在线播出| 亚洲综合久久成人AV| 久久国产精品国产自线拍| 成年女人a毛片免费视频| 色成人亚洲| 在线毛片网站| 午夜激情福利视频| 亚洲精品视频网|