freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-基于遺傳算法的pid控制器參數(shù)優(yōu)化-資料下載頁

2024-12-03 19:04本頁面

【導(dǎo)讀】PID控制器現(xiàn)已在工程實際中得到了廣泛的應(yīng)用。穩(wěn)態(tài)工況有很大的聯(lián)系,是控制系統(tǒng)設(shè)計的核心內(nèi)容。因此,在目前PID控制器參。數(shù)優(yōu)化的研究具有十分重大的工程實踐意義。本設(shè)計運用遺傳算法通過對PID控制器參數(shù)的編碼、適應(yīng)度估計、選擇、交。叉和變異使其在全局范圍內(nèi)進行篩選達到優(yōu)化參數(shù)的目的。傳算法則通過內(nèi)部編程來實現(xiàn)的。優(yōu)化,并且在畫圖界面中繪制出了響應(yīng)的輸出曲線。本課題的設(shè)計完成了基于遺傳。算法的PID控制器參數(shù)尋優(yōu)、函數(shù)圖像輸出、以及函數(shù)圖像打印等功能。制器參數(shù)優(yōu)化軟件具有較好的尋優(yōu)效果。工業(yè)控制器參數(shù)優(yōu)化方法概述-----------------------------------------------------2-. 基于遺傳算法的PID參數(shù)優(yōu)化----------------------------------------------------3-. 遺傳算法的基本知識-----------------------------------------------------------------6-. 遺傳算法的適應(yīng)性------------------------------------------------------------8-. 遺傳算法的工作流程--------------------------------------------------------11-. 遺傳算法的基本步驟-------------------------------------------------------12-. PID控制的原理和特點------------------------------------------------------20

  

【正文】 秀的類庫,它使得 Delphi在軟件開發(fā)行業(yè)處于一個絕對領(lǐng)先的地位。用戶可以按自己的需要,任意的構(gòu)建、擴充、甚至是刪減 VCL,以滿足不同的需要。 (8) 從 Delphi8開始 Delphi也支持 .Net框架下程序開發(fā)。 當(dāng)前 Delphi 已經(jīng)成為一個品牌, 而不僅僅是一個開發(fā)平臺或開發(fā)語言的名稱。 當(dāng)前 Delphi產(chǎn)品已經(jīng)由 CodeGear公司繼續(xù)發(fā)展,該公司是 Borland公司的全資子公司。當(dāng)前, CodeGear為廣大開發(fā)者提供了 Delphi For PHP,以高度可視化的方式全面支持面向?qū)ο蟮?PHP網(wǎng)站開發(fā),大大提高了 PHP開發(fā)網(wǎng)站的代碼復(fù)用程度,成為WEB應(yīng)用開發(fā)的新利器 [5]。 (IDE) IDE(Integrate Development Environment)即集成開發(fā)環(huán)境,是指通過單一的控制面板訪問所 有的開發(fā)工具:編輯器、調(diào)試器、對象管理器、編譯器、實時分析器、圖形信號分析器等。如圖 41 是 Delphi 的集成開發(fā)環(huán)境。 圖 41 Delphi7 的 IDE 23 當(dāng)前流行的開發(fā)工具,比如 Delphi、 Visual C++、 Visual Basic、 C++ Builder 和PowerBuilder 等都給程序員提供了集成式開發(fā)環(huán)境,極大地提高了程序員的開發(fā)效率,縮短了程序的開發(fā)時間。在本節(jié)中介紹了 Delphi 7 中的 IDE。 從圖 41 可以看到 Delphi 7 的 IDE 主要包括 7 個部分:主窗口、組件面板、工具欄、 窗體設(shè)計器、代碼編輯器、對象觀察器 (Object Inspector)和代碼瀏覽器。使用IDE,軟件開發(fā)人員可以很方便地完成創(chuàng)建、調(diào)試、修改應(yīng)用程序等各種操作。 下面分別對它們進行詳細的介紹。 (1) 主窗口 主窗口 (如圖 42 所示 )可以認為是 Delphi IDE 的控制核心。它具有其他 Windows應(yīng)用程序的主窗口所具有的一切功能。主窗口主要包括 4 部分:菜單欄、工具欄、標題欄和組件面板。 工具欄 菜單欄 組件面板 標題欄 圖 42 Delphi 7 的主窗口 ① 菜單欄 與其他 Windows 應(yīng)用程序一樣,可以通過菜單欄創(chuàng)建、打開或保存文件、調(diào)用向?qū)?、查看其他窗口、修改選項等。主菜單的每一項都可以通過工具欄上的一個按鈕來實現(xiàn)。 ② 工具欄 工具欄 (如圖 43 所示 )上的每個按鈕都實現(xiàn)了 IDE 的某項功能,諸如打開文件或創(chuàng)建項目等。注意工具欄上的按鈕都提供了描述該按鈕功能的 Tooltip。除了組件面板, IDE 有 6 個獨立的工具欄: Debug、 Desktops、 Standard、 View、 Inter 和Custom。圖 43 顯示了這些工具欄上默認的按鈕配置。在一個工具欄上右擊,再在彈出的菜單中選擇 Customize(定制 )命令,就可以增加或去掉一些按鈕。 IDE 工具欄的定制功能并不僅限于配置需要顯示的按鈕,還可以調(diào)整工具欄、組件面板和菜單欄在主窗口中的位置。要做到這一點,只需拖動工具欄右部凸起的灰色條即可。當(dāng)拖動時,如果鼠標落在了全窗口區(qū)域的外部,就會看到另一種定制形式:工具欄可以在主窗口內(nèi)浮動,也可以停靠在它們自己的工具窗口內(nèi)。 24 新建項目 打開文件 保存文件 全部保存 打開項目 添加項目 刪除項目 幫助 運行 暫停 跟蹤運行 單步運行 查看單元 查看窗體 切換 新建窗體 圖 43 Delphi 7 的工具欄 ③ 組件面板 組件面板 (如圖 44 所示 )是一個雙層工具欄,它包含了 IDE 中安 裝的所有的 VCL組件和 Active 組件。各選項頁和組件在面板中的順序和外觀可以通過右擊它或從主菜單中選擇 Component→Configure Palette 命令進行調(diào)整。 對象選擇按鈕 選擇卡標簽 控件 導(dǎo)航按鈕 圖 44 Delphi 7 的組件面 (2) 窗體設(shè)計器 在創(chuàng)建新的項目時,窗體設(shè)計器是一個空白的窗口??梢园汛绑w設(shè)計器看作是藝術(shù)家的畫布,在這塊畫布上可以描繪出各種各樣的 Windows 應(yīng)用程序。應(yīng)用程序的用戶界面正是由窗體實現(xiàn)的。只要從組件面板上選擇一個組件并把它放到你的窗體上, 就能夠?qū)崿F(xiàn)與窗體設(shè)計器的交互??梢杂檬髽苏{(diào)整組件在窗體設(shè)計器上的位置和大小,還可以用對象觀察器和代碼編輯器來控制組件的外觀和行為。 (3) 對象觀察器 利用對象觀察器,可以修改窗體或組件的屬性,或者使它們能夠響應(yīng)不同的事件。屬性 (Property)是一些數(shù)據(jù),如高度、顏色、字體等,它們決定了組件在屏幕上的外觀。事件 (Event)則是一種消息處理機制,它能夠捕捉某種情況的發(fā)生并做出反應(yīng),像鼠標單擊和窗口打開就是兩種典型的事件。對象觀察器類似于一個帶標簽的多頁筆記本,包括 Properties 選項卡和 Events 選項卡,切換時只需在窗口上部單擊所需選項卡的標簽即可。至于對象觀察器中顯示哪個組件的屬性和事件,取決于在窗體設(shè)計器中當(dāng)前選擇的是哪個組件。 25 Delphi 7 還可以按對象的種類或名字的字母順序來排列對象觀察器的內(nèi)容。要做到這一點,只需在對象觀察器中右擊任何二處并從快捷菜單中選擇 Arrange 命令即可。圖 45中并列顯示了兩個對象觀察器,左邊一個按種類排序,右邊一個按名字排序。還可以從快捷菜單中選擇 View 來指定想看到的對象種類。 圖 45 按種類或名稱查看 Object Inspector Delphi程序員必須知道的、也最實用的一點是:幫助系統(tǒng)是和對象觀察器緊密結(jié)合在一起的,如果你想了解某個屬性或事件的幫助信息,只要在該屬性或事件上按下 F1 鍵,就可獲取相應(yīng)的幫助。 (4) 代碼編輯器 代碼編輯器是輸入代碼來指定應(yīng)用程序行為的地方,也是 Delphi 根據(jù)應(yīng)用程序中的組件自動生成代碼的地方。代碼編輯器類似于一個多頁的筆記本,每一頁對應(yīng)著一個源代碼模塊或文件。當(dāng)向應(yīng)用程序中加入一個窗體時, Delphi會自動創(chuàng)建一個新的單元,并添加到代 碼編輯器頂部的標簽中。當(dāng)進行編輯的時候,快捷菜單提供了很多的選項,如關(guān)閉文件、設(shè)置書簽等。 (5) 代碼瀏覽器 代碼瀏覽器以一種樹狀視圖的方式顯示了列在代碼編輯器中的單元文件。通過代碼瀏覽器,可以方便地在單元文件中漫游或在單元文件中加入新的元素或者把已有的文件改名。要記住代碼瀏覽器和代碼編輯器有一對一的關(guān)系。在代碼瀏 26 覽器中右擊一個節(jié)點即可以看到該節(jié)點的可用選項。也可以通過修改主菜單Tools→Environment Options 中的 Explorer選項卡來控制代碼瀏覽器的行為,如排序和過濾等。 (6) 源 代碼生成器 當(dāng)對窗體設(shè)計器中的可視化組件進行操作時, Delphi IDE 會自動生成 Object Pascal 源代碼。最簡單的例子就是,當(dāng)用 File→New→Application 菜單命令創(chuàng)建一個新的項目時,將看到屏幕上出現(xiàn)一個空白的窗體設(shè)計器,同時,代碼編輯器中會自動出現(xiàn)一些代碼,如下所示: unit Unit1。 interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs。 type TForm1 = class(TForm) Procedure FormCreate: (Sender。Tobjeet)。 private { Private declarations } public { Public declarations } end。 var Form1: TForm1。 implementation {$R *.dfm} end. 應(yīng)該注意到和任何窗體對應(yīng)的源代碼模塊都駐留在單元文件中。雖然每個窗體都對應(yīng) 著一個單元文件,但并不是每個單元文件都對應(yīng)著一個窗體。 在上述源代碼清單中,有如下幾行代碼: 27 type TForml = class(TForm) Procedure FormCreate(Sender:Tobject)。 private { Private declarations } public { Public declarations } end。 可以看出,窗體對象是從 TForm繼承下來的。 Delphi 已經(jīng)清楚地標出了可以插入公共 (Pubic)和私有 (Private)變量的地方。 下面這 一語句非常重要: {$R*.dfm} Pascal 語言中的 $R 指令用于加載一個外部資源文件。上面這一語句表示把*.Dfm(代表 Delphi 窗體 )文件鏈接到可執(zhí)行文件中。 *.dfm文件中包含了在窗體設(shè)計器中創(chuàng)建的表單的二進制代碼。其中的 “*”不代表通配符,而是表示與當(dāng)前單元文件同名的文件。例如假設(shè)上面一行是在一個名為 的文件中,則 *.dfm 就代表名為 。 應(yīng)用程序的項目文件也值得注意。項目文件的擴展名是 .Dpr(代表 Delphi Project),它只是一個帶有不同擴展名 的 Pascal 源文件。項目文件中有程序的主要部分,與其他版本的 Pascal不同,大多數(shù)的編程工作都是在單元文件中完成的,而不是在主模塊中。可以選擇主菜單下的 Project→View Source 命令把項目源文件調(diào)入代碼編輯器。下面是一個應(yīng)用程序示例的項目文件: program Project1。 uses Forms, Unit1 in 39。39。 {Form1}。 {$R *.res} begin 。 (TForm1, Form1)。 28 。 End。 End. 當(dāng)向應(yīng)用程序中添加表單和單元的時候,它們將出現(xiàn)在項目文件的 uses 子句中。 在這里 uses 子句中的單元文件名之后,相應(yīng)表單的名字將以注釋的形式出現(xiàn)。如果搞不清楚哪個單元對應(yīng)哪個文件,可以選擇 View→Project Manager 來打開 Project Manager(項目管理器 )窗口。其中每個表單都對應(yīng)著一個單元文件,而有的單元文件卻只有代碼而不對應(yīng)任何表單。在 Delphi 中,大部分情況下都是對單元文 件進行編程,而幾乎不需要編輯 .dpr 文件。 基于組件的編程思想 Delphi 7 是一種典型的基于組件的編程工具。在介紹組件編程之前,首先簡要地回顧一下軟件設(shè)計方法的發(fā)展史,以便更好地理解基于組件的編程思想。 在早期 DOS 操作系統(tǒng)和 C語言主導(dǎo)的時代, “數(shù)據(jù)結(jié)構(gòu) +算法 ”成為構(gòu)建軟件的惟一方式,然而這種扁平的 API組織結(jié)構(gòu)帶來的現(xiàn)實邏輯與機器實現(xiàn)之間的巨大鴻溝讓人無法忍受,近乎相同的軟件被低效地一遍一遍重寫。 接著,千呼萬喚始出來的 C++語言和面向?qū)ο蠹夹g(shù),一時間成為我們的口頭語;絢麗多彩的 Windows 成為我們的棲息地; MFC 類庫及由其主導(dǎo)開發(fā)的各種桌面軟件成為 C++歷史上的極盛時期。然而,隨著軟件規(guī)模越來越大,面向 Web 應(yīng)用的需求越來越高,源代碼級的對象復(fù)用顯然已經(jīng)不能滿足我們的需要。 軟件開發(fā)迫切需要一個面向 Inter的異構(gòu)體系,為軟件提供像 IC 電路元件一樣可插拔的標準封裝和復(fù)用方式的組件構(gòu)造平臺。于是 20 世紀 90 年代中期開始流行一種嶄新的程序設(shè)計概念:軟件可以由可互換的組件構(gòu)成,一套組件可以裝配出音頻系統(tǒng)或者家庭影院。這就是基于組件的編程思想。 到底什么是組件?不同的人可能會有不同的答案。 一般來講,組件是指一種通過公開的屬性、方法、事件,讓其他的程序設(shè)計者可以重復(fù)使用的一種經(jīng)過編譯的二進制文件,其文件名可以是 .OCX 或者是 .dll,如命令按鈕、復(fù)選框、單選框、滾動條等都是常見的組件。同一個組件可以嵌入各種不同的應(yīng)用程序之中,因而可以方便地通過改寫組件的屬性和事件來定制組件,使它適用于不同的應(yīng)用程序,從而極大地提高編程的效率和程序的復(fù)用率 [6]。 29 Delphi 7 中有一個龐大的可視化組件庫 (VCL),其中總共包括了一百多種組件,涉及程序設(shè)計的各個領(lǐng)域。其中任何一種組件一般都包括屬性、方法、事件等信息,你可以對其進行設(shè)定或者重載, “裝配 ”自己的軟件,與此同時,用戶也可以定義自己的組件。 Delphi軟件在遺傳算法優(yōu)化參數(shù)中的應(yīng)用 Delphi 軟件作為設(shè)計的開發(fā)平臺在遺傳算法優(yōu)化 PID 控制器參數(shù)中得到了應(yīng)用。下面來介紹一下控制器的設(shè)計。 基于 Delphi的控制器軟件優(yōu)化設(shè)計 對于算法的設(shè)計一般遵循如下方法:給出該道算法練習(xí)題構(gòu)成一個完整 PASCAL 程序所需要的文件框架,即把編輯好的遺傳算法設(shè)計嵌入到一個 PASCAL程序中,在程序中別的窗體對應(yīng)的 PASCAL 文件中加入調(diào)用嵌入算法 的 PASCAL 的語句,使其可以調(diào)用。算法設(shè)計格式上的不確定性決定了通過窮舉法來判別算法正確性根本行不通。雖然
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1