MATLAB在经济与管理研究中的应用 理论与实例 Xi Chen ibs.bfsu.edu.cn/chenxi Department of Management Science and Engineering International Business School Beijing Foreign Studies University 4口,4+4立4要,三)及0 Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB在经济与管理研究中的应用 1/139
MATLAB 3²LÜ+nÔƒ•A^ nÿÜ¢~ Xi Chen ibs.bfsu.edu.cn/chenxi Department of Management Science and Engineering International Business School Beijing Foreign Studies University Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 1 / 139
背景要求 。高等数学、线性代数、概率论; g运筹学、统计学; O了解C语言或类C语言的基本编程结构。 面向对象 。一年级研究生; ©三年级本科生。 目标:能够利用MATLAB中提供的各种基本功能和高级工具箱分析经 济与管理学中的研究问题。 4口卡4日+4三4至卡三Q0 Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB在经济与管理研究中的应用 2/139
µá¶ 1 pÍÆ!Ç5ìÍ!V«ÿ¶ 2 $ Æ!⁄Oƶ 3 ) C äÛ½a C äÛƒ?ß(" °ïÈñ 1 òc?Ôƒ)¶ 2 nc?â)" 8IµU |^ MATLAB •J¯à´ƒıU⁄p?ۉᩤ² LÜ+nÆ•ÔƒØK" Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 2 / 139
MATLAB 基础 MATLAB基础 矩阵与数组运算 常用数学函数 符号运算 MATLAB编程 二维与三维绘图 最优化问题求解 线性规划 整数规划 二次规划 Xi Chen (chenxi0109bfsu.edu.cn) MATLAB在经济与管理研究中的应用 3/139
MATLAB ƒ: 1 MATLAB ƒ: › ÜÍ|$é ~^ÍÆºÍ Œ“$é MATLAB ?ß ëÜn뱄 2 Å`zØK¶) Ç55y Í5y g5y Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 3 / 139
MATLAB基瑞矩阵与数组运算 MATLAB基础 ·矩阵与数组运算 。常用数学函数 。符号运算 。MATLAB编程 。二维与三维绘图 ②最优化问题求解 。 线性规划 0 整数规划 。二次规划 4口,4辱+4之,至,三Q0 灯Chem【chenxi0I09@bfsu.edu:MATLAB在经济与管理研究中的应用 4/139
MATLAB ƒ: › ÜÍ|$é 1 MATLAB ƒ: › ÜÍ|$é ~^ÍÆºÍ Œ“$é MATLAB ?ß ëÜn뱄 2 Å`zØK¶) Ç55y Í5y g5y Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 4 / 139
MATLAB基■矩阵与数组运算 矩阵与数组运算 矩阵输入 4 在MATLAB命令窗口中,输入 A=[1,2,3:4,5,6;7,8,9] 按下Enter键显示结果。 矩阵A也可以进入MATLAB编辑器中输入以下程序代码实现 fori=1:1:3 forj=1:1:3 A(i,j)=(i-1)*3+j; end end 4口,4+4立4要,三)及0 Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB在经济与管理研究中的应用 5/139
MATLAB ƒ: › ÜÍ|$é › ÜÍ|$é › —\ A = 1 2 3 4 5 6 7 8 9 3 MATLAB ·-Iù•ß—\ A = [1, 2, 3; 4, 5, 6; 7, 8, 9] Ue Enter Öw´(J" › A èå±?\ MATLAB ?6Ï•—\±eßSìË¢y for i=1:1:3 for j=1:1:3 A(i,j)=(i-1)*3+j; end end Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 5 / 139
MATLAB基瑞矩阵与数组运黄 矩阵元素 在MATLAB命令窗口中,依次输入下列命令 >>x=[-1.3,sqrt(3),(1+2+3)*4/5] >>x(5)=abs(x(1)) >x(4)=abs(x(2)) 若 123 A- 4 56 789 在MATLAB命令窗口中,依次输入下列命令 >B=[A;[10,11,12] >C=A(1:2,:) >D=A(1:2,1:2) >E=A([1,3],[1,3]) 4口,4+4立4要,三)及0 XⅪChem【chenxi0I09@bfsu.edu:cn)MATLAB在经济与管理研究中的应用 6/139
MATLAB ƒ: › ÜÍ|$é › É 3 MATLAB ·-Iù•ßùg—\e·- >> x=[-1.3,sqrt(3),(1+2+3)*4/5] >> x(5)=abs(x(1)) >> x(4)=abs(x(2)) e A = 1 2 3 4 5 6 7 8 9 3 MATLAB ·-Iù•ßùg—\e·- >> B=[A;[10,11,12]] >> C=A(1:2,:) >> D=A(1:2,1:2) >> E=A([1,3],[1,3]) Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 6 / 139
MATLAB基藏矩阵与数组运黄 矩阵运算 ·若A=[1,2,3;4,5,6;7,8,9],观察B=A',C=A+B的结果; 。若x=[「-1,0,2],观察y=x-1的结果; ●若A=[1,2,3;4,5,6:7,8,9],观察pi*A,A*pi的结果; 。若X=[-1,0,2],Y=[-2,-1,1,观察X*Y",X'*Y的结果; 。求解非齐次线性方程组 2X1 2 5x3 十X4= 8 3X2 6X4 9 2X2 +2X4 -5 X1 42-7x3 +6X4 0 根据题意在MATLAB命令窗口中建立起系数矩阵A和右端列向 量b,观察det(A),Ab,inv(A)*b,b/A,b*inv(A)的结果。 )Q0 Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB在经济与管理研究中的应用 7/139
MATLAB ƒ: › ÜÍ|$é › $é e A = [1, 2, 3; 4, 5, 6; 7, 8, 9]ß* B = A 0 , C = A + B (J¶ e x = [−1, 0, 2]ß* y = x − 1 (J¶ e A = [1, 2, 3; 4, 5, 6; 7, 8, 9]ß* pi ∗ A, A ∗ pi (J¶ e X = [−1, 0, 2], Y = [−2, −1, 1]ß* X ∗ Y 0 , X 0 ∗ Y (J¶ ¶)ö‡gÇ5êß| 2x1 + x2 − 5x3 + x4 = 8 x1 − 3x2 − 6x4 = 9 2x2 − x3 + 2x4 = −5 x1 + 4x2 − 7x3 + 6x4 = 0 ä‚Kø3 MATLAB ·-Iù•Ô·ÂXÍ› A ⁄m‡ï ˛ bß* det(A), A\b, inv(A) ∗ b, b/A, b ∗ inv(A) (J" Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 7 / 139
MATLAB基瑞矩阵与数组运算 Example 1 2X1- 42+5x9 =-4 4x 1-2x2+ 3X3= 4 2x+ 6x2 8x9=0 依次运行:rank(A),rank([A,b]),null(A),pinv(A)*b Example 2 利用零空间(nullspace,AX=0)证明若A列满秩,则ATA可逆。并求解: 依次运行:rank(A),rank([A,b]),Ab,inv(A'*A)*A'*b,pinv(A)*b Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB在经济与管理研究中的应用 8/139
MATLAB ƒ: › ÜÍ|$é Example 1 2x1 − 4x2 + 5x3 = −4 −4x1 − 2x2 + 3x3 = 4 2x1 + 6x2 − 8x3 = 0 ùg$1µrank(A), rank([A,b]), null(A), pinv(A)*b Example 2 |^"òm(nullspace, AX = 0)y²eA˜ùßKA T Aå_"ø¶)µ A = 1 0 1 2 −1 1 −2 3 −2 0 1 5 b = 1 0 1 6 ùg$1µrank(A), rank([A,b]), A\b, inv(A’*A)*A’*b, pinv(A)*b Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 8 / 139
MATLAB基瑞矩阵与数组运算 数组运算 。加减运算; 。若×=[1,2,3],y=[4,5,6],观察x.*y,x.y,x./y的结果; 。若×=[1,2,3引,y=[4,5,6],观察x.^y,×.^2,2.^×的结果。 向量与下标 。观察x=1:1:5,x=6:-1:1的结果; 。作图观察y=limx→o sin x/x的极限值 >x=p1/2:-0.00001:0.00001 >y=sin(x)./x >>p1ot(x,y,'o') 0若A=[1,2,3;4,5,6:7,8,9], ①观察A(1:3,3),A(1:2,2:3),A(:,2)的结果; g观察A([1,3引,[1,3]),A([1,3引,:)的结果; O利用初等行变换将A简化为阶梯形,并与rref(A)函数结果比较。 X灯Chen【chenxi0I09@bfsu.edu:MATLAB在经济与管理研究中的应用 9/139
MATLAB ƒ: › ÜÍ|$é Í|$é \~$é¶ e x = [1, 2, 3], y = [4, 5, 6]ß* x. ∗ y, x.\y, x./y (J¶ e x = [1, 2, 3], y = [4, 5, 6]ß* x.ˆy, x.ˆ2, 2.ˆx (J" ï˛ÜeI * x = 1 : 1 : 5, x = 6 : −1 : 1 (J¶ ä„* y = limx→0 sin x/x 4Åä >> x=pi/2:-0.00001:0.00001 >> y=sin(x)./x >> plot(x,y,’o’) e A = [1, 2, 3; 4, 5, 6; 7, 8, 9]ß 1 * A(1 : 3, 3), A(1 : 2, 2 : 3), A(:, 2) (J¶ 2 * A([1, 3], [1, 3]), A([1, 3], :) (J¶ 3 |^–1CÜÚ A {zèF/ßøÜ rref (A) ºÍ(J'" Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 9 / 139
MATLAB基瑞矩阵与数组运算 语句与变量 。注意大小写区分,“:”和“”的作用; 。eps,pi,i,inf,nan均为系统保留变量; 。关系运算中标量与标量,标量与矩阵,矩阵与矩阵的表达式; 若A=[1,2,3;2,3,4],B=[1,2,2;2,2,3],观 察x=(1<2),C=(A<=B),C=(A<=1)的结果; ·逻辑运算中标量与标量,标量与矩阵,矩阵与矩阵的表达式; 若A=[0,2,3:0,2,0,B=[0,0,0:2,3,4],观察A&B,AB,A的 结果; ●常用命令:format,help,quit,save,save filename,save filename x y z,clear,clc,who,whos,↑;试计算 1=(+2)为=2V1+V+1+ Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB在经济与管理研究中的应用 10/139
MATLAB ƒ: › ÜÍ|$é äÈÜC˛ 5øå´©ß“;”⁄“...”ä^¶ eps, pi, i, inf , nan ˛èX⁄3C˛¶ 'X$é•I˛ÜI˛ßI˛Ü› ß› Ü› Là™¶ e A = [1, 2, 3; 2, 3, 4], B = [1, 2, 2; 2, 2, 3]ß* x = (1 < 2), C = (A <= B), C = (A <= 1) (J¶ ‹6$é•I˛ÜI˛ßI˛Ü› ß› Ü› Là™¶ e A = [0, 2, 3; 0, 2, 0], B = [0, 0, 0; 2, 3, 4]ß* A&B, A|B, ˜A (J¶ ~^·-µformat, help, quit, save, save filename, save filename x y z, clear, clc, who, whos, ↑¶£Oé xn+1 = 1 2 xn + 2 xn , x1 = 2, r 1 + q 1 + √ 1 + . . . Xi Chen (chenxi0109@bfsu.edu.cn) MATLAB 3²LÜ+nÔƒ•A^ 10 / 139