2022年数学建模编程-重要知识点.docx

上传人:Q****o 文档编号:26175419 上传时间:2022-07-16 格式:DOCX 页数:24 大小:224.02KB
返回 下载 相关 举报
2022年数学建模编程-重要知识点.docx_第1页
第1页 / 共24页
2022年数学建模编程-重要知识点.docx_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《2022年数学建模编程-重要知识点.docx》由会员分享,可在线阅读,更多相关《2022年数学建模编程-重要知识点.docx(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选学习资料 - - - - - - - - - 学习必备 欢迎下载1建立符号变量和符号常量MATLAB供应了两个建立符号对象的函数:sym 和 syms,两个函数的用法不同;1 sym 函数sym 函数用来建立单个符号量,一般调用格式为:符号量名 =sym符号字符串 该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式;应用 sym 函数仍可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同;下面的命令用于比较符号常量与数值常量在代数运算时的差别;2 syms 函数函数 sym 一次只能定义一个符号变量,使用不便利;MATLAB供应了另一个函数syms,一次可以

2、定义多个符号变量;syms函数的一般调用格式为:syms 符号变量名1 符号变量名2 符号变量名n ,变量间用空格而不要用逗用这种格式定义符号变量时不要在变量名上加字符串分界符号分隔;矩阵A323, 矩阵B111; 分别求出 A x B 及 A 与 B 中对应元素之426222781333间的乘积的程序语句;答案: A=3 2 3;4 2 6;7 8 1;B=1 1 1;2 2 2;3 3 3; A*B,A.*B ans = 16 16 16 26 26 26 26 26 26 ans = 3 2 3 8 4 12 21 24 3 方阵的行列式:det(A)方阵的逆: inv(A)方阵的特点值

3、与特点向量:V ,D=eigA 例 绘制 y=x3 的函数图、对数坐标图、半对数坐标图x=1:1:100; 名师归纳总结 - - - - - - -第 1 页,共 14 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载subplot2,3,1; plotx,x.3; grid on; title plot-y=x3; subplot2,3,2; loglogx,x.3; grid on; title loglog-logy=3logx; subplot2,3,3; plotyyx,x.3,x,x; grid on; title plotyy-y=x3,logy=3logx

4、; subplot2,3,4; semilogxx,x.3; grid on; title semilogx-y=3logx; subplot2,3,5; semilogyx,x.3; grid on; title semilogy-logy=x3; 在数据处理和分析应用的其他函数名称含义名称含义min 最小值max 最大值平均值中位数Mean median 标准差相邻元素的std diff 差名师归纳总结 - - - - - - -第 2 页,共 14 页精选学习资料 - - - - - - - - - sort 排序学习必备欢迎下载个数length norm 欧氏sum 总和(Euclid

5、ean )长度prod 总乘积dot 内积cumsum 累计元素总和cross 外积(叉积)下面是矩阵操作的一些例子:a=1,4,6,8,10 %一维矩阵 a3 % a 的第三个元素 ans = 6 .x =1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11; % 二维 2x8 矩阵 . x3 % x 的第三个元素 ans = cumprod 累计元素总 乘积名师归纳总结 - - - - - - -第 3 页,共 14 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载2 . x1 2 5 % x 的第一、二、五个元素ans = 1 4 3 x2,3 % x

6、 的其次行第三列的元素ans = 6 x1:5 % x 的第前五个元素ans = 1 4 2 5 3 . x10:end % x 的第十个元素后的元素ans = 8 6 9 7 10 8 11 . x10:-1:2 % x 的第十个元素和其次个元素的倒排ans = 8 5 7 4 6 3 5 2 4 . xfindx5 % x 中大于 5 的元素ans = 6 7 8 6 9 7 10 8 11 . x4=100 %给 x 的第四个元素重新给值x = 名师归纳总结 1 2 3 4 5 6 7 8 第 4 页,共 14 页- - - - - - -精选学习资料 - - - - - - - - -

7、 4 100 6 7 学习必备欢迎下载10 11 8 9 . x3= % 删除第三个元素(不是二维数组)x = Columns 1 through 12 1 4 100 3 6 4 7 5 8 6 9 7 Columns 13 through 15 10 8 11 . x16=1 % 加入第十六个元素x = Columns 1 through 12 1 4 100 3 6 4 7 5 8 6 9 7 Columns 13 through 16 10 8 11 1 当元素许多的时候,就须采纳以下的方式:. x=1:2.5:120; % 以:起始值 =1,增量值 =2,终止值 =120 的矩阵例

8、建立矩阵 A,然后找出大于 4 的元素的位置;1 建立矩阵 A;A=4,-65,-54,0,6;56,0,67,-45,0 2 找出大于 4 的元素的位置;findA4 名师归纳总结 - - - - - - -第 5 页,共 14 页精选学习资料 - - - - - - - - - 例 3-1 学习必备欢迎下载c;分别建立命令文件和函数文件,将华氏温度f 转换为摄氏温度程序 1:第一建立命令文件并以文件名 f2c.m 存盘;clear; % 清除工作空间中的变量 f=inputInput Fahrenheit temperature: ; c=5*f-32/9 然后在 MATLAB的命令窗口中

9、输入f2c,将会执行该命令文件,执行情形为:Input Fahrenheit temperature :73 c = 22.7778 例 3-2 输入 x,y 的值,并将它们的值互换后输出;程序如下:x=inputInput x please.; y=inputInput y please.; z=x; x=y; y=z; dispx; dispy; 例 3-3 求一元二次方程ax2 +bx+c=0 的根;程序如下:a=inputa=.; b=inputb=.; c=inputc=.; d=b*b-4*a*c; x=-b+sqrtd/2*a,-b-sqrtd/2*a; dispx1=,num2

10、strx1,x2=,num2strx2; 例 3-4 运算分段函数的值;程序如下:x=input 请输入 x 的值 :; if x=0 y= x+sqrtpi/exp2; else y=logx+sqrt1+x*x/2; end y 名师归纳总结 - - - - - - -第 6 页,共 14 页精选学习资料 - - - - - - - - - 例 3-6 学习必备欢迎下载商品价格用price 来表示 :某商场对顾客所购买的商品实行打折销售,标准如下price200 没有折扣200price500 3% 折扣500price1000 5% 折扣1000price2500 8% 折扣2500pr

11、ice5000 10% 折扣5000price 14% 折扣输入所售商品的价格,求其实际销售价格;price=input 请输入商品价格 ; switch fixprice/100 case 0,1 % 价格小于 200 rate=0; case 2,3,4 % 价格大于等于200 但小于 500 rate=3/100; case num2cell5:9 % 价格大于等于500 但小于 1000 rate=5/100; case num2cell10:24 % 价格大于等于1000 但小于 2500 rate=8/100; case num2cell25:49 % 价格大于等于2500 但小于

12、 5000 rate=10/100; otherwise % 价格大于等于5000 rate=14/100; end price=price*1-rate % 输出商品实际销售价格3try 语句语句格式为:try 语句组 1 catch 语句组 2 end try 语句先摸索性执行语句组 1,假如语句组 1 在执行过程中显现错误,就将错误信息赋给保留的 lasterr 变量,并转去执行语句组 2;例 3-7 矩阵乘法运算要求两矩阵的维数相容,否就会出错;先求两矩阵的乘积,如出错,就自动转去求两矩阵的点乘;程序如下:A=1,2,3;4,5,6; B=7,8,9;10,11,12; try C=A

13、*B; catch 名师归纳总结 - - - - - - -第 7 页,共 14 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载C=A.*B; end C lasterr % 显示出错缘由绘制 曲线y1=0.2e-0.5xcos4 x 和例 5-6 在 同一 坐标 内, 分别 用不 同线 型和颜色y2=2e-0.5xcos x,标记两曲线交叉点;程序如下:x=linspace0,2*pi,1000; y1=0.2*exp-0.5*x.*cos4*pi*x; y2=2*exp-0.5*x.*cospi*x; k=findabsy1-y2New-M-file 2. 在编辑窗

14、口中输入程序内容 3. 点: File-Save,存盘, M 文件名必需 与函数名一样;例:定义函数 fx1,x2=100x2-x122+1-x12 1.建立 M 文件: fun.m function f=funx f=100*x2-x122+1-x12 2. 可以直接使用函数 fun.m 例如:运算 f1,2, 只需在 Matlab 命令窗口键入命令:x=1 2 funx 例 3-4 运算分段函数的值;程序如下:x=input 请输入 x 的值 :; if xui交易费 = piui xiui 而题目所给定的定值 ui单位 :元相对总投资 M 很小 , piui更小 , 可以忽视不计 ,这样

15、购买 Si 的净收益为 r i-p ix i 3要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型: n目标函数MAXr ipix ii0ixi MINmax qn名师归纳总结 约束条件i01p ix=M 第 11 页,共 14 页- - - - - - -精选学习资料 - - - - - - - - - 学习必备 欢迎下载xi0 i=0,1, n a在实际投资中,投资者承担风险的程度不一样,如给定风险一个界限 a,使最大的一个风险 qixi/M a,可找到相应的投资方案;这样把多目标规划变成一个目标的线性规划;模型 1固定风险水平,优化收益ipixiM,xi 0 i=0,1, n

16、n1目标函数: Q=MAXri1a xi约束条件:qix iMpi1b如投资者期望总盈利至少达到水平 模型 2 固定盈利水平,微小化风险k 以上,在风险最小的情形下查找相应的投资组合;目标函数:R= minmax qix i n约束条件:i0rix ipixik,i=0,1, n 1p iM, xi 0 c投资者在权衡资产风险和预期收益两方面时,期望挑选一个令自己中意的投资组合;因此对风险、收益给予权重s(0 s1,s 称为投资偏好系数. n模型 3目标函数: min smaxqix i - (1-s)i0 ripixin约束条件 i i 01p ix=M , x i0 i=0,1,2, n

17、模型 1 为: minf = -0.05, -0.27, -0.19, -0.185, -0.185 x 0x 1 x2x 3 T x 4 x0 + 1.01x 1 + 1.02x 2 +1.045x 3 +1.065x 4 =1 s.t. 0.025x10.015x 20.055x 3a a a 0.026x 4a xi 0 i = 0,1, .4 由于 a 是任意给定的风险度,究竟怎样给定没有一个准就,不同的投资者有不同的 风险度;我们从 a=0 开头,以步长a=0.001 进行循环搜寻,编制程序如下:a=0; while1.1-a1 c=-0.05 -0.27 -0.19 -0.185

18、-0.185; Aeq=1 1.01 1.02 1.045 1.065; beq=1; A=0 0.025 0 0 0;0 0 0.015 0 0;0 0 0 0.055 0;0 0 0 0 0.026; b=a;a;a;a; vlb=0,0,0,0,0;vub=; x,val=linprogc,A,b,Aeq,beq,vlb,vub; 名师归纳总结 - - - - - - -第 12 页,共 14 页精选学习资料 - - - - - - - - - 学习必备 欢迎下载a x=x Q=-val plota,Q,. ,axis0 0.1 0 0.5 ,hold on a=a+0.001; end

19、 xlabela,ylabelQ 例 1-4 求解线性方程组;a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inva*b 矩阵的逆对于一个方阵A,假如存在一个与其同阶的方阵B,使得:A B=B A=I I 为单位矩阵 就称 B 为 A 的逆矩阵,当然,A 也是 B 的逆矩阵;求一个矩阵的逆是一件特别烦琐的工作,简单出错, 但在 MATLAB 中,求一个矩阵的逆非 常简单;求方阵 A 的逆矩阵可调用函数 invA ;例 2-11 用求逆矩阵的方法解线性方程组;Ax=b 其解为:x=A-1b 方阵的行列式 把一个方阵看作一个行列式,并对其按行列式的规章求值,这个值就称为矩

20、阵所对应的行列式的值;在MATLAB中,求方阵A 所对应的行列式的值的函数是detA;1求标准方差 在 MATLAB 中,供应了运算数据序列的标准方差的函数 std;对于向量 X,stdX 返回一 个标准方差; 对于矩阵 A,stdA返回一个行向量,它的各个元素便是矩阵 A 各列或各行的 标准方差; std 函数的一般调用格式为:Y=stdA,flag,dim 其中 dim 取 1 或 2;当 dim=1 时,求各列元素的标准方差;当dim=2 时,就求各行元素的标准方差; flag 取 0 或 1,当 flag=0 时,按 1 所列公式运算标准方差,当 flag=1 时,按 2 所列公式运算

21、标准方差;缺省 flag=0, dim=1;2, 一般的曲线拟合 :p=lsq curvefitFun,p0,xdata,ydata其中 Fun表示函数 Funp,data 的 M函数文件,p0 表示函数的初值lsqcurvefit命令的求解问题形式是名师归纳总结 minpsumFun p ,xdata ydata .2yi,i,12,n,要第 13 页,共 14 页如要求解点 x 处的函数值可用程序f=Funp,x运算例如,已知函数形式yaebxcedx,并且已知数据点xi,确定四个未知参数a,b,c,dy 1y2,yn;使用 curvefit命令,数据输入xdatax1,x2,xn;ydata- - - - - - -精选学习资料 - - - - - - - - - 初值输p 0a0,b 0,c0,d0学习必备欢迎下载bxcedx的 M文件(Funm)如;并且建立函数yae名师归纳总结 定义p 1a,p2b ,p3c ,p4d,就输出pp 1,p2,p3,p4第 14 页,共 14 页- - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁