




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.建立符号变量和符号常量MATLAB提供了两个建立符号对象的函数:sym和syms,两个函数的用法不同.sym函数sym函数用来建立单个符号量,一般调用格式为:符号量名=sym('符号字符串')该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式.应用sym函数还可以定义符号常量,使用符号常量进行代数运算时和数值常量进行的运算不同.下面的命令用于比拟符号常量与数值常量在代数运算时的差异.syms函数函数sym一次只能定义一个符号变量,使用不方便.MATLAB提供了另一个函数syms,一次可以定义多个符号变量.syms函数的一般调用格式为:syms符号变量名1符号
2、变量名2符号变量名n用这种格式定义符号变量时不要在变量名上加字符串分界符(;)变量间用空格而不要用逗号分隔.32矩阵A=42-7831一16,矩阵B=21 12 2;分别求出AxB及A与B中对应元素之3 3间的乘积的程序语句答案:A=323;426;781;B=111;222;333;>>A*B,A.*Bans=161616262626262626ans=323841221243方阵的行列式:det(A)方阵的逆:inv(A)方阵的特征值与特征向量:V,D=eigA例绘制y=x3的函数图、对数坐标图、半对数坐标图x=1:1:100;subplot(2,3,1);plot(x,x.A
3、3);gridon;title'plot-y=xA3'subplot(2,3,2);loglog(x,x.A3);gridon;title'loglog-logy=3logx'subplot(2,3,3);plotyy(x,x.A3,x,x);gridon;title'plotyy-y=xA3,logy=3logx'subplot(2,3,4);semilogx(x,x.A3);gridon;title'semilogx-y=3logx'subplot(2,3,5);semilogy(x,x.A3);gridon;title
4、9;semilogy-logy=xA3'在数据处理和分析应用的其他函数名称含义名称含义min最小值max最大值Mean平均值median中位数std标准差diff相邻元素的差sort排序length个数norm欧氏(Euclidean)长度sum总和prod总乘积dot内积cumsum累计元素总和cumprod累计元素总乘积cross外积叉积下面是矩阵操作的一些例子:>>a=1,4,6,8,10%一维矩阵>>a(3)%a的第三个元素ans=6?x=123456784567891011;%二维2x8矩阵?x(3)%x的第三个元素ans=2?x(125)%x的第一、
5、二、五个元素ans=143>>x(2,3)%x的第二行第三列的元素ans=6x(1:5)%x的第前五个元素ans=14253?x(10:end)%x的第十个元素后的元素ans=869710811?x(10:-1:2)%x的第十个元素和第二个元素的倒排ans=857463524?x(find(x>5)%x中大于5的元素ans=67869710811?x(4)=100%给x的第四个元素重新给值x=12345678410067891011?x(3)=%删除第三个元素(不是二维数组)x=Columns1through1214100364758697Columns13through15
6、10811?x(16)=1%参加第十六个元素x=Columns1through1214100364758697Columns13through16108111当元素很多的时候,那么须采用以下的方式:?x=(1:2.5:120);%以:起始值=1,增量值=2,终止值二120的矩阵例建立矩阵A,然后找出大于4的元素的位置.(1)建立矢I阵A.A=4,-65,-54,0,6;56,0,67,-45,0(2)找出大于4的元素的位置.find(A>4)例3-1分别建立命令文件和函数文件,将华氏温度f转换为摄氏温度Co程序1:首先建立命令文件并以文件名f2c.m存盘.clear;%去除工作空间中的变
7、量f=input('InputFahrenheittemperature:');c=5*(f-32)/9然后在MATLAB的命令窗口中输入f2c,将会执行该命令文件,执行情况为:InputFahrenheittemperature:7322.7778例3-2输入x,y的值,并将它们的值互换后输出.程序如下:x=input('Inputxplease.');y=input('Inputyplease.');z=x;x=y;y=z;disp(x);disp(y);例3-3求一元二次方程ax2+bx+c=0的根.程序如下:a=input('a=
8、?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a);disp('x1=',num2str(x(1),',x2=',num2str(x(2);例3-4计算分段函数的值.程序如下:x=input('请输入x的值:');ifx<=0y=(x+sqrt(pi)/exp(2);elsey=log(x+sqrt(1+x*x)/2;end(商品价格用price来表示):例3-6某商场对顾客所购置的商品
9、实行打折销售,标准如下price<200没有折扣200<price<5003%折扣500<price<10005%折扣1000<price<25008%折扣2500<price<500010%折扣5000<price14%折扣输入所售商品的价格,求其实际销售价格.price=input(,请输入商品价格switchfix(price/100)case0,1rate=0;case2,3,4rate=3/100;casenum2cell(5:9)rate=5/100;casenum2cell(10:24)rate=8/100;casenu
10、m2cell(25:49)rate=10/100;otherwiserate=14/100;endprice=price*(1-rate)');%价格小于200%价格大于等于%价格大于等于%价格大于等于%价格大于等于%价格大于等于200但小于500500但小于10001000但小于25002500但小于50005000%输出商品实际销售价格3.try语句语句格式为:try语句组1catch语句组2endtry语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,那么将错误信息赋给保存的lasterr变量,并转去执行语句组2.例3-7矩阵乘法运算要求两矩阵的维数相容,否那么会出错.
11、先求两矩阵的乘积,假设出错,那么自动转去求两矩阵的点乘.程序如下:A=1,2,3;4,5,6;B=7,8,9;10,11,12;tryC=A*B;catchC=A.*B;endlasterr%显示出错原因例5-6在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4兀x)和y2=2e-0.5xcos(兀x),标记两曲线交叉点.程序如下:x=linspace(0,2*pi,1000);y1=0.2*exp(-0.5*x).*cos(4*pi*x);y2=2*exp(-0.5*x).*cos(pi*x);k=find(abs(y1-y2)<1e-2);%查找y1与y2相
12、等点(近似相等)的下标x1=x(k);%取y1与y2相等点的x坐标y3=0.2*exp(-0.5*x1).*cos(4*pi*x1);%求y1与y2值相等点的y坐标plot(x,y1,x,y2,'k:',x1,y3,'bp');MATLAB提供的统计分析绘图函数还有很多,例如,用来表示各元素占总和的百分比的饼图、复数的相量图等等.例5-14绘制图形:(1)某企业全年各季度的产值(单位:万元)分别为:2347,1827,2043,3025,试用饼图作统计分析.pie(2347,1827,2043,3025);title('饼图');legend(&
13、#39;一季度,二季度,三季度,'四季度');M文件MATLAB的内部函数是有限的,有时为了研究某一个函数的各种性态,需要为MATLAB定义新函数,为此必须编写函数文件.函数文件是文件名后缀为M的文件,这类文件的第一行必须是一特殊字符function开始,格式为:function因变量名=函数名(自变量名)函数值的获得必须通过具体的运算实现,并赋给因变量M文件建立方法:1.在Matlab中,点:File->New->M-file2 .在编辑窗口中输入程序内容3 .点:File->Save,存盘,M文件名必须与函数名一致.例:定义函数f(x1,x2)=100(x
14、2-x12)2+(1-x1)21 .建立M文件:fun.mfunctionf=fun(x)f=100*(x(2)-x(1)A2)A2+(1-x(1)A22 .可以直接使用函数fun.m例如:计算f(1,2),只需在Matlab命令窗口键入命令:x=12fun(x)例3-4计算分段函数的值.程序如下:x=input('请输入x的值:');ifx<=0y=(x+sqrt(pi)/exp(2);elsey=log(x+sqrt(1+x*x)/2;endY22【例】采用模型4+y2=1画一组椭圆.a25-at=0:pi/50:2*pia=0.5:.5:4,5;X=cos(t)*a
15、;丫=sin(t)*sqrt(25-a.A2);plot(X,Y),axis('equal'),xlabel('x'),ylabel('y')title('AsetofEllipses')例5-3分析以下程序绘制的曲线.x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=x1;x2;x3'y=y1;y2;y3'plot(x,y,x1,y1-1)一、
16、问题提出市场上有n种资产si(i=1,2n)可以选择,现用数额为M的相当大的资金作一个时期的投资.这n种资产在这一时期内购置sj的平均收益率为,风险损失率为qi,投资越分散,总的风险越小,总体风险可用投资的Si中最大的一个风险来度量.购置Sj时要付交易费,(费率pi),当购置额不超过给定值u时,交易费按购置ui计算.另外,假定同期银行存款利率是°,既无交易费又无风险.(0=5%)n=4时相关数据如下:(%/%Si128q2.5一p1,IIX/u/u103S2211.52198S3235.54.552S4252.66.540试给该公司设计一种投资组合方案,即用给定到达资金M,有选择地购
17、置假设干种资产或存银行生息,使净收益尽可能大,使总体风险尽可能小.根本假设:1 .投资数额M相当大,为了便于计算,假设M=1;2 .投资越分散,总的风险越小;3 .总体风险用投资工程§中最大的一个风险来度量;4 .n种资产Si之间是相互独立的;5 .在投资的这一时期内,ri,pi,qi,ro为定值,不受意外因素影响;6 .净收益和总体风险只受ri,pi,qi影响,不受其他因素干扰.符号规定:S第i种投资工程,如股票,债券ri,pi,qi-分别为S的平均收益率,交易费率,风险损失率ui-si的交易定额r0-同期银行利率Xi-投资工程S的资金a-投资风险度Q-总体收益AQ-总体收益的增量
18、7 .购置Si所付交易费是一个分段函数,即ppiXiXi>Ui交易费=1piUiXiWUi而题目所给定的定值U(单位:元)相对总投资M很小,pu更小,可以忽略不计,这样贝买Si的净收益为(ri-pi)xi8 .要使净收益尽可能大,总体风险尽可能小,这是一个多目标规划模型:n目标函数|MAX工(n-pi)1 :0MINmaxqiXin约束条件'、(1p)X=MXi>0i=0,1,na.在实际投资中,投资者承受风险的程度不一样,假设给定风险一个界限a,使最大的一个风险qiXi/MWa,可找到相应的投资方案.这样把多目标规划变成一个目标的线性规划.模型1固定风险水平,优化收益n1
19、目标函数:Q=MAX(ri-pi)xii4约束条件:世iwa.MZ(1+Pi)Xi=M,Xi>0i=0,1,nb.假设投资者希望总盈利至少到达水平k以上,在风险最小的情况下寻找相应的投资组合.模型2固定盈利水平,极小化风险目标函数:R=minmaxqiXin约束条件:(ri-Pi)Xi>k,一Tz(1+pi)Xi=M,Xi>0i=0,1,-nc.投资者在权衡资产风险和预期收益两方面时,希望选择一个令自己满意的投资组合.因此对风险、收益赋予权重s(0<s<1),s称为投资偏好系数.n模型3目标函数:minsmaxqiXi-(1-s)£(ri-pi)xii&
20、#163;n约束条件£(1+p)X=M,Xi>0i=0,1,2,ni0模型1为:minf=(-0.05,-0.27,-0.19,-0.185,-0.185)(xoxiX2X3x4)TxX0+1.01X1+1.02X2+1.045X3+1.065X4=1s.t.0.025X1<aI0.015X2<a0.055X3Wa0.026x4<aXi>0(i=0,1,.4)由于a是任意给定的风险度,到底怎样给定没有一个准那么,不同的投资者有不同的风险度.我们从a=0开始,以步长a=0.001进行循环搜索,编制程序如下:a=0;while(1.1-a)>1c=-0
21、.05-0.27-0.19-0.185-0.185;Aeq=11.011.021.0451.065;beq=1;A=00.025000;000.01500;0000.0550;00000.026;b=a;a;a;a;vlb=0,0,0,0,0;vub=;x,val=linprog(c,A,b,Aeq,beq,vlb,vub);ax=x'Q=-valplot(a,Q,'.'),axis(00.100.5),holdona=a+0.001;endxlabel('a'),ylabel('Q')例1-4求解线性方程组.a=2,-3,1;8,3,2;45,1,-9;b=4;2;17;x=inv(a)*b矩阵的逆对于一个方阵A,如果存在一个与其同阶的方阵B,使得:AB=BA=I(I为单位矩阵)那么称B为A的逆矩阵,当然,A也是B的逆矩阵.求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在MATLAB中,求一个矩阵的逆非常容易.求方阵A的逆矩阵可调用函数inv(A).例2-11用求逆矩阵的方法解线性方程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB31/T 894.1-2015再生砂粉应用技术规程第1部分:导则和分类
- DB31/T 630-2012医疗保险社会服务规范
- DB31/T 1376-2022机械式停车设备用电动汽车充电系统技术要求与检验规程
- DB31/T 1341-2021商务办公建筑合理用能指南
- DB31/T 1267-2020车道偏离报警系统技术要求及测试方法
- 房地产开发股东股权转让与项目运营管理合同
- DB31/T 1191-2019绿化土壤肥力质量综合评价方法
- 跨境电商房屋租赁与仓储物流服务合同
- 股权平价转让与产业链上下游企业合作合同
- 股权托管及转让合同模板
- 2022年广东省深圳市中考化学真题试卷
- 工贸企业有限空间作业场所安全管理台账
- 国际财务管理教学ppt课件(完整版)
- DB33∕T 715-2018 公路泡沫沥青冷再生路面设计与施工技术规范
- 彩色简约鱼骨图PPT图表模板
- 光引发剂的性能与应用
- PID控制经典PPT
- 图像处理和分析(上册)课后习题答案(章毓晋)
- 油田注入水细菌分析方法+绝迹稀释法
- 医师处方权申请
- 简易充电器课程设计
评论
0/150
提交评论