《matlab软件应用与开发》实验指导书

上传人:第*** 文档编号:57496469 上传时间:2018-10-22 格式:PDF 页数:10 大小:285.69KB
返回 下载 相关 举报
《matlab软件应用与开发》实验指导书_第1页
第1页 / 共10页
《matlab软件应用与开发》实验指导书_第2页
第2页 / 共10页
《matlab软件应用与开发》实验指导书_第3页
第3页 / 共10页
《matlab软件应用与开发》实验指导书_第4页
第4页 / 共10页
《matlab软件应用与开发》实验指导书_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《《matlab软件应用与开发》实验指导书》由会员分享,可在线阅读,更多相关《《matlab软件应用与开发》实验指导书(10页珍藏版)》请在金锄头文库上搜索。

1、1MATLAB 软件应用与开发软件应用与开发实验指导书实验指导书实验实验 1 1MATLABMATLAB 操作基础及矩阵运算操作基础及矩阵运算(一)实验目的: (1)熟悉 Matlab 软件操作环境; (2)熟练掌握 ATLAB 软件中关于矩阵运算的各种命令; (二)预备知识: 线性代数中的矩阵运算; 本实验所用 MATLAB 命令 矩阵输入格式:A=a11a12;a21a22;b=初始值:步长:终值 求 A 的转置:A 求 A 加 B:A+B 求 A 减 B:A-B 求 A 乘 B:A*B 求 A 的行列式:det(A) 求 A 的逆:inv(A) 求 A 的秩: rank(A) (三)实验

2、内容与操作结果 1、实验内容 (1)输入矩阵 A,B,b;521572215431352134153524852421A232556463515148355372182414512B27252321b(2)作 C1=A,C2=A+B,C3=A-B,C4=A*B (3)作 D1=|A|,D2=|B| (4)作 E1=R(A),E2=R(B); 2、操作与结果 (1)A=21 24 85 4;2 35 15 34;21 35 31 54;21 72 15 52 A= 2124854 2351534 21353154 21721552 B=12 45 1 24;18 72 53 35;48 1 15

3、 35;46 56 25 23 B = 1245124218725335 4811535 46562523 b=21:2:27 b = 21232527 (2) C1=A,C2=A+B,C3=A-B,C4=A*B C1 = 2122121 24353572 85153115 4345452 C2 = 33698628 201076869 69364689 671284075 C3 = 9-2184-20 -16-37-38-1 -27341619 -2516-1029 C4 = 4948298226684411 2938452929322580 4854652036914056 4660905

4、653624745 (3) D1=det(A),D2=det(B) D1 = 2181568 D2 = -3182276 (4) E1=rank(A),E2=rank(B); E1 = 4 E2 = 4 inv eig trace (四)实验总结 所得及建议。3实验二、MATLAB 程序设计 (一)实验目的: (1)学会用 MATLAB 软件中 M 文件的编写程序; (2)学会运用 MATLAB 软件解决一个实际问题。 (二)预备知识:Matlab 程序设计,线性规划,动态规划。 (三)实验内容与结果: (1)定义函数 f(x1,x2)=100(x2-x12)2+(1-x1)2 并计算 f(1

5、,2). 解答:解答: 建立函数文件:fun.m functionf=fun(x) f=100*(x(2)-x(1)2)2+(1-x(1)2; 建立主程序:main.m x=1 2 fun(x) (2)任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件。假定这 两台车床的可用台时数分别为 800 和 900,三种工件的数量分别为 400、600 和 500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如 下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用 最低? 解答:解答:设在甲车床上加工工件 1、2、3 的数量分别为 x1、x2、x3,在乙车床上

6、 加工工件 1、2、3 的数量分别为 x4、x5、x6。可建立以下线性规划模型:6543218121110913minxxxxxxz 6 , 2 , 1, 09003 . 12 . 15 . 08001 . 14 . 0500600400x. .654321635241ixxxxxxxxxxxxtsi改写为:改写为:Xz8121110913min 654321,5006004001000100011000100019008003.102.105.000101.104.0xxxxxxXXXts4源程序为:f = 13 9 10 11 12 8; A= 0.4 1.1 1 0 0 0 0 0 0

7、0.5 1.2 1.3; b = 800; 900; Aeq=1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1; beq=400 600 500; vlb = zeros(6,1); vub=; x,fval = linprog(f,A,b,Aeq,beq,vlb,vub) 结果结果:x = 0.0000 600.0000 0.0000 400.0000 0.0000 500.0000 fval =1.3800e+004 即在甲机床上加工 600 个工件 2,在乙机床上加工 400 个工件 1、500 个工 件 3,可在满足条件的情况下使总加工费最小为 13800。(3)

8、投资问题)投资问题 引言:问题描述引言:问题描述 设有某种资源(或资金)M 个单位(M 为整数)欲分配用于 N 个生产项目, 已知第 k 个生产项目获得 u(k)个单位(u(k)为非负整数)这种资源后可创利润为 L(u(k),k)。L(u(k),k)是 u(k)的不减函数。问如何分配这些资源可使所获得总利润 最大。把资源分配过程分为 N 个阶段。 第 K 个阶段是向第 K 个生产项目分配资源。 状态变量 x(k)表示分配完第 1,2,.k-1 个生产项目的资源数量。x(1)=M.,决策变 量取为 u(k),它是分配给第 k 个生产项目的资源数量。L(u(k),k)为阶段指标。最 优值函数V(x

9、(k+1),k+1)表示把剩余的资源x(k)分配给第k+1,k+2,N个生产项目 所能获得的最大利润。根据动态规划方法,利用动态规划基本方程( )( ( )( ( ), )max ( ( ), )( (1),1),1,.2,1 u kD x kV x k kL u k kV x kkkN ( (),)( (),)V x NNL x NN和状态转移方程(1)( )( )x kx ku k逆向递推可求得最优化决策序列*(1),(2),.(),)uuuN和总利润的最大值5*( (1),1)IV x。这里( ( )0,1,., ( )D x kx k应用示例应用示例 某公司新购置了某种设备 6 台,欲

10、分配给下属 4 个企业。已知各企业获得这 种设备后年创利润如表 1 所示,单位为千万元。问如何分配这些设备能使年创总 利润最大,最大利润是多少? 表 1各企业获得不同台数设备的年创利润数 甲乙丙丁 00000 14234 26455 37676 47886 57986 671086程序及使用说明程序及使用说明 function zjsy() M=6 N=4 L=0,0,0,0; 4,2,3,4; 6,4,5,5; 7,6,7,6; 7,8,8,6; 7,9,8,6; 7,10,8,6 u,s=ssuu(M,N,L)function u,I=ssuu(M,N,L) %M为资源数量 %N为生产项目

11、数 %L为(M+1)X N阶利润矩阵 for i=1:M+1 V(i,N)=L(i,N); W(i,N)=i-1; end for k=N-1:-1:2 for i=1:M+1 V(i,k)=0; W(i,k)=i-1; for j=1:i if V(i,k)L(j,k)+V(i+1-j,k+1)6V(i,k)=L(j,k)+V(i+1-j,k+1); W(i,k)=j-1; end end end end V(M+1,1)=0; W(M+1,1)=M; for j=1:M+1 if V(M+1,1)L(j,1)+V(M+2-j,2) V(M+1,1)=L(j,1)+V(M+2-j,2) W(

12、M+1,1)=j-1; end end I=V(M+1,1); u(1)=W(M+1,1); s=M-u(1); for i=2:N u(i)=W(s+1,i); s=s-u(i); end在命令窗口命令运行输入 zjsy回车后得到输出 u= 1131 I= 17 这表明,分配给甲、乙和丁企业各 1 台,分配给丙企业 3 台可使年创利润最大。 最大利润为 1 亿 7 千万元。实验三、MATLAB 绘图与数据模拟 (一)实验目的: (1)掌握 MATLAB 软件中的数据拟合与插值; (2)熟练运用 MATLAB 软件进行绘图。 (二)预备知识:数据拟合与插值,Matlab 绘图 (三)实验内容与

13、结果 1、对下面一组数据作二次多项式拟合 xi00.10.20.30.40.50.60.70.80.91.0 yi-0.4471.9783.286.167.087.347.669.589.489.3011.2 解答: x=0:0.1:1; y=-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2; A=polyfit(x,y,2)7z=polyval(A,x); plot(x,y,k+,x,z,r)%作出数据点和拟合曲线的图形 2、绘制如下饼(柄)状图形:math,english,chinese,music分别是 2, 4,6,8。

14、 解答: x=2,4,6,8; pie(x,math,english,chinese,music)3 在区间0,2*pi画 sin(x)的图形,并加注图例“自变量 X”、“函数 Y”、“示意图”, 并加格栅.解答: x=linspace(0,2*pi,30); y=sin(x); plot(x,y)xlabel(自变量 X)ylabel(函数 Y)title(示意图)grid on4、先利用随机产生的数据 x,y,通过函数)(22yxxyez生成数据 z,然后利用数据 x,y,z 绘出函数)(22yxxyez的图形.解答: 编写程序如下: 首先,生成随机数据 x,y,z,它们的空间分布图见图

15、1.1.2.rand(seed,0); x=rand(50,1)*4-2; y=rand(50,1)*4-2; z=x.*y.*exp(-x.2-y.2); figure(1) zmax=max(z); zmin=min(z); bm=zmin-0.25*(zmax-zmin); top=zmax+0.25*(zmax-zmin); plot3(x,y,z,.,markersize,4*6); hold on z0=bm*ones(1,length(z);8plot3(x;x,y;y,z;z0,k:) hold off set(gca,Zlim,bm,top); xlabel(x);ylabel(y);zlabel(z); grid off-2-1012-2-1012-0.2-0.100.10.2xyz再进行二元插值, 求出绘图要使用矩形网格点上的值, 然后绘图, 见图 1.1.3. T=-2:0.1:2; Xi,Yi=meshgrid(T,T); Zi=griddata(x,y,z,Xi,Yi); figure(2) mesh(Xi,Yi,Zi); hidden off hold on plo

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

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号