2023亞太杯數學建模B題思路+模型+代碼+論文


2023亞太地區數學建模A題思路:開賽后第一時間更新,獲取見文末 名片

2023亞太地區數學建模B題思路:開賽后第一時間更新,獲取見文末 名片

2023亞太地區數學建模C題思路:開賽后第一時間更新,獲取見文末 名片

重要提示:優秀論文的解讀十分重要!!!

? ? ?初次接觸數學建模,所以我們在研讀論文的過程中,除了學習他們在解決問題中用到的思維方法、數學知識、分析其優點與不足之外,更看重學習怎樣寫出一篇優秀的數學建模論文,從而傳達出自己的研究思路和研究成果。研讀完這篇優秀論文后,我們有如下幾點的收獲:
1. 大致了解了一篇數學建模論文應該包括哪幾個部分;
2. 每個部分應該寫些什么,以及怎樣寫才能更好的吸引別人的眼球;
3. 汲取了這篇優秀論文在寫作和處理問題方面的成功之處,以便以后運用于我們的研究之中;
4. 總結了這篇論文的不足之處,提醒我們以后注意不要犯類似的錯誤。

二、寫作內容和技巧
2.1摘要
? ? ? ?摘要是一篇論文能否在眾多論文中脫穎而出的關鍵,好的摘要必須清楚的描述解決問題的方法和顯著的表達論文中最重要的結論。這篇論文的摘要簡明扼要地指出了處理問題的方法并給出了作答,起到較好的總結全文,理清條理的作用。讓讀者對以下論述有一個總體印象。不足之處在于他提到用了兩種方法對預測雨量的兩種方法進行分析,但實際上從后面的主體部分,我們可以看到他只是從題目中提到的兩個方面——準確性和公眾感受——來分析的,談不上兩個方法。

2.2問題的重述
再次闡明論文所研究的問題具有的實際意義,并醒目的提出了所要解決的問題。

2.3問題的分析
分析問題,簡述要解決此問題需要哪些條件和大體的解決途徑
優點:條理比較清晰,論述符合邏輯,表達清楚。并給出了一個將經緯度轉化為坐
的Matlab圖形,將題目中的數據直觀的反映在了圖形上。
缺點:對于考慮公眾感受這一段,敘述稍顯簡略。

2.4模型的假設及符號說明
一個模型建的好與否,很大程度上取決于其假設做的好不好。過煩的假設接近實際,但不宜或者無法求解,過簡的假設對實際的指導意義又不夠。這就要求我們能發揮想象力、洞察力和判斷力,善于辨別主次,并為了使處理方法簡單,盡量使問題簡單、均勻化。

將文中會出現的變量、常量先在此說明,便于讀者的閱讀。這篇論文得符號說明很清楚,也很詳細。

2.5模型的建立及求解、
1.問題(1)及其求解
? 首先闡明算法,給出或推導出需要用到的計算公式;然后可使用Matlab編程,計算出相應的結果;分析得到的答案,給出相應的結論。
?優點:這篇文章建立的模型很簡潔,因而給出的算法也很精煉。他主要采用網格點上的預報數據來預測觀測站點的數據,再來和實際測得的數據相比,以預報偏離差率這個量來判定兩種方法的劣。在數據很繁瑣的情況下,很好的使用了Matlab。
2.問題(2)及其求解
可以參考上述


2.6模型的誤差與分析
模型的誤差與分析有助于改進模型,并使模型在更多的場合適用。
優點:看到了主要可能出現問題和爭議的地方,相當于重新作了個說明,指明了自己方法的可取性;
缺點:對于其他的誤差并沒有進行分析。考慮還不夠周全。

2.7模型的評價及推廣
指出自己的模型為什么具有可取性,它的優點。這篇論點的評價很好的概括了它的優點,并提出它的方法精度高,以及提到它使用了很好的數學工具。

數學模型最主要的目的是解決實際問題,一個模型做出來、解決之后,不把它運用到實際之中,就不是成功的。因而模型的推廣或者說是模型的應用是建模論文中必不可少的。

2.8參考文獻
引用的資料必須指明出處,就是在這兒說明。

#coding=utf-8
#Author:Dodo
#Date:2018-11-15
#Email:lvtengchao@pku.edu.cn
'''
數據集:Mnist
訓練集數量:60000
測試集數量:10000
------------------------------
運行結果:
正確率:81.72%(二分類)
運行時長:78.6s
'''
import numpy as np
import time
def loadData(fileName):'''加載Mnist數據集:param fileName:要加載的數據集路徑:return: list形式的數據集及標記'''print('start to read data')# 存放數據及標記的listdataArr = []; labelArr = []# 打開文件fr = open(fileName, 'r')# 將文件按行讀取for line in fr.readlines():# 對每一行數據按切割福','進行切割,返回字段列表curLine = line.strip().split(',')# Mnsit有0-9是個標記,由于是二分類任務,所以將>=5的作為1,<5為-1if int(curLine[0]) >= 5:labelArr.append(1)else:labelArr.append(-1)#存放標記#[int(num) for num in curLine[1:]] -> 遍歷每一行中除了以第一哥元素(標記)外將所有元素轉換成int類型#[int(num)/255 for num in curLine[1:]] -> 將所有數據除255歸一化(非必須步驟,可以不歸一化)dataArr.append([int(num)/255 for num in curLine[1:]])#返回data和labelreturn dataArr, labelArr
def perceptron(dataArr, labelArr, iter=50):'''感知器訓練過程:param dataArr:訓練集的數據 (list):param labelArr: 訓練集的標簽(list):param iter: 迭代次數,默認50:return: 訓練好的w和b'''print('start to trans')#將數據轉換成矩陣形式(在機器學習中因為通常都是向量的運算,轉換稱矩陣形式方便運算)#轉換后的數據中每一個樣本的向量都是橫向的dataMat = np.mat(dataArr)#將標簽轉換成矩陣,之后轉置(.T為轉置)。#轉置是因為在運算中需要單獨取label中的某一個元素,如果是1xN的矩陣的話,無法用label[i]的方式讀取#對于只有1xN的label可以不轉換成矩陣,直接label[i]即可,這里轉換是為了格式上的統一labelMat = np.mat(labelArr).T#獲取數據矩陣的大小,為m*nm, n = np.shape(dataMat)#創建初始權重w,初始值全為0。#np.shape(dataMat)的返回值為m,n -> np.shape(dataMat)[1])的值即為n,與#樣本長度保持一致w = np.zeros((1, np.shape(dataMat)[1]))#初始化偏置b為0b = 0#初始化步長,也就是梯度下降過程中的n,控制梯度下降速率h = 0.0001#進行iter次迭代計算for k in range(iter):#對于每一個樣本進行梯度下降#李航書中在2.3.1開頭部分使用的梯度下降,是全部樣本都算一遍以后,統一#進行一次梯度下降#在2.3.1的后半部分可以看到(例如公式2.6 2.7),求和符號沒有了,此時用#的是隨機梯度下降,即計算一個樣本就針對該樣本進行一次梯度下降。#兩者的差異各有千秋,但較為常用的是隨機梯度下降。for i in range(m):#獲取當前樣本的向量xi = dataMat[i]#獲取當前樣本所對應的標簽yi = labelMat[i]#判斷是否是誤分類樣本#誤分類樣本特診為: -yi(w*xi+b)>=0,詳細可參考書中2.2.2小節#在書的公式中寫的是>0,實際上如果=0,說明改點在超平面上,也是不正確的if -1 * yi * (w * xi.T + b) >= 0:#對于誤分類樣本,進行梯度下降,更新w和bw = w + h *  yi * xib = b + h * yi#打印訓練進度print('Round %d:%d training' % (k, iter))#返回訓練完的w、breturn w, b
def test(dataArr, labelArr, w, b):'''測試準確率:param dataArr:測試集:param labelArr: 測試集標簽:param w: 訓練獲得的權重w:param b: 訓練獲得的偏置b:return: 正確率'''print('start to test')#將數據集轉換為矩陣形式方便運算dataMat = np.mat(dataArr)#將label轉換為矩陣并轉置,詳細信息參考上文perceptron中#對于這部分的解說labelMat = np.mat(labelArr).T#獲取測試數據集矩陣的大小m, n = np.shape(dataMat)#錯誤樣本數計數errorCnt = 0#遍歷所有測試樣本for i in range(m):#獲得單個樣本向量xi = dataMat[i]#獲得該樣本標記yi = labelMat[i]#獲得運算結果result = -1 * yi * (w * xi.T + b)#如果-yi(w*xi+b)>=0,說明該樣本被誤分類,錯誤樣本數加一if result >= 0: errorCnt += 1#正確率 = 1 - (樣本分類錯誤數 / 樣本總數)accruRate = 1 - (errorCnt / m)#返回正確率return accruRate
if __name__ == '__main__':#獲取當前時間#在文末同樣獲取當前時間,兩時間差即為程序運行時間start = time.time()#獲取訓練集及標簽trainData, trainLabel = loadData('../Mnist/mnist_train.csv')#獲取測試集及標簽testData, testLabel = loadData('../Mnist/mnist_test.csv')#訓練獲得權重w, b = perceptron(trainData, trainLabel, iter = 30)#進行測試,獲得正確率accruRate = test(testData, testLabel, w, b)#獲取當前時間,作為結束時間end = time.time()#顯示正確率print('accuracy rate is:', accruRate)#顯示用時時長print('time span:', end - start)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161400.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161400.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161400.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

idea修改行號顏色

前言 i當idea用了深色主題后&#xff0c;發現行號根本看不清&#xff0c;或者很模糊 例如下面這樣 修改行號顏色 在IntelliJ IDEA中&#xff0c;你可以根據自己的喜好和需求定制行號的顏色。下面是修改行號顏色的步驟&#xff1a; 打開 IntelliJ IDEA。 轉到 “File”&…

ChatGPT規模化服務的經驗與教訓

2022年11月30日&#xff0c;OpenAI發布ChatGPT&#xff0c;以很多人未曾預料的速度迅速走紅。與此同時&#xff0c;由于短時間內用戶量的暴漲&#xff0c;導致服務器過載&#xff0c;迫使OpenAI停止新用戶的注冊。 ChatGPT發布這一年&#xff0c;同樣的情景發生了好幾次。在最近…

opencv-圖像金字塔

圖像金字塔是一種圖像處理技術&#xff0c;它通過不斷降低圖像的分辨率&#xff0c;形成一系列圖像。金字塔分為兩種類型&#xff1a;高斯金字塔和拉普拉斯金字塔。 高斯金字塔&#xff08;Gaussian Pyramid&#xff09;&#xff1a; 高斯金字塔是通過使用高斯濾波和降采樣&a…

專業遠程控制如何塑造安全體系?向日葵“全流程安全閉環”解析

安全是遠程控制的重中之重&#xff0c;作為國民級遠程控制品牌&#xff0c;向日葵遠程控制就極為注重安全遠控服務的塑造。近期向日葵發布了以安全和核心的新版“向日葵15”以及同步發布《貝銳向日葵遠控安全標準白皮書》&#xff08;下簡稱《白皮書》&#xff09;&#xff0c;…

使用微信小程序openMapApp接口,報錯問題解決openMapApp:fail invaild coord

使用微信小程序的 openMapApp 接口時遇到了坐標無效的錯誤 (openMapApp:fail invalid coord)。這個錯誤通常是由于提供的地理坐標不符合預期的格式或范圍而引起的&#xff1a; 坐標格式&#xff1a; 確保提供的坐標符合正確的格式。常見的格式是 "緯度,經度"&#xf…

【11月比賽合集】5場可報名的「創新應用」、「數據分析」和「程序設計」大獎賽,任君挑選!

CompHub[1] 實時聚合多平臺的數據類(Kaggle、天池…)和OJ類(Leetcode、牛客…&#xff09;比賽。本賬號會推送最新的比賽消息&#xff0c;歡迎關注&#xff01; 以下信息僅供參考&#xff0c;以比賽官網為準 目錄 創新應用賽&#xff08;1場比賽&#xff09;數據分析賽&#…

逸學java【初級菜鳥篇】9.3 Stream流

hi&#xff0c;我是逸塵&#xff0c;一起學java吧 得益于Lambda所帶來的函數式編程&#xff0c;引入了一個全新的Stream流概念&#xff08;就是都基本使用lambda的形式&#xff09;。 流處理 我們首先理解什么是流處理&#xff0c;它類似于sql語句&#xff0c;可以執行非常復…

【開源】基于Vue和SpringBoot的智能教學資源庫系統

項目編號&#xff1a; S 050 &#xff0c;文末獲取源碼。 \color{red}{項目編號&#xff1a;S050&#xff0c;文末獲取源碼。} 項目編號&#xff1a;S050&#xff0c;文末獲取源碼。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 數據中心模塊2.2 課程檔案模塊2.3 課…

原理Redis-SkipList

SkipList ZipList和QuickList的共同特點是節省內存。在遍歷元素時&#xff0c;只能從頭到尾或從尾到頭&#xff0c;所以在查找頭尾元素性能還是不錯的&#xff0c;但是中間元素查詢的性能就會差。 **SkipList&#xff08;跳表&#xff09;**首先是鏈表&#xff0c;但與傳統鏈表…

【算法】鏈表-20231123

這里寫目錄標題 一、19. 刪除鏈表的倒數第 N 個結點二、21. 合并兩個有序鏈表三、24. 兩兩交換鏈表中的節點 一、19. 刪除鏈表的倒數第 N 個結點 提示 中等 給你一個鏈表&#xff0c;刪除鏈表的倒數第 n 個結點&#xff0c;并且返回鏈表的頭結點。 輸入&#xff1a;head [1,…

第十二章 : Spring Boot 日志框架詳解

第十二章 : Spring Boot 日志框架詳解 前言 本章知識重點:介紹了日志誕生背景,4種日志框架:Logback、Log4j、Log4j2和Slf4j的優劣勢分析,以及重點介紹了log4j2的應用示例以及配置,以及日志框架應用中遇到常見的問題以及如何處理。 背景 Java日志框架的發展歷程可以追…

在PyCharm中正確設置Python項目

大家好&#xff0c;在Mac和Linux都支持Python&#xff0c;但許多開發者發現正確設置Python項目很困難。本文匯總了多平臺中運行Python的方法&#xff0c;提高編程的效率&#xff0c;如下所示&#xff1a; 使用命令行運行Python。 在PyCharm&#xff08;免費社區版&#xff09;…

【技巧】PDF文件如何編輯?

日常辦公中我們經常會用到PDF文件&#xff0c;PDF具備很好的兼容性、穩定性及安全性&#xff0c;但卻不容易編輯&#xff0c;那PDF要如何編輯呢&#xff1f; 如果打開PDF文件就只是只讀的性質&#xff0c;說明文件是在線打開&#xff0c;或者通過PDF閱讀器打開的&#xff0c;這…

Navmesh 尋路

用cocos2dx引擎簡單實現了一下navmesh的多邊形劃分&#xff0c;然后基于劃分多邊形的a*尋路。以及路徑拐點優化算法 用cocos主要是方便使用一些渲染接口和定時器。重點是實現的原理。 首先畫了一個帶有孔洞的多邊形 //多邊形的頂點數據Vec2(100, 100),Vec2(300, 200),Vec2(50…

高防服務器的工作原理

在當今互聯網時代&#xff0c;網絡安全問題日益突出&#xff0c;各種網絡攻擊層出不窮。為了保護企業的網絡安全&#xff0c;高防服務器應運而生。那么&#xff0c;你是否了解高防服務器的工作原理呢&#xff1f;下面就讓我們一起來探索一下。 高防服務器是一種能夠有效抵御各種…

語音識別入門——常用軟件及python運用

工具以及使用到的庫 ffmpegsoxaudacitypydubscipylibrosapyAudioAnalysisplotly 本文分為兩個部分&#xff1a; P1&#xff1a;如何使用ffmpeg和sox處理音頻文件 P2&#xff1a;如何編程處理音頻文件并執行基本處理 P1 處理語音數據——命令行方式 格式轉換 ffmpeg -i video…

shell 腳本循環語句

目錄 循環 echo 命令 for 循環次數 for 第二種格式 命令舉例 while 腳本舉例 雙重循環及跳出循環 腳本舉例 更改文件和目錄的后綴名的腳本 畫三角形的腳本 乘法口訣表的腳本 面試例題 補充命令 let 命令 循環 —— 一定要有跳出循環的條件 已知循環的次數 未知…

英語六級范文模板

目錄 現象解釋 觀點選擇 問題解決 六級只考議論文&#xff0c;我們將從現象解釋&#xff0c;觀點選擇&#xff0c;問題解決三個角度給出范文&#xff1a; 多次使用的句子&#xff0c;就可以作為模板記下來~~ 現象解釋 In the contemporary world, the ability to meet cha…

SQLite3

數據庫簡介 常用的數據庫 大型數據庫&#xff1a;Oracle 中型數據庫&#xff1a;Server 是微軟開發的數據庫產品&#xff0c;主要支持 windows 平臺。 小型數據庫&#xff1a;mySQL 是一個小型關系型數據庫管理系統&#xff0c;開放源碼 。(嵌入式不需要存儲太多數據。) SQL…

點云從入門到精通技術詳解100篇-基于點云數據的機器人裝焊 過程在線測量(下)

目錄 裝焊過程在線測量技術研究 4.1 測量參數介紹 4.1.1 筋板定位測量參數