国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于MATLAB 數學建模快速入門的方法分析介紹

MATLAB ? 2019-09-16 14:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MATLAB 雖然功能很強大,但上手卻很容易,尤其是 R2013a 以后的版本, 使用起來更加容易。 現在使用 MATLAB 的一個理念就是像 Word 一樣去使用 MATLAB。本講將通過一個實例介紹如何像使用 Word 一樣去使用 MATLAB,真正將 MATLAB 當工具來使用,即使對于從來沒有用過 MATLAB 的模友來說,也可以輕松入門。

1.MATLAB 的功能

如果想用 MATLAB 首先要了解 MATLAB 具有哪些功能,圖 1 是 MATLAB 家族產品的結構,包含了眾多工具箱,所以其應用領域非常廣泛。在各行業和學術機構中,工程師和科學家使用 MATLAB 大大提高了他們的工作效率。了解 MATLAB 具有哪些功能,就知道在什么情況下可以使用 MATLAB , 縱觀這幅圖就可以知道,無論從事哪個行業,只要涉及到科學計算或工程設計,都可以使用 MATLAB。

關于MATLAB 數學建模快速入門的方法分析介紹

圖1 MATLAB家族產品結構圖

2.快速入門案例

MATLAB 雖然是一款程序開發工具,但依然是工具,所以它可以像其他工具(如 Word)一樣易用。而傳統的學習 MATLAB 方式一般是從學習 MATLAB 入門知識開始,比如 MATLAB 矩陣操作、繪圖、數據類型、程序結構、數值計算等內容。學這些知識的目地是能夠將 MATLAB 用起來,可是即便學完了,很多人還是不自信自己能獨立、自如地使用 MATLAB。這是因為在我們學習這些知識的時候,目標是虛無的,不是具體的目標,具體的目標應該是要解決某一問題。

數模哥雖然已使用多年的 MATLAB,但記住的 MATLAB命令不超過 20 個,每次都靠幾個常用的命令一步一步地實現各種項目。所以說想使用 MATLAB 并不需要那么多知識的積累,只要掌握住 MATLAB 的幾個小技巧就可以了。下面將通過一個小項目,帶著大家一步一步用 MATLAB 解決一個實際問題,并假設我們都是 MATLAB 的門外漢(還不到菜鳥的水平)。

我們要解決的問題是:已知股票的交易數據:日期、開盤價、最高價、最低價、收盤價、成交量和換手率,試用某種方法來評價這只股票的價值和風險。

這是個開放的問題,但比較好的方法肯定是用定量的方式來評價股票的價值和風險,所以這是個很典型的科學計算問題。通過前面對 MATLAB 功能的介紹,我們可以確信 MATLAB 可以幫助我們(選擇合適的工具)。

現在拋開 MATLAB,我們來看對于一個科學計算問題,一個典型的處理流程是怎樣的。一個典型科學計算的流程如圖 2 所示,即獲取數據,數據探索和建模,最后是將結果分享出去。

關于MATLAB 數學建模快速入門的方法分析介紹

圖2 MATLAB典型科學計算流程

現在根據這個流程,看如何用 MALTAB 實現這個項目。

第一階段:從外部讀取數據

對于一個門外漢,我并不知道如何用命令來操作,但計算機操作經驗告訴我們當不知如何操作的時候,不妨嘗試一下右鍵,故:

Step1.1:選中數據文件,右鍵,將彈出右鍵列表,很快可發現有個“導入數據”菜單,如圖 3 所示。

關于MATLAB 數學建模快速入門的方法分析介紹

圖3啟動導入數據引擎示意圖

Step1.2:單擊“導入數據”這個按鈕,則很快發現起到一個導入數據引擎,如圖 4 所示。

圖2-4導入數據界面

關于MATLAB 數學建模快速入門的方法分析介紹

圖4導入數據界面

Step1.3:觀察圖 4,只在右上角有個“導入所選內容”按鈕,則可直接單擊之。馬上我們就會發現在 MATLAB 的工作區(當前內存中的變量)就會顯示這些導入的數據,并以列向量的方式表示,因為默認的數據類型就是“列向量”,當然您可以可以選擇其他的數據類型,大家不妨做幾個實驗,觀察一下選擇不同的數據類型后會結果會有什么不同。至此,第一步獲取數據的工作的完成。

第二階段:數據探索和建模

現在重新回到問題,對于該問題,我們的目標是能夠評估股票的價值和風險,但現在我們還不知道該如何去評估,MATLAB 是工具,不能代替我們決策用何種方法來評估,但是可以輔助我們得到合適的方法,這就是數據探索部分的工作。下面我們就來嘗試如何在 MATLAB 中進行數據的探索和建模。

Step2.1:查看數據的統計信息,了解我們的數據。具體操作方式是雙擊工具區(直接雙擊這三個字),此時會得到所有變量的詳細統計信息。通過查看這些基本的統計信息,有助于快速在第一層面認識我們所正在研究的數據。當然,只要大體瀏覽即可,除非這些統計信息對某個問題都有很重要的意義。數據的統計信息是認識數據的基礎,但不夠直觀,更直觀也更容易發現數據規律的方式就是數據可視化,也就是以圖的形式呈現數據的信息。下面我們將嘗試用 MATLAB 對這些數據進行可視化。

由于變量比較多,所以還有必要對這些變量進行初步的梳理。對于這個問題,我們一般關心收盤價隨時間的變化趨勢,這樣我們就可以初步選定日期(DateNum)和收盤價(Pclose)作為重點研究對象。也就是說下一步,要對這這兩個變量進行可視化。

對于一個新手,我們還不知道如何繪圖。但不要緊,新版 MATLAB 提供了更強大的繪圖功能——“繪圖”面板,這里提供了非常豐富的圖形原型,如圖 5 所示。

關于MATLAB 數學建模快速入門的方法分析介紹

圖5 MATLAB繪圖面板中的圖例

要注意,需要在工作區選中變量后繪圖面板中的這些圖標才會激活。接下來就可以選中一個中意的圖標進行繪圖,一般都直接先選第一個(plot)看一下效果,然后再瀏覽整個面板,看看有沒有更合適的。下面我們進行繪圖操作。

Step2.2:選中變量 DataNum 和 Pclose,在繪圖面板中單機 plot 圖標,馬上可以得到這兩個變量的可視化結果,如圖 6 所示,同時還可以在命令窗口區顯示繪制此圖的命令:

>> plot(DateNum,Pclose)

關于MATLAB 數學建模快速入門的方法分析介紹

圖6通過plot圖標繪制的原圖

這樣我們就知道了,下次再繪制這樣的圖直接用 plot 命令就可以了。一般情況下,用這種方式繪圖的圖往往不能滿足我們的要求,比如我們希望更改:

(1)曲線的顏色、線寬、形狀;

(2)坐標軸的線寬、坐標,增加坐標軸描述;

(3)在同個坐標軸中繪制多條曲線。

此時我們就需要了解更多關于命令 plot 的用法,這時就可以通過 MATLAB 強大的幫助系統來幫助我們實現期望的結果。最直接獲取幫助的兩個命令是 doc 和 help,對于新手來說,推薦使用 doc,因為 doc 直接打開的是幫助系統中的某個命令的用法說明,不僅全,而且有應用實例,這樣就可以“照貓畫虎”,直接參考實例,從而將實例快速轉化成自己需要的代碼。

接下來我們就要考慮如何評估股票的價值和風險呢?

從圖 6 可以大致看出,對于一只好的股票,我們希望股票的增幅越大越好,體現在數學上,就是曲線的斜率越大越好。而對于風險,則可用最大回撤來描述更合適。不妨一個一個來,我們先來看如何計算曲線的斜率。對于這個問題,比較簡單,由于從數據的可視化結果來看,數據近似成線性,所以不妨用多項式擬合的方法來擬合該改組數據的方程,這樣我們就可以得到斜率。

如何擬合呢?對于一個新手來說,我并不清楚用什么命令。此時又可以用幫助系統了。在 MATLAB 主面板(靠近右側)點擊“幫助”,就可以打開幫助系統,在搜索框中搜索多項式擬合的英文單詞“polyfit”,馬上就可以列出與該關鍵詞相關的幫助信息,同時很快就會發現,正好有個命令就是 polyfit,果斷點擊該命令,進入該命令的用法頁面,了解該命令的用法,就可以直接用了。也可以直接找中意的案例,然后直接將案例中的代碼拷貝過去,修改數據和參數就可以了。

Step2.3:通過幫助搜索多項式擬合的命令,并計算股票的價值,具體代碼為:

>> p = polyfit(DateNum,Pclose,1);%多項式擬合

>> value = p(1)%將斜率賦值給value,作為股票的價值

value =

0.1212

Step2.4:用相似的方法,可以很快得到計算最大回撤的代碼:

>> MaxDD = maxdrawdown(Pclose);%計算最大回撤

>> risk = MaxDD%將最大回撤賦值給risk,作為股票的風險

risk =

0.1155

到此處,我們已經找到了評估股票價值和風險的方法,并能用 MALTAB 來實現了。但是,我們都是在命令行中實現的,并不能很方便地修改代碼。而 MATLAB 最經典的一種用法就是腳本,因為腳本不僅能夠完整地呈現整個問題的解決方法,同時更便于維護、完善、執行,優點很多。所以當我們的探索和開發工作比較成熟后,通常都會將這些有用的程序歸納整理起來,形成腳本。現在我們就來看如何快速開發解決該問題的腳本。

Step2.5:像 Step1.1 一樣,重新選中數據文件,右鍵并單擊“導入數據”菜單,待啟動導入數據引擎后,選擇“生成腳本”,然后就會得到導入數據的腳本,并保存該腳本。

Step2.6:從命令歷史中選擇一些有用的命令,并復制到 Step2.5 得到的腳本中,這樣就很容易得到了解決該問題的完整腳本了,如下所示:

%% MATLAB入門案例

%%導入數據

clc, clear, closeall

%導入數據

[~, ~, raw] = xlsread('sz000004.xls','Sheet1','A2:H99');

%創建輸出變量

data = reshape([raw{:}],size(raw));

%將導入的數組分配給列變量名稱

Date = data(:,1);

DateNum = data(:,2);

Popen = data(:,3);

Phigh = data(:,4);

Plow = data(:,5);

Pclose = data(:,6);

Volum = data(:,7);

Turn = data(:,8);

%清除臨時變量

clearvars dataraw;

%%數據探索

figure%創建一個新的圖像窗口

plot(DateNum,Pclose,'k')%更改圖的的顏色的黑色(打印后不失真)

datetick('x','mm');%更白日期顯示類型

xlabel('日期');% x軸說明

ylabel('收盤價');% y軸說明

figure

bar(Pclose)%作為對照圖形

%%股票價值的評估

p = polyfit(DateNum,Pclose,1);%多項式擬合,

%分號作用為不在命令窗口顯示執行結果

P1 = polyval(p,DateNum);%得到多項式模型的結果

figure

plot(DateNum,P1,DateNum,Pclose,'*g');%模型與原始數據的對照

value = p(1)%將斜率賦值給value,作為股票的價值。

%%股票風險的評估

MaxDD = maxdrawdown(Pclose);%計算最大回撤

risk = MaxDD%將最大回撤賦值給risk,作為股票的風險

到此處,第二階段的數據探索和建模工作就完成了。

第三階段:發布

當項目的主要工作完成之后,就進入了項目的發布階段,換句話說,就是將項目的成果展示出去。下面還將繼續上面的案例將介紹如何通過 MATLAB 的 publish 功能,來快速發布報告。

Step3.1:在腳本編輯器的“發布”面板,從“發布”按鈕(最右側)的下拉菜單中,選擇“編輯發布選項”,這樣就打開了發布的配置面板。

Step3.2:根據自己的要求,選擇合適的“輸出文件格式”,默認為 html,但比較常用的是 Word 格式,因為 Word 格式便于編輯,尤其是對于寫報告或論文。然后單擊“發布”按鈕,就可以運行程序,同時會得到一份詳細的運行報告,包括目錄、實現過程、主要結果和圖,當時也可以配置其他選項來控制是否顯示代碼等內容。

至此,整個項目就算完成了。我們可以發現,這個過程中,我們并沒有需要記住多少個 MATLAB 命令,只用少數幾個命令,MATLAB 就幫我們完成了想做的事情。通過這個項目,我們可以有這樣的基本認識,一是 MATLAB 的使用真的很簡單,就像一般的辦公工具那樣好用;二是在做項目的過程中,思路是核心,我們只是用 MATLAB 快速實現了我們想做的事情。

3.入門后的提高

快速入門是為了讓我們快速建立對 MATLAB 的使用信心,有了信心后,提高就是自然而然的事情了。為了幫助讀者能夠更自如的應用 MATLAB,下面將介紹幾個入門后提高 MATLAB 使用水平的幾個建議:

一是要了解 MATLAB 最常用的操作技巧和最常用的知識點,基本上是每個項目中都會用到的最基本的技巧。入門之后, 再去看 MATLAB 的基礎知識(幫助系統里有個 Language Fundamentals ), 視角就完全不一樣了, 有種一覽眾山小的從容。

二是要了解 MATLAB 的開發模式,這樣無論項目多復雜,都能靈活面對。

三是在實踐中學習,不斷積累經驗和知識,拓展 MATLAB 的外延。

根據以上三點,大家就可以逐漸變成 MATLAB 高手了,至少可以很自信地使用 MATLAB 。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編輯器
    +關注

    關注

    1

    文章

    828

    瀏覽量

    32905
  • 機器學習
    +關注

    關注

    66

    文章

    8553

    瀏覽量

    136962
  • 數據分析
    +關注

    關注

    2

    文章

    1516

    瀏覽量

    36232
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    測量誤差溯源:系統誤差與隨機誤差的數學建模與分離方法

    校準不當或環境因素,具有重復性;而隨機誤差則由隨機噪聲引起,呈現離散分布。本文將通過數學建模揭示這些誤差的本質,并討論高效分離方法,為提升測量精度(如電流測量中的數值穩定性)提供理論支持。接下來,我們將深入探討
    的頭像 發表于 07-25 09:36 ?1109次閱讀

    無刷直流電機雙閉環串級控制系統仿真研究

    Toolbox2.3提供的豐富的模塊庫,基于BLDCM 數學模型的分析,提出了一種簡化的BLDC控制系統建模方法,在MallabSimulink中建立獨立的功能模塊,并對這些功能模塊
    發表于 07-07 18:36

    無刷直流電機模糊PI控制系統建模與仿真

    摘 要:從無刷直流電機(BIDCM)的工作原理和結構出發,在分析了 BLDCM數學模型的基礎上,采用模塊化方法,在Matlab/Simulink 中建立了 BLDCM 轉速、電流雙閉環
    發表于 07-07 18:25

    無刷直流電機控制系統的建模仿真分析

    摘要:分析了BLDCM的數學模型,運用MATLAB仿真軟件搭建了無刷直流電機控制系統的仿真模型。本系統采用了速度PID控制、電流遲滯控制的雙閉環控制方案,電流遲滯控制是為了更方便地跟蹤PWM信號并
    發表于 06-27 16:52

    三相異步電機在SIMULINK下的建模與仿真

    摘要:異步電動機三相原始動態數學模型相當復雜,分析和求解這組非線性方程十分困難,因此,要簡化數學模型,必須從簡化磁鏈關展入手,簡化的基本方法就是坐標變換。以異少電動機坐標變換為基礎推導
    發表于 06-16 21:48

    利用MATLAB對交流電機調速系統進行建模和仿真

    是借助計算機及相關技術,對真實系統的運行過程和狀態進行數字化模擬的技術。Simulink作為MATLAB的一個組件,能夠實現對動態系統的建模、仿真和綜合分析。本文在Simulink環境中建立面向電氣
    發表于 06-06 14:31

    快速入門——LuatOS:sys庫多任務管理實戰攻略!

    在嵌入式開發中,多任務管理是提升系統效率的關鍵。本教程專為快速入門設計,聚焦LuatOS的sys庫,通過實戰案例帶你快速掌握多任務創建、調度與同步技巧。無論你是零基礎新手還是希望快速
    的頭像 發表于 05-29 14:36 ?828次閱讀
    <b class='flag-5'>快速</b><b class='flag-5'>入門</b>——LuatOS:sys庫多任務管理實戰攻略!

    普源示波器如何連接MATLAB實現數據采集與分析

    、高級算法應用等。本文將詳細講解普源示波器與MATLAB的連接方法、配置步驟、高級功能及實戰案例,幫助用戶快速搭建高效的數據采集與分析系統。 ? 一、連接前的準備工作 在連接示波器與
    的頭像 發表于 05-29 09:34 ?1151次閱讀

    電機瞬態過程分析MATLAB建模與仿真

    動機的負載要求它經常運行在啟動、調速、制動狀態:電機及其拖動系統日趨復雜:電機運行的自動化程度和可靠性要求越來越高:電機及電力系統的經濟可靠運行等都要求我們充分或全面掌握電機瞬態的分析計算方法。 純
    發表于 04-29 16:29

    基于VT系統的MCU硬件在環建模與仿真應用分析

    在新能源汽車行業快速發展的背景下,電機控制器(MCU)作為核心部件,其開發和測試的重要性日益增加。為了在開發早期階段快速驗證應用層算法功能及基礎軟件質量,硬件在環(HIL)測試技術應運而生。本文分析
    的頭像 發表于 04-16 10:07 ?1417次閱讀
    基于VT系統的MCU硬件在環<b class='flag-5'>建模</b>與仿真應用<b class='flag-5'>分析</b>

    進群免費領FPGA學習資料!數字信號處理、傅里葉變換與FPGA開發等

    設計及其應用;參數化建模;隨機信號分析。 05、信號處理中的傅里葉變換 共七章,內容包括:信號與譜,離散傅里葉變換,離散傅里葉變換的數值計算,快速卷積,信號處理中的傅里葉變換和樣條內插以及用于譜
    發表于 04-07 16:41

    (專家著作,建議收藏)電機的數學研究方法

    本魯企圖系統地説明電機主要的、最新的數學研究方法。本需的材料在足夠的程度上已包括用于研究電機過渡狀態和穩定 狀態的獨特范圓。這些材料應用已經廣泛流行的最新數學分析作為它 的湛礎。電機過渡狀態和穩定狀
    發表于 04-01 15:02

    直流電機控制方法Matlab仿真研究

    針對無刷直流電機的控制方法進行了深入研究 。根據無刷直流電機實際物理模型建立相應的數學模型,電機使用雙閉環進行控制 。根據電機的實際工作特點,使用模糊自適應 PID 算法替代常規 PID 算法建立
    發表于 03-27 12:15

    矩陣混音技術快速入門

    A&H矩陣混音技術快速入門Live_Matrix_MixingChinese
    發表于 03-26 14:12 ?0次下載

    MATLAB仿真在直流電機雙閉環調速系統中的應用

    分析了直流調速系統原理的基礎上,在MATLAB/SIMULINK 仿真環境下對轉速、電流雙閉環調速系統建模并進行了仿真分析。仿真結果表明,該控制系統模型具有轉速、轉矩響應好和仿真速度
    發表于 03-20 13:03