《數學建模》實驗指導書02matlab程式設計

2021-03-04 08:27:12 字數 1797 閱讀 1353

《數學建模》實驗指導書(3+1)

實驗二:matlab程式設計

學時:2學時

實驗目的:熟悉matlab程式設計,掌握用matlab進行函式定義和呼叫,掌握用matlab進行最小二乘擬合函式的方法。

實驗內容:

1. f(x)的定義如下:

寫乙個函式檔案f(x)實現該函式,要求引數x可以是向量, 並計算x=1,2,3,..10的函式值。

● 函式如下定義:

function 返回值=函式名(自變數名)

檔名.m必須和函式名一樣,如果不一樣,函式以檔名為主。

因此在matlab中定義如上函式過程為:新建乙個m檔案,寫上如下程式:

function y=f(x)

y=x.^2+x-6;

然後儲存該m檔案,(注意,檔名.m必須和函式名一樣,如果不一樣,函式以檔名為主。)

定義完乙個函式,不需要直接執行該m檔案,函式主要的作用是用來呼叫的,可以在命令視窗,或者其他m檔案中呼叫。我們再另外新建乙個m檔案計算x=1,2,3,..10時候的函式值:

clcx=1:10;

y=f(x);

2. 根據美國人口從2023年到2023年間的人口資料(如下表),確定人口指數增長模型(logistic模型)中的待定引數,估計出美國2023年的人口,同時畫出擬合效果的圖形。

美國人口統計資料

● 人口模型:

指數增長模型:

可用最小二乘擬合函式:x = lsqcurvefit(fun,x0,xdata,ydata)

先定義指數增長模型函式:,程式如下:

function f= curvefit_fun(a,t)

f=exp(a(1)*t+a(2));

函式名字不一定叫curvefit_fun,可以隨便起,隨便你喜歡,呼叫的時候需要跟檔名一致。

定義該指數函式後,再新建乙個m檔案執行一下程式:

clc; % 清螢幕

clear; % 清除記憶體變數

% 定義向量(陣列)

x=1790:10:1990;

y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 ...

92 106.5 123.2 131.7 150.7 179.3 204 226.5 251.4];

plot(x,y,'*',x,y); % 畫點,並且畫一直線把各點連起來

a0=[0.001,1]; % 初值

% 最重要的函式,第1個引數是函式名(乙個同名的m檔案定義),第2個引數是初值,第3、4個引數是已知資料點

a=lsqcurvefit('curvefit_fun',a0,x,y);

disp(['a=' num2str(a)]); % 顯示結果

% 畫圖檢驗結果

xi=1790:5:2020;

yi=curvefit_fun(a,xi);

hold on; % 在當前圖形視窗再加圖形

plot(xi,yi);

% **2023年的資料

x1=2010;

y1=curvefit_fun(a,x1)

hold off

對於logistic模型:,需要估計3個引數,和,我們可以根據已有資料x(1790)=3.9,把函式簡單化為:,這樣只需要估計兩個引數。

程式跟指數模型一樣,先定義以上阻滯模型函式:

function f=curvefit_fun2(a,t)

f=a(1)./(1+(a(1)/3.9-1)*exp(-a(2)*(t-1790)));

再新建乙個m檔案,程式設計都一樣,只是裡面函式呼叫名字不一樣而已。

《數學建模》實驗指導書

楚雄師範學院數學系 數學建模 課程實驗指導書 實驗一 matlab函式擬合 學時 2學時 一 實驗目的 1 加強對資料擬合模型的認識 2 提高對資料擬合模型求解演算法的認識 3 進一步熟悉資料擬合模型的求解過程。4 較能熟練應用matlab工具箱去求解常規的資料擬合模型 5 強化演算法的分析和設計能...

《UML及其建模工具》課程實驗指導書

指導書 信管 電商專業使用 合肥工業大學管理學院 二 五年八月 uml及其建模工具 課程實驗是 uml及其建模工具 課程的重要組成部分,旨在通過實踐加深學生對uml基礎理論的理解,促進學生對uml及其建模工具基本操作的掌握,建立對uml的感性認識。uml及其建模工具 是資訊管理與資訊系統和電子商務專...

高等數學實驗指導書

實驗四微分方程 4.1實驗目的 掌握利用mathematica軟體解常微分方程的有關計算方法 通過實驗進一步熟悉常微分方程的一些基本概念。4.2實驗內容 一 可分離變數的微分方程 例1 求微分方程的通解。實驗 輸入 dsolve y x 2x y x y x x 得結果 說明 dsolve eqn,...