matlab选修课 答案详解 实验指导书Matlab软件应用与开发 - 图文

更新时间:2023-10-24 10:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

实验1 Matlab 操作基础及矩阵运算 (一)、实验类型:验证型 (二)、实验类别:基础实验 (三)、每组人数:1 (四)、实验要求:选修 (五)、实验学时:3个学时 (六)、实验目的:

(1)熟悉MATLAB软件中关于矩阵运算的各种命令; (2)学会运用MATLAB软件自定义函数,并求出函数值; (3)学会在MATLAB环境下编写函数。 (七)、预备知识:

线性代数中的矩阵运算;高等数学中微积分知识。 本实验所用MATLAB命令

? 矩阵输入格式:A=[a11 a12;a21 a22];b=初始值:步长:终值 ? 求A的转置:A ? 求A加B:A+B ? 求A减B:A-B ? 求A乘B:A*B

? 求A的行列式:det(A) ? 求A的逆:inv(A) ? 求A的秩: rank(A) ? 求函数的极限limit(.)

? 求函数的导数diff(.) ? 求函数的积分 int(.) ? 求代数方程的解 solve(.) ? 求微分方程的解 dsolve(.) (八)、内容与要求: 1、 输入矩阵A,B,b;

?21?2A???21??214??1245124??18725335?351534?? ?B???4811535?353154????46562523721552??,?2485b??21232527?

2、 矩阵转置、四则运算。C1=A’,C2=A+B,C3=A-B,C4=A*B 3、 求行列式。D1=|A|,D2=|B| 4、 5、 6、 7、 8、

求矩阵A、B的秩E1,E2

?2x?3?求极限 lim??x??2x?1??x?1

设y?xex,求y(5) 求?14lnxxdx

求微分方程的通解xy??y?x2?3x?2

9、自定义函数f(x1,x2)?100(x2?x12)2?(1?x1)2,并计算f(1,2)。 (九)、实验操作

1、>> A=[21 24 85 4;2 35 15 34;21 35 31 54;21 72 15 52] A =

21 24 85 4

2 35 15 34 21 35 31 54 21 72 15 52

>> B=[12 45 1 24;18 72 53 35;48 1 15 35;46 56 25 23] B =

12 45 1 24 18 72 53 35 48 1 15 35 46 56 25 23 >> b=21:2:27 b =

21 23 25 27

2、>> C1=A',C2=A+B,C3=A-B,C4=A*B C1 =

21 2 21 21 24 35 35 72 85 15 31 15 4 34 54 52 C2 =

33 69 86 28 20 107 68 69 69 36 46 89

67 128 40 75 C3 =

9 -21 84 -20 -16 -37 -38 -1 -27 34 16 19 -25 16 -10 29 C4 =

4948 2982 2668 4411 2938 4529 2932 2580 4854 6520 3691 4056 4660 9056 5362 4745 3、>> D1=det(A),D2=det(B) D1 =

2181568 D2 = -3182276

4、>> E1=rank(A),E2=rank(B); E1 = 4 E2 =

4

5、>> syms x; %定义符号变量x

>> limit(((2*x+3)/(2*x+1))^(x+1),x,inf) %求函数((2*x+3)/(2*x+1))^(x+1)当x->inf 时的极限 (inf 即 英文 infinity “无穷”的缩写) inf表示正无穷大 ans = exp(1) 6、

>> syms y x %>> y=x*exp(x); %>> diff(y,5) %阶导数 ans =

5*exp(x)+x*exp(x) 7、

>> syms x s %>> s=(log(x))/sqrt(x) %达式

>> int(s,1,4) %达式在区间[1,4]上的定积分 ans =

定义符号变量 定义符号函数 计算符号函数的五定义符号变量 定义符号表计算符号表

8*log(2)-4 8、

>> [y]=dsolve('x*Dy+y=x^2+3*x+2','x') %微分或导数的输入是用Dy、D2y、D3y、?来表示y

dy的一阶导数dx或y?、二阶导

23dydy23数dx或y??、三阶导数dx或y???、?。如果自变量是系统默认的,

则自变量输入部分可省略。 y =

2+1/3*x^2+3/2*x+1/x*C1 9、>>

建立函数文件:fun.m function f=fun(x)

f=100*(x(2)-x(1)^2)^2+(1-x(1))^2; 建立主程序:main.m x=[1 2] fun(x)

(十)实验总结(用自己的话总结,勿抄袭)

实验二、Matlab程序设计 (一)、实验类型:综合型 (二)、实验类别:基础实验 (三)、每组人数:1 (四)、实验要求:选修 (五)、实验学时:3个学时 (六)、实验目的:

学会运用Matlab软件解决线性规划中的实际问题 (七)、实验内容:

任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用这两种车床加工单位数量不同工件所需的台时数和加工费用如下表。问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?

工 件 床 机 工件1 加工费:13 台时数:0.4 加工费:11 台时数:0.5 工件2 加工费:9 台时数:1.1 加工费:12 台时数:1.2 工件3 加工费:10 台时数:1 加工费:8 台时数:1.3 甲 乙

(八)、实验解答:

minz?13x1?9x2?10x3?11x4?12x5?8x6 ?x1?x4?400?x?x?6005?2??x3?x6?500 s.t. ? ?0.4x1?1.1x2?x3?800?0.5x4?1.2x5?1.3x6?900???xi?0,i?1,2,?,6设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3,在乙车床上加工工件1、2、3的数量分别为x4、x5、x6。可建立以下线性规划模型:

改写为:

S.t.

minz??1391011128?X00??0.41.110?800????? X??0???000.51.21.3???900?

?x1????x2??100100??400??x?????3???0 010010X?600 ,X??????x4??001001??500??????x??5??x??6?源程序为:

f = [13 9 10 11 12 8]; A = [0.4 1.1 1 0 0 0; 0 0 0 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。

(九)实验总结(用自己的话总结,勿抄袭)

实验三、Matlab绘图与数据模拟

(一)实验类型:综合型 (二)实验类别:基础实验 (三)每组人数:1 (四)实验要求:选修 (五)实验学时:3个学时 (六)实验目的:

(1)掌握Matlab软件中的数据拟合 (2)熟练运用Matlab软件进行绘图 (七)实验内容:

(1)对下面一组数据作二次多项式拟合。要求:

Ⅰ.返回多项式的系数; Ⅱ.作出数据点的图形及拟合曲线; Ⅲ. 分析拟合的效果。

xi yi 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 -0.1.93.26.17.07.37.69.59.49.311.447 78 8 6 8 4 6 8 8 0 2 (2)绘制如下饼状图形标签‘Math',‘English',‘Chinese',‘Music'代表的数值分别为2,4,6,8;

(3)用两种方法画出函数sin(x),x?[0,2?]的图形。要求: Ⅰ.利用相关函数加x轴、y轴注解分别为“自变量X”、“函数Y”; Ⅱ.加图形标题“示意图”; Ⅲ.加栅格。 (八)实验解答:

1、解答:输入以下命令: 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) z=polyval(A,x);

plot(x,y,'k+',x,z,'r') %作出数据点和拟合曲线的图形

2、解答: >> x=[2,4,6,8];

>> pie(x,{'math','English','Chinese','music'})

3、解答:

>> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y)

>> xlabel('自变量x') >> ylabel('函数y') >> title('示意图') >> grid on

(九)实验总结(用自己的话总结,勿抄袭)

本文来源:https://www.bwwdw.com/article/8ic2.html

Top