Matlab評價型模型的求解方法

2021-03-02 zhhn的碎筆小站

<零>前言

  構成評價型模型的五個要素分別為評價對象、評價指標、權重係數、綜合評價模型和評價者。今天介紹兩種在權重係數計算的方面的兩種方法:線性加權法和層次分析法。

<一>線性加權法

  線性加權法的適用條件是各評價指標之間相互獨立。這樣就可以利用多元線性回歸來得到各指標對應的係數。

  下面以具體的一個例子來介紹如何用matlab來實現。

  例1:已知我們對股票進行評價,有10個評價因子互相獨立,已知這些股票在這10個方面的歷史表現,並且給出各個股票的漲落:其中,最後一列1表示上漲股票,0表示一般股票(不漲也不落),-1表示下跌的股票。根據這些已知數據,建立股票的評價模型,就可以利用模型評價新的股票了。

matlab實現步驟如下:

  

clc,clear all;close all;s=dataset('xlsfile','SampleA1.xlsx');myFit=LinearModel.fit(s);disp(myFit)sx=s(:,1:10);sy=s(:,11);n=1:size(s,1);sy1=predict(myFit,sx);figureplot(n,sy,'k',n,sy1,'*r')xlabel('樣本編號')ylabel('綜合得分')title('多元線性回歸模型')

運行做圖如下:

計算結果如下:

<二>層次分析法(AHP)

  在數學建模中,層次分析法的應用場景比較多,當要求評價的內容中,存在一些難以度量的因素;或者在評價的過程中取決於決策者的經驗;或者各變量之間有著一定的關係,那麼一般採用AHP來進行評價。

  這個原理比較簡單,有很多地方都有講解。我國賽好像就寫的這玩應,下面只給出求解權重矩陣的過程。用的時候直接把評判矩陣改數就行

%AHP法權重計算MATLAB程序%數據讀入clcclear allA=[1 2 6; 1/2 1 4; 1/6 1/4 1];% 評判矩陣%一致性檢驗和權向量計算[n,n]=size(A);[v,d]=eig(A);r=d(1,1);CI=(r-n)/(n-1);RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.52 1.54 1.56 1.58 1.59];CR=CI/RI(n);if  CR<0.10    CR_Result='通過';   else    CR_Result='不通過';   end%權向量計算w=v(:,1)/sum(v(:,1));w=w';%結果輸出disp('該判斷矩陣權向量計算報告:');disp(['一致性指標:' num2str(CI)]);disp(['一致性比例:' num2str(CR)]);disp(['一致性檢驗結果:' CR_Result]);disp(['特徵值:' num2str(r)]);disp(['權向量:' num2str(w)]);

運行結果:

相關焦點

  • MATLAB萬能實用的非線性曲線擬合方法
    在科學計算和工程應用中,經常會遇到需要擬合一系列的離散數據,最近找了很多相關的文章方法,在這裡進行總結一下其中最完整、幾乎能解決所有離散參數非線性擬合的方法根據你的實際問題得到一系列的散點例如:根據上述的實際散點確定應該使用什麼樣的曲線,或者說是想要模擬的曲線
  • Matlab:代數方程求解—solve命令
    那麼對於普通的代數方程,我們如何用matlab求解呢,這就是我們今天要討論的內容啦。一元一次方程先從簡單的開始,我們看看下面的一元一次方程,其中x是未知數。好了,大家一眼就能看出來這個方程的解是x=9。現在我們希望matlab來幫我們做這件事,這就要用到matlab 的 solve 命令了。
  • MATLAB優化模型求解方法:標準模型
    MATLAB 優化工具箱和全局優化工具箱對多個優化問題提供了完整的解決方案,前者涵蓋了線性規劃、混合整型線性規劃、二次規劃、非線性優化、非線性最小二乘的求解器,後者囊括了全局搜索、多初始點、模式搜索、遺傳算法等求解算法。本講主要介紹如何使用優化工具箱求解數學建模中標準的優化模型。更多的內容,歡迎大家瀏覽 MathWorks 官網以及 MATLAB 軟體文檔。
  • Matlab/Simulink建模詳解:一階時變偏微分方程的求解
    跟ODE不同的是,PDE的變量不僅是時間的函數,而且也是空間的函數。舉個簡單的例子:炒菜的鍋的鍋壁溫度,溫度這個變量不僅僅是時間的參數(不同時候,鍋壁同一個點的溫度不一樣),而且也是空間的參數(同一時刻,鍋壁不同位置的溫度不一樣)。求解PDE的時候可以直接求解,也可以先轉化成ODE,再用求解ODE的方法求解。這裡,小編先將PDE轉化成ODE再求解。
  • Matlab有限元計算
    Logan和《matlab有限元分析與應用》-P.I. Kattan。前者有詳細的剛度矩陣等推導,主要從理論上對有限元方法進行說明,後者主要是結合著名的矩陣實驗室matlab對結構有限元進行分析與計算,兩者可以結合來看。下面我就《有限元方法基礎教程》一書中的習題2.17為例,使用matlab來說明一下如何對其進行計算。
  • 想通過視頻自學MATLAB的同學戳這裡!
    程序設計MATLAB數學教學視頻第3章:第3章 MATLAB圖形初步MATLAB數學教學視頻第4章:MATLAB數值運算MATLAB數學教學視頻第5章:MATLAB符號運算MATLAB數學教學視頻第6章:函數、極限與連續的MATLAB求解MATLAB數學教學視頻第7章:導數與微分的MATLAB求解MATLAB數學教學視頻第
  • [優化] 《MATLAB高效編程技巧與應用:25個案例分析》源程序+數據
    《MATLAB高效編程技巧與應用:25個案例分析》源程序+數據 所屬分類:計算機 > 計算機輔助設計與工程計算 > Matlab 內容簡介本書是作者八年matlab使用經驗的總結,精心設計的所有案例均來自於國內各大matlab技術論壇網友的切身需求,其中不少案例涉及的內容和求解方法在國內現已出版的matlab書籍中鮮有介紹
  • 查看matlab中函數原始碼的方法
    為了提升 「2015CUMCM 參賽隊伍」運用matlab軟體實現數學建模算法的能力,沉著應對數學建模競賽的【模型軟體求解】問題,最終在國賽中獲得榮譽,數學中國精心準備了一套能夠滿足參賽者需求的精品課程「數學建模算法之matlab實現專題」,讓大家深入數模算法方法內容、matlab軟體實現與應用,從而能夠在日後的生活和工作中獲得應用。
  • 基於Matlab/Simulink的風力機特性仿真
    摘要:本文選擇參考文獻2中的風能的功率係數Cp進行分析,採用遺傳算法進行最大功率係數Cpmax求解,並通過對參考文獻1中的風能的功率係數Cp求解驗證其算法求解的合理性。為了驗證使用遺傳算法計算的結果是否可靠,對參考文獻1中Cp進行了最大值求解,求解結果如圖2所示,和文中所提到的Cpmax和λ一致。
  • 用MATLAB求解0-1 規劃問題
    在MATLAB優化工具箱中,提供了專門用於求解0-1規劃問題的函數bintprog。在MATLAB中調用 bintprog函數求解0-1規劃時,需要遵循MATLAB中對0-1規劃標準型的要求。0-1 規劃問題的MATLAB標準型為∶在上述模型中,有一個需要極小化的目標函數f,以及需要滿足的約束條件。
  • 模型法求解一元二次方程初探
    一元二次方程ax^2+bx+C=0(a≠0)的解法有多種,不同的模型採取不同的方法:1、(x+a)^2=b(b>0)型。左邊是完全平方式,右邊是一個正數或是一個完全平方式,採用兩邊開平方法。2、因式分解型。用因式分解的方法把方程左邊變成兩個因式的積,右邊是0。即(Ⅹ+a)(X+b)=0型。?3、公式法型。這個模型被稱為萬能型。只要一元二次方程根的判別式△≥0,都可用公式法求解。但若能用十字相乘法分解,優先用十字相乘法,在不能分解的前提下,只能用公式法了。
  • 2019數學建模國賽|Matlab 求解微分方程(組)
    (4)因為沒有一種算法可以有效的解決所有的 ODE 問題,為此,Matlab 提供了多種求解器 solver,對於不同的 ODE 問題,採用不同的 solver3.在 matlab 命令窗口、程序或函數中創建局部函數時,可用內聯函數 inline,inline 函數形式相當於編寫 M 函數文件,但不需編寫 M-文件就可以描述出某種數學關係.調用 inline
  • 時滯微分方程的matlab解法
    解法,問題是選自由清華大學出版社出版、薛定宇著的《高等應用數學問題的MATLAB求解 (第四版)》的課後習題,問題的如下:了解了dde23函數的使用方法,接下來就是如何實現的問題了。編程愛好者Q群中提有意思的matlab編程問題,同樣會與大家分享,指不定哪天就能派上用場。
  • 兩個基本點,求解高中數學「函數模型實際應用」問題的必要條件
    其中,熱門話題是增減比率型和方案優化型,而估測計算型和信息遷移型也時有出現。函數作為初等數學中最基本也是分量最重的模塊,在實際中具有廣泛應用與重要的價值和意義。如現實中存在的最優問題可歸結為函數最值問題。
  • 薛定宇教授大講堂(卷Ⅴ):MATLAB微分方程求解|文末贈書
    4.3高階常微分方程組的變換  924.3.1簡單的顯式微分方程組  924.3.2定步長算法的局限性  984.3.3簡單的隱式微分方程組  1004.3.4更複雜的非線性方程組  1024.4矩陣型微分方程的變換  1044.4.1矩陣型微分方程的變換與求解 1044.4.2 Sylvester
  • 求解微分方程,用seq2seq就夠了,性能遠超 Mathematica、Matlab
    這篇論文提出了一種新的基於seq2seq的方法來求解符號數學問題,例如函數積分、一階常微分方程、二階常微分方程等複雜問題。其結果表明,這種模型的性能要遠超現在常用的能進行符號運算的工具,例如Mathematica、Matlab、Maple等。
  • MATLAB常微分方程數值求解
    解決剛性問題需要有專門方法。非剛性算法可以求解剛性問題,只不過需要很長的計算時間。假如點燃一個火柴,火焰球迅速增大直至某個臨界體積,然後,維持這一體積不變,原因是火焰球內部燃燒耗費的氧氣和從球表面所獲氧氣達到平衡。
  • 如何使用Matlab編程進行參數擬合
    >3.1代數方程模型y=f(x,β)x, n維自變量x=[x1,x2,…,xn]'β,p維參數向量β =[β1, β2,…, βn]'y,m維因變量y=[y1,y2,…,yn]'f,m維函數向量f=[f1,f2,…,fn]'Matlab 求解函數線性最小二乘法:ployfit
  • Solidworks三維模型如何導入Matlab教程
    本文主要講述如何將在Solidworks中繪製的三維模型導入Matlab中,其具體操作步驟如下:首先,你電腦裡必須安裝有Solidworks和Matlab兩款軟體,其中Solidworks最好是2016版以上,Matlab最好是2018版以上
  • matlab是什麼程式語言?matlab是程式語言嗎
    一、matlab定義本文引用地址:http://www.eepw.com.cn/article/201808/388132.htmThe MathWorks公司的MATLAB