演算法的輸入量
1. 用pid演算法編程根據溫差調節電機的轉速,按我的理解,pwm是輸入量,溫度是輸出反饋量
首先,弄清題意,假設這是一個風扇,如果溫度高於設定溫度就風扇電機轉快些,反之慢些,那麼反饋量就是當前檢測的實際溫度,給定值是你要求的設定溫度,執行控制的是pwm信號用於控制電機轉速。這里編程得用數字PID的離散化經典公式,當前偏差e(k),上一次偏差e(k-1),上上次偏差e(k-2),怎麼計算來的你應該會(反饋值與給定值的差值),公式里需要整定三個參數P/I/D,我覺得純P就行,I和D取0,既簡單又使用了PID。PS:採用增量式PID。敲了這么多,希望採納。
2. 演算法里的輸入規模是什麼
不知道你說的是哪種演算法,給你個例子吧。
運算量 n! 2^n n^3 n^2 nlogn n
最大規模 11 26 464 10000 4.5*10^6 1000000000
速度擴大兩倍 11 27 587 14142 8.6*10^6 2000000000
這個表給出了機器速度擴大兩倍後,演算法所能解決的規模的對比。可以看出,n!和2n不僅能解決的問題規模十分小,而且增長緩慢;最快的nlogn和n演算法不僅解決問題
的規模大,而且增長快。我們把漸進時間復雜為多項式的演算法稱為多項式時間演算法(polymonial-time algorithm),也稱有效演算法;而n!或者2^n這樣低效演算法稱為指數時間演算法(exponential-time algorithm).
盡管如此,考慮到目前主流機器的執行速度,多數演算法競賽所選取的數據規模基本符合此表。例如,一些指明n<=8的題目,可能n!的演算法已經足夠,n<=20的題目需要2^n的演算法,而n<=300的題目可能就需要用至少n^3的多項式演算法.
3. 演算法的復雜度是以什麼來度量的
以循環的次數來度量。演算法復雜度是指演算法在編寫成可執行程序後,運行時所需要的資源,資源包括時間資源和內存資源。應用於數學和計算機導論。同一問題可用不同演算法解決,而一個演算法的質量優劣將影響到演算法乃至程序的效率,演算法分析的目的在於選擇合適演算法和改進演算法,一個演算法的評價主要從時間復雜度和空間復雜度。一個演算法的復雜度是由其輸入量決定的,隨著輸入的增加,不同演算法的復雜度增長。
4. 為什麼用抽象數據類型描述數據結構,半小時內給正確答案,獎勵10分,坐等
數據結構和演算法是計算機編程的核心。
數據結構是由若干特性相同的數據元素構成的集合,且在集合上存在一種或多種關系。由關系不同可將數據結構分為四類:線性結構、樹形結構、圖狀結構和集合結構。數據的存儲結構是數據邏輯結構在計算機中的映象,由關系的兩種映象方法可得到兩類存儲結構:一類是順序存儲結構,它以數據元素相對的存儲位置表示關系,則存儲結構中只包含數據元素本身的信息;另一類是鏈式存儲結構,它以附加的指針信息(後繼元素的存儲地址)表示關系。
數據結構的操作是和數據結構本身密不可分的,兩者作為一個整體可用抽象數據類型進行描述。抽象數據類型是一個數學模型以及定義在該模型上的一組操作,因此它和高級程序設計語言中的數據類型具有相同含義,而抽象數據類型的范疇更廣,它不局限於現有程序設計語言中已經實現的數據類型(它們通常被稱為固有數據類型),但抽象數據類型需要借用固有數據類型表示並實現。抽象數據類型的三大要素為數據對象、數據關系和基本操作,同時數據抽象和數據封裝是抽象數據類型的兩個重要特性。
演算法是進行程序設計的另一不可缺少的要素。演算法是對問題求解的一種描述,是為解決一個或一類問題給出的一種確定規則的描述。一個完整的演算法應該具有下列五個要素:有窮性、確定性、可行性、有輸入和有輸出。一個正確的演算法應對苛刻且帶有刁難性的輸入數據也能得出正確的結果,並且對不正確的輸入也能作出正確的反映。
演算法的時間復雜度是比較不同演算法效率的一種准則,演算法時間復雜度的估算基於演算法中基本操作的重復執行次數,或處於最深層循環內的語句的頻度。演算法空間復雜度可作為演算法所需存儲量的一種量度,它主要取決於演算法的輸入量和輔助變數所佔空間,若演算法的輸入僅取決於問題本身而和演算法無關,則演算法空間復雜度的估算只需考察演算法中所用輔助變數所佔空間,若演算法的空間復雜度為常量級,則稱該演算法為原地工作的演算法。
由上可知,演算法和數據結構通用於各種語言。
其實你可以多找幾本演算法和數據結構的書來學習,就會發現所有的數據結構和演算法都可以通過不同的編程語言來實現。
5. 演算法具有什麼特徵
一個演算法應該具有以下五個重要的特徵:
1,有窮性(Finiteness):演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;
2,確切性(Definiteness):演算法的每一步驟必須有確切的定義;
3,輸入項(Input):一個演算法有0個或多個輸入,以刻畫運算對象的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
4,輸出項(Output):一個演算法有一個或多個輸出,以反映對輸入數據加工後的結果。沒有輸出的演算法是毫無意義的;
5,可行性(Effectiveness):演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成(也稱之為有效性)。
(5)演算法的輸入量擴展閱讀:
演算法要素:
一,數據對象的運算和操作:計算機可以執行的基本操作是以指令的形式描述的。一個計算機系統能執行的所有指令的集合,成為該計算機系統的指令系統。一個計算機的基本運算和操作有如下四類:
1,算術運算:加減乘除等運算
2,邏輯運算:或、且、非等運算
3,關系運算:大於、小於、等於、不等於等運算
4,數據傳輸:輸入、輸出、賦值等運算
二,演算法的控制結構:一個演算法的功能結構不僅取決於所選用的操作,而且還與各操作之間的執行順序有關。
6. 何謂演算法演算法有什麼性質
演算法(algorithm),在數學(算學)和計算機科學之中,為任何一系列良定義的具體計算步驟,常用於計算、數據處理和自動推理。作為一個有效方法,演算法被用於計算函數,它包含了一系列定義清晰的指令,並可於有限的時間及空間內清楚的表述出來。
特點:
1、輸入:一個演算法必須有零個或以上輸入量。
2、輸出:一個演算法應有一個或以上輸出量,輸出量是演算法計算的結果。
3、明確性:演算法的描述必須無歧義,以保證演算法的實際執行結果是精確地符合要求或期望,通常要求實際運行結果是確定的。
4、有限性:依據圖靈的定義,一個演算法是能夠被任何圖靈完備系統模擬的一串運算,而圖靈機只有有限個狀態、有限個輸入符號和有限個轉移函數(指令)。而一些定義更規定演算法必須在有限個步驟內完成任務。
5、有效性:又稱可行性。能夠實現,演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現。
(6)演算法的輸入量擴展閱讀:
常用設計模式
完全遍歷法和不完全遍歷法:在問題的解是有限離散解空間,且可以驗證正確性和最優性時,最簡單的演算法就是把解空間的所有元素完全遍歷一遍,逐個檢測元素是否是我們要的解。
這是最直接的演算法,實現往往最簡單。但是當解空間特別龐大時,這種演算法很可能導致工程上無法承受的計算量。這時候可以利用不完全遍歷方法——例如各種搜索法和規劃法——來減少計算量。
1、分治法:把一個問題分割成互相獨立的多個部分分別求解的思路。這種求解思路帶來的好處之一是便於進行並行計算。
2、動態規劃法:當問題的整體最優解就是由局部最優解組成的時候,經常採用的一種方法。
3、貪心演算法:常見的近似求解思路。當問題的整體最優解不是(或無法證明是)由局部最優解組成,且對解的最優性沒有要求的時候,可以採用的一種方法。
4、簡並法:把一個問題通過邏輯或數學推理,簡化成與之等價或者近似的、相對簡單的模型,進而求解的方法。
7. 演算法的描述可以採用什麼
如下:
1、用自然語言描述演算法
前面關於歐幾里的演算法以及演算法實例的描述,使用的都是自然語言。自然語言是人們日常所用的語言,如漢語、英語、德語等。使用這些語言不用專門訓練,所描述的演算法也通俗易懂。
2、用流程圖描述演算法
在數學課程里,我們學習了用程序框圖來描述演算法。在程序框圖中流程圖是描述演算法的常用工具由一些圖形符號來表示演算法。
3、用偽代碼描述演算法
偽代碼是用介於自然語言和計算機語言之間的文字和符號來描述演算法的工具。它不用圖形符號,因此,書寫方便、格式緊湊,易於理解,便於向計算機程序設計語言過度。
演算法的特徵
輸入:一個演算法必須有零個或以上輸入量。
輸出:一個演算法應有一個或以上輸出量,輸出量是演算法計算的結果。
明確性:演算法的描述必須無歧義,以保證演算法的實際執行結果是精確地符合要求或期望,通常要求實際運行結果是確定的。
有限性:依據圖靈的定義,一個演算法是能夠被任何圖靈完備系統模擬的一串運算,而圖靈機器只有有限個狀態、有限個輸入符號和有限個轉移函數(指令)。而一些定義更規定演算法必須在有限個步驟內完成任務。
8. 如何衡量一個時間演算法的時間效率
一個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機運行測試才能知道。但我們不可能也沒有必要對每個演算法都上機測試,只需知道哪個演算法花費的時間多,哪個演算法花費的時間少就可以了。
並且一個演算法花費的時間與演算法中語句的執行次數成正比例,哪個演算法中語句執行次數多,它花費時間就多。一個演算法中的語句執行次數稱為語句頻度或時間頻度。記為T(n)。演算法的時間復雜度是指執行演算法所需要的計算工作量。
時間效率,一定生產時間內,機器實際運轉時間與理論運轉時間之比,通常用百分率表示。與設備自動化程度、速度、卷裝尺寸、工人操作熟練程度及看台數有關。
(8)演算法的輸入量擴展閱讀:
點在空間中變化對點的描述稱為被描述點相當於該點的時間【該點運動到某一位置時,被描述點都會有唯一的對應位置,稱為此時被描述點的位置】。被描述點可以隨時間變化位置不變,可知時間與被描述點的位置有函數關系。
空間使事物具有了變化性,即因為空間的存在,所以事物才可以發生變化。空間是沒有能量的事物,即當事物能產生變化時,變化產生的能量已經和阻礙的能量相互抵消。
天文測時所依賴的是地球自轉,而地球自轉的不均勻性使得天文方法所得到的時間(世界時)精度只能達到10-9,無法滿足二十世紀中葉社會經濟各方面的需求。一種更為精確和穩定的時間標准應運而生,這就是「原子鍾」。
世界各國都採用原子鍾來產生和保持標准時間,這就是「時間基準」,然後,通過各種手段和媒介將時間信號送達用戶,這些手段包括:短波、長波、電話網、互聯網、衛星等。這一整個工序,就稱為「授時系統」。
9. 什麼叫演算法描述啊
演算法描述(AlgorithmDescription)是指對設計出的演算法,用一種方式進行詳細的描述,以便與人交流。演算法可採用多種描述語言來描述,各種描述語言在對問題的描述能力方面存在一定的差異,可以使用自然語言、偽代碼,也可使用程序流程圖,但描述的結果必須滿足演算法的五個特徵。
演算法可採用多種描述語言來描述,例如,自然語言、計算機語言或某些偽語言。各種描述語言在對問題的描述能力方面存在一定的差異。例如,自然語言較為靈活,但不夠嚴謹。而計算機語言雖然嚴謹,但由於語法方面的限制,使得靈活性不足。
因此,許多教材中採用的是以一種計算機語言為基礎,適當添加某些功能或放寬某些限制而得到的一種類語言。這些類語言既具有計算機語言的嚴謹性,又具有靈活性,同時也容易上機實現,因而被廣泛接受。目前,許多「數據結構」教材採用類PASCAL語言、類C++或類C語言作為演算法描述語言。
(9)演算法的輸入量擴展閱讀:
演算法的特徵
1、輸入:一個演算法必須有零個或以上輸入量。
2、輸出:一個演算法應有一個或以上輸出量,輸出量是演算法計算的結果。
3、明確性:演算法的描述必須無歧義,以保證演算法的實際執行結果是精確地符合要求或期望,通常要求實際運行結果是確定的。
4、有限性:依據圖靈的定義,一個演算法是能夠被任何圖靈完備系統模擬的一串運算,而圖靈機器只有有限個狀態、有限個輸入符號和有限個轉移函數(指令)。而一些定義更規定演算法必須在有限個步驟內完成任務。
5、有效性:又稱可行性。能夠實現,演算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現。