《數學建模》實驗指導書(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,...