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

開源軟件Scilab在自控原理教學中的仿真應用

2015-05-30 18:55:22董南萍廖文江周冠玲
大學教育 2015年4期

董南萍 廖文江 周冠玲

[摘 要]《自動控制原理》課程是自動化相關專業本科教育中一門重要專業課,課程涉及較多公式和數學知識、比較抽象,因此學習過程中都會感到難于理解和掌握相關理論。用戶基于Scilab開發自己所需的Toolkit,并將此功能成功應用到《自動控制原理》課程的教學過程中,可以增強課程教學內容的趣味性,激發學生的學習興趣和實踐能力,提高課程教學質量。

[關鍵詞]Scilab 自由開源軟件 Toolkit 教學仿真

[中圖分類號] TP31;G642 [文獻標識碼] A [文章編號] 2095-3437(2015)04-0119-02

一、引言

《自動控制原理》課程是自動化相關本科專業中一門非常重要的專業課程,課程中涉及的公式和數學知識比較多、比較抽象,因此多數同學在學習過程中都會感到理解和掌握課程的相關理論很難。有些教師嘗試在課程中引入Matlab軟件,但是Matlab是商業工程計算軟件,本身要收費且安裝費時,影響正常課堂教學,而Scilab是一款自由開源的工程計算軟件,軟件功能基本和Matlab軟件差不多,軟件本身開源,學生可以在課余閱讀這款軟件是如何編寫出來的,同時該軟件有用戶接口,用戶可以自己獨立編寫自己需要的Toolkit,開發新應用很方便,值得推廣和使用。

二、基于Scilab的編程

在許多領域特別是控制系統建模與仿真時,有許多計算程序是用其他語言編寫,一般是用C語言或者Fortran語言編寫,Scilab不可能提供這些特定的程序,需要用戶基于Scilab自己編寫這些程序,并在Scilab里得以應用從而擴展了Scilab的功能,這也就是Scilab做成開源軟件的要旨所在。用戶可以根據自己的需要在Scialb下依據自己的需求開發出自己所需的相應功能,而這些開發出來的功能通常是以庫的形式存在的,一般都是用C語言編寫完成,Scilab把這些代碼集合稱之為ToolKit箱。

可以基于此項特點結合自動控制原理課程實際所需編寫一些典型控制系統案例做成庫安裝在Scilab系統里供Scilab和SciCos調用,具體開發ToolKit Box流程如下所述:

(一)編寫基于C語言的專用庫

這一步比較簡單,調用Scilab自帶的編輯器SciNote軟件,在其中編寫所需調用典型控制系統方程函數。圖1的C代碼范例即為用編輯器SciNote軟件所編寫的函數示例。

#include

#include“stack-c.h”

extern int C2F(dlaswp)(int*n,double*A,int*lda,int*k1,int*k2,int*ipiv,int*step);

int dlaswp1(double*A,int*m,int*n,int*mipiv,int*ipiv)

{const int un =1;C2F(dlaswp)(n,A,m,&un,mipiv,ipiv,&un);}

(二)在Scilab里編譯、連接代碼

Scilab提供兩種方式可以將其他語言編寫的功能代碼程序連接到Scilab里供Scilab自帶的函數或者模塊調用執行。

1.把新編寫的程序作為Scilab外部程序被Scilab內部函數調用執行,上邊的示例代碼即是這類編譯連接方式。

2.把新編寫的程序代碼作為Scilab新增加的內置函數,像Scilab內部函數一樣可以任意被執行,但這種方式方法有個問題就是C語言的返回值通常是整形或者是指針類型,而Scilab軟件的返回類型多數為矩陣,所以用這種方式編寫工具箱模塊時要注意數據轉換問題。

(三)生成動態庫

生成動態庫寫代碼是第一步,編譯連接代碼是第二步,要想在Scilab里使用這些庫(工具箱)還需要進行第三步就是加載共享庫。如果選用的系統平臺是Windows那么共享庫可以以.dll結尾,如果選用類Unix系統平臺那么共享庫的名字后綴常采用.so結尾。在Linux下通常采用Gcc工具將上邊編譯好的代碼生成動態共享庫,示例如下圖2所示。

(四)加載動態共享庫

在生成動態共享庫以后還需將庫加載到Scilab里,供正在運行的Scilab/SciCos調用。Scilab支持TCL語言,可以編寫腳本文件將庫調入到Scilab里,運行這個腳本文件即可創建一個工具箱(庫),腳本文件示例代碼如下圖3所示。

ilib_name =liblapack;

files=[lapack.o];

libs=[];

t=[dgetrf,int_dgetrf;dlaswp,dlaswp];

ilib_build(ilib_name,t,files,libs)

三、SciCos創建交互式界面

用SciCos創建交互式界面,可以依據設計需要在窗口體上直接調用窗口控件例如滾動條、按鈕、菜單欄、文本框等來設計交互界面,Scilab用戶只需在對話框里鍵入工具箱里的函數名字即可使用工具箱的功能,如下圖4所示。

四、在自控原理教學中應用Scilab

《自動控制原理》課程是自動化相關專業教師和學生公認的專業知識最核心、同時又是最難教與學的課程,教學難度大主要因為該課程有三多一少的特點:一多是涉及的理論知識內容多,二多是涉及的數學公式推導多,三多是抽象的概念和模型多;一少是理論與實際應用的直接聯系少。為此,在自控原理教學中采用現代化教學方法,應用Scilab改進教學內容、教學方式和教學手段,讓學生在Scilab下對控制系統建模、仿真,使學生逐步了解一個控制系統是如何組成的,系統各個環節的模型是怎樣建立的,系統各個環節又是如何運作的,加強學生對整個控制系統模型概念的理解。

在Scilab下的CACSD工具箱中有許多自動控制相關專用函數,如線性系統定義函數syslin0、線性系統時域響應函數csim()、離散系統分析等命令函數等等。教師和學生共同參與進行二次開發,作出適合于自動控制原理課程展示、控制系統分析的可視化數值實驗箱。開發過程中根據已有的經典控制理論和教材的內容,應用Scilab及其CACSD和SciCos工具箱實現連續線性控制系統分析(包括穩定性分析、時域分析、根軌跡分析、頻域分析等),典型環節動態特性仿真,PID控制仿真編程等。用TCL語言開發GUI界面,通過按鈕、滾動條、輸入文本框的GUI界面元素實現對自動控制系統的各項參數的輸入、調整、結果實時顯示等功能。工具箱的PID仿真結果如圖5所示。

五、結束語

在《自動控制原理》課程教學中通過Scilab進行仿真和分析,解決了該課程三多一少的難題,增強了課程教學內容的趣味性和可理解性,激發了學生的學習興趣和實踐能力,極大提高了課程教學效果。

[ 參 考 文 獻 ]

[1] 胡壽松.自動控制原理(第5版)[M].北京:科學出版社,2007.

[2] 秦世飛.Scilab / Scicos在建模與仿真中的應用[M].北京:北京郵電大學出版社,2007.

[責任編輯:張 雷]

主站蜘蛛池模板: 久久中文电影| 久久亚洲美女精品国产精品| 国产综合精品日本亚洲777| 青青草91视频| 九色视频线上播放| 亚洲人成人伊人成综合网无码| 欧美日韩精品一区二区在线线| 欧美h在线观看| 国产麻豆aⅴ精品无码| 国产浮力第一页永久地址| 孕妇高潮太爽了在线观看免费| 国产毛片基地| 中日韩欧亚无码视频| 成人福利在线视频免费观看| 一级毛片中文字幕| 国产精品极品美女自在线| 成AV人片一区二区三区久久| 波多野结衣一二三| 欧美伊人色综合久久天天| 国产高清在线精品一区二区三区 | 在线观看视频99| 狠狠色综合网| 小说区 亚洲 自拍 另类| 女人18一级毛片免费观看| 亚洲丝袜第一页| 毛片一区二区在线看| 幺女国产一级毛片| 久久婷婷六月| 亚洲国产天堂久久综合| 国产综合网站| 国产99在线| 97超爽成人免费视频在线播放| 国产永久无码观看在线| 欧美啪啪网| 伊人五月丁香综合AⅤ| 在线无码av一区二区三区| 在线网站18禁| 亚洲第一黄片大全| 伊人久久大香线蕉影院| 国产手机在线观看| 91精品专区国产盗摄| 激情六月丁香婷婷| 热久久这里是精品6免费观看| 欧美黄色a| 成年片色大黄全免费网站久久| 日韩无码真实干出血视频| 亚洲va精品中文字幕| 黄色一级视频欧美| 久久精品国产亚洲麻豆| 亚洲成人高清无码| 一区二区在线视频免费观看| 狠狠v日韩v欧美v| 伊人无码视屏| 激情综合婷婷丁香五月尤物| 成人福利在线观看| 亚洲色精品国产一区二区三区| 国产微拍精品| 国产成人你懂的在线观看| 欧美亚洲国产视频| 欧美一区二区丝袜高跟鞋| 成人福利在线看| 亚洲无线国产观看| 91香蕉视频下载网站| 国产成人午夜福利免费无码r| 2019年国产精品自拍不卡| 亚洲综合经典在线一区二区| 狠狠亚洲五月天| 欧美.成人.综合在线| 国产精品妖精视频| 大乳丰满人妻中文字幕日本| 老司机久久99久久精品播放| 日韩专区欧美| 国产99欧美精品久久精品久久| 久久中文字幕不卡一二区| 久久不卡国产精品无码| 国产精品v欧美| 亚洲中文无码av永久伊人| 色妺妺在线视频喷水| 色噜噜中文网| 亚洲国产天堂久久综合226114| 亚洲a级在线观看| 欧美成人综合在线|