当前位置:首页 >> 其它课程 >> MATLAB期末考试内容

MATLAB期末考试内容


实验一:了解数学软件 MATLAB
实验目的与要求:
了解 MATLAB 的基本特点,掌握 MATLAB 界面上的主要窗口,熟练掌握 MATLAB 的帮助系统。

实验内容:
1、启动按钮 打开 MATLAB 主页面以后,单击“Start”按钮,显示一个菜单,利用“Start” 菜单及其子菜单中的选项,打开 MATLAB 的有关工

具。 2、命令窗口 命令窗口(Command Window)是用于输入数据,运行 MATLAB 函数和脚本 并显示结果的主要工具之一。命令窗口没有打开时,从“Desktop”菜单中选择 “Command Window”选项可以打开它。 在命令窗口中键入命令并执行:a=[1 2 3;4 5 6;7 8 9] 在上述语句末尾加分号“;,结果是什么?请与不加分号情况作比较。 ” a=[1 2 3;4 5 6;7 8 9] a= 1 2 3 4 5 6 7 8 9 a=[1 2 3;4 5 6;7 8 9]; 在语句末尾加分号(;,可以防止输出结果显示到屏幕上。 ) 命令窗口中有一些常用的功能键,利用他们可以使操作更简便快捷。说明常用 的功能键的功能。

命令窗口常用功能键
功能键 ↑,ctrl-P ↓,ctrl-N ←,ctrl-B →,ctrl-F Home End Esc Del Backspace Ctrl+k 功 重新调入上命令行 重新调入下命令行 光标左移一个字符 光标右移一个字符 光标移到行首 光标移到行尾 清除命令行 删除光标处字符 删除光标左边字符 删除至行尾 能

3、命令历史窗口 命令历史窗口(Command history)显示命令窗口中最近输入的所有语句。先 关闭命令历史窗口,再分别用“desktop”菜单打开它和用 Command history 命令 打开它。

(1)将命令历史窗口中的语句复制到命令窗口中; (2)直接双击命令历史窗口中的语句。 4、工作空间窗口 清空工作空间的命令是:clear 清空命令窗口的命令是:clc 在命令窗口中键入: t=0:pi/4:2*pi y=sin(t) t= Columns 1 through 8 0 0.7854 1.5708 2.3562 3.1416 3.9270 4.7124 5.4978 Column 9 6.2832 y= Columns 1 through 8 0 0.7071 1.0000 0.7071 0.0000 -0.7071 -1.0000 -0.7071 Column 9 -0.0000 在命令窗口中键入:who,看运行结果; who Your variables are: a t y 在命令窗口中键入:whos,看运行结果; whos Name Size Bytes Class a 3x3 72 double array t 1x9 72 double array y 1x9 72 double array Grand total is 27 elements using 216 bytes 在命令窗口中键入:whos y,看运行结果; whos y Name Size Bytes Class y 1x9 72 double array Grand total is 9 elements using 72 bytes 退出 MATLAB 时,工作空间中的内容随之清除。可以将当前空间中的部分 或全部变量保存到一个 MATLAB 文件中,它是一种二进制文件,扩展名为.mat, 然后可以在以后使用它时载入它,请练习这一操作过程。 5、帮助浏览器 使用帮助浏览器可以搜索和查询所有 Math Works 产品的文档和演示。 帮助浏 览器是集成到 MATLAB 桌面上的一个 HTML 查看器。请打开帮助浏览器,熟悉 它。分别用 Help 函数和 doc 函数获取 format 函数的帮助,进而说明 format 函数 的功能。

实验二: 数学软件 MATLAB 的数据类型
实验目的与要求:
掌握 MATLAB 的数组,矩阵,字符串,多维数组,结构数组,单元数组和函 数句柄等数据类型。

实验内容:
1、常数 在命令窗口中分别键入: Rho=(sqrt(5)-1)/2 A=abs(3+4i) Realmax Huge=exp(log(realmax)) Toobig=pi*huge 观察执行结果 rho=(sqrt(5)-1)/2 rho = 0.6180 a=abs(3+4i) a= 5 realmax ans = 1.7977e+308 huge=exp(log(realmax)) huge = 1.7977e+308 toobig=pi*huge toobig = Inf 2、变量 函数 iskeyword 的功能是:列出所有预留的关键字 在命令窗口中键入命令 iskeyword 并记结果。 iskeyword ans = 'break' 'case' 'catch' 'continue' 'else' 'elseif' 'end' 'for'

'function' 'global' 'if' 'otherwise' 'persistent' 'return' 'switch' 'try' 'while' 3、输出格式 练习使用 format 命令设置变量的输出格式 format: 以 5 位定点格式输出变量值。 format short e: 以 5 位浮点格式输出变量值。 format short g: 在 5 位定点与 5 位浮点中选择最好的格式表示。 format long: 以 15 位定点格式输出 double 型变量值。 format long e: 以 15 位浮点格式输出 double 型变量值。 format hex: 以 16 进制输出变量值。 format +: 在矩阵中,用符号+,—和空格分别表示正号,负号和零。 format compact: 变量之间没有空行。 format loose: 变量之间有空行。 4、练习在 MATLAB 中构造一维数组的方法。 x=[1 2 3 4 5 6] x= 1 2 3 4 5 6 5、练习在 MATLAB 中构造二维数组(矩阵)的方法。 a=[1 2 3;4 5 6;7 8 9] a= 1 2 3 4 5 6 7 8 9 6、练习在 MATLAB 中如何获取矩阵的元素。 a=magic(4)% a= 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 b1=A(4,3)%获取矩阵 A 的第 4 行第 3 列元素 b1= 15 b2=A(1,end)%获取矩阵 A 的第 1 行的最后一列元素 b2= 13

b3=A(end)%获取矩阵 A 的最后一行的最后一列元素 b3= 1 b4=A(end,3)%获取矩阵 A 的第 3 列的最后一行元素 b4= 15 7、练习在 MATLAB 中如何获取与矩阵有关的信息。 a=[1 2;3 4;5 6]; b=[2 2;2 2;1 1]; c=cat(3,a,b) c(:,:,1) = 1 2 3 4 5 6 c(:,:,2) = 2 2 2 2 1 1 m=length(c) m= 3 n=ndims(c) n= 3 N=numel(c) N= 12 size(c) ans = 3 2 2 8、练习在 MATLAB 中如何创建字符串。 a='china' ; whos a Name Size Bytes Class a 1x5 10 char array Grand total is 5 elements using 10 bytes 可见,a 是一个 1 行 5 列的字符数组。 9、练习在 MATLAB 中如何创建二维字符串。 name=['li yi';'hu xu'] name = li yi hu xu 10、练习在 MATLAB 中数据类型的转换。 a={'sunjunfang','new student','beijing'}%

a= 'sunjunfang' 'new student' 'beijing' whos a Name Size Bytes Class a 1x3 236 cell array Grand total is 31 elements using 236 bytes b=char(a)% b= sunjunfang new student beijing whos b Name Size Bytes Class b 3x11 66 char array Grand total is 33 elements using 66 bytes 11、比较字符串。 在命令窗口中键入: Str1=’hello’; Str2=’help’; Strcmp(str1.str2) 运行结果: ans = 0 解释运行结果: 因为 str1 和 str2 不相等, 所以调用 strcmp 函数时返回 0 false) ( 。 在命令窗口中键入: Strncmp(str1.str2,3) 运行结果: ans = 1 解释运行结果:比较字符串的前 3 个字符 在命令窗口中键入: Strncmp(str1.str2,4) 运行结果: ans = 0 解释运行结果:比较字符串的前 4 个字符 在命令窗口中键入: A={ ‘hello’;’pen’;’rule’}; B={ ‘hello’;’pen’;’pencilbox’}; Strcmp(A,B) 运行结果: ans = 0 1

0 解释运行结果:一个单元一个单元的进行比较 在命令窗口中键入: Strncmp(A,B,3) 运行结果: ans = 1 1 0 解释运行结果:一个单元一个单元的进行比较前 3 个字符串 12、练习使用 MATLAB 的关系运算符(>,>=,<,<=,==,~=)比较字符串。 a='face';b='cake'; a==b ans = 0 1 0 1 a>=b ans = 1 1 0 1 a>b ans = 1 0 0 0 13、联系聚合字符串。 a={}; for n=1:6 a{n}=['a',int2str(n)]; end a a= 'a1' 'a2' 'a3' 'a4' 'a5' 'a6' 14、练习在 MATLAB 中如何生成多维数组。 a=[1 2 3;4 5 6;7 8 9];a(:,:,2)=[1 0 4;3 5 6;9 8 7];a(:,:,3)=8 a(:,:,1) = 1 2 3 4 5 6 7 8 9 a(:,:,2) = 1 0 4 3 5 6 9 8 7 a(:,:,3) = 8 8 8 8 8 8 8 8 8 15、练习在 MATLAB 中如何创建结构数组。

student.name='wang meng'; student.id=08; student.test=[79 75 73 80;88 89 80 95] student = name: 'wang meng' id: 8 test: [2x4 double] 16、练习在结构数组中如何获取数据。 a1=[79 75 73 80;88 89 80 95]; a2=[68 77 68;69 65 71;82 61 98]; student=struct ('name',{'wang meng','zhanglei'},'id',{8,10},'test',{a1,a2}) student = 1x2 struct array with fields: name id test b=student(1).name b= wang meng c=student(2).id c= 10 d=student(2).test d= 68 77 68 69 65 71 82 61 98 e1={student.name} e1 = 'wang meng' 'zhanglei' e2=[student.id] e2 = 8 10 e3={student(1:2).test} e3 = [2x4 double] [3x3 double] f=student(2).test(:,[2,3]) f= 77 68 65 71 61 98 17、练习使用 size 函数获取结构数组或任何结构字段的大小。 student(1).gender='男'

student = 1x2 struct array with fields: name id text gender student=rmfield(student,'gender') student = 1x1 struct array with no fields. 18、练习在 MATLAB 中如何创建单元数组。 A={}; A(1,1)={[1 2 3;4 5 6;7 8 9]} a(1,2)={'liu zhong'}; a(2,1)={3+7i}; a(2,2)={-pi:pi/10:pi}; a a= [3*3 double] 'liu zhong' [3.0000+ 7.0000i] [1x21 double 19、练习在 MATLAB 中如何从单元数组中获取数据。 b=a{1,2} b= liu zhong whos b Name Size Bytes Class b 1x9 18 char array Grand total is 9 elements using 18 bytes 20、练习在 MATLAB 中如何删除单元和重塑单元数组。 a={}; a{1,1}=[1 2 3;4 5 6;7 8 9]; a{1,2}='liu zhong'; a{2,1}=3+7i; a{2,2}=-pi:pi/10:pi; a a= [3x3 double] 'liu zhong' [3.0000+ 7.0000i] [1x21 double] a(2)=[]% a= [3x3 double] 'liu zhong' [1x21 double]

实验三: 数学软件 MATLAB 的 M 文件设计
实验目的与要求:

掌握 MATLAB 的 M 文件设计的相关知识, 包括变量﹑表达式等基本元素和 流程控制﹑函数等语法结构。熟练掌握 M 文件的类型﹑结构﹑帮助创建和编程 技巧等内容。

实验内容:
1、用条件控制语句和循环控制语句编写一个 M 文件,解决如下问题: 将数组 X=(2,4,5,1,-3,6,0,-2,-19,-11,18,8,9,7)中介于-10 与 10 之间的元素放入 数组 Y,其他的放入数组 Z。 x=[2 4 5 1 -3 6 0 -2 -19 -11 18 8 9 7]; n=numel(x);y=[];z=[];l=0;k=0; for i=1:n if x(i)>=-10&x(i)<=10 l=l+1; y(l)=x(i); else k=k+1; z(k)=x(i); end end y=y y= 2 4 5 1 -3 6 0 -2 8 9 7 z=z z= -19 -11 18 2、运行下述命令 help elfun help specfun help elmat 了解各函数的名称。 help elfun Elementary math functions. help specfun Specialized math functions. help elmat Elementary matrices and matrix manipulation. 3、理解下列函数的功能,调用此函数并写出结果。 function [avg,med]=example3_4_2(u)%主函数 %本函数用内部函数计算均值和中值 n=numel(u); avg=mean(u,n); med=median(u,n); function a=mean(v,n)%此子函数用于计算均值 a=sum(v)/n;

function m=median(v,n)%子函数用于计算中值 w=sort(v);%排序 if rem(n,2)==1%奇数 m=w((n+1)/2); else m=(w(n/2)+w(n/2+1))/2; end 调用函数:[a,b]=example3_4_2([1 2 4 7 9 34 56 7 9 3 2]) 执行结果: a= 12.1818 b= 7 4、通过下例,理解匿名函数的定义格式,并运行之。 a=1.3;b=0.2;c=30; y=@ (x)a*x.^2+b*x+c fplot(y,[-25,25])

5、理解下面函数的功能并调用下面的函数。 function example3_5_1a(surface) switch surface case ‘sphere’ sphere case ‘cylinder’ cylinder end shading interp 键入 example3_5_1a('sphere')

键入 example3_5_1a('cylinder')

实验四:数学软件 MATLAB 的绘制图形
实验目的与要求:
熟练掌握利用 MATLAB 提供的绘图函数绘制基本二维图形、三维线形图和表面 图;掌握利用 MATLAB 提供的函数绘制线形图、条形图等实用图形。

实验内容:
1、 在 一 个 坐 标 系 中 绘 制 线 形 图 、 条 形 图 、 面 积 图 。 (4-1)x=linspace(-4,4,100);y=exp(-x.^2./2)./sqrt(2*pi); plot(x,y)

(4-2) x=[1 2 3 4 5 6 7 8]; y=[10 9 18 20 25 32 25 40]; bar(x,y) colormap cool hold on plot(x,y,'linewidth',2,'color','r') hold off

(4-3)x=linspace(-4,4,100);y=exp(-x.^2./2)./sqrt(2*pi); area(x,y)

2、 绘制一个饼图且进行分离显示一个扇区。 x=[10 33 55 15]; explode=[0 1 0 0]; pie3(x,explode) colormap summer

3、 绘制一个误差条图。 x=1:7; y=[10 6 17 13 20 15 25]; e=[2.5 1.5 1 3 1 2 1.6]; errorbar(x,y,e)

4、 绘制一个散点图。 x=[1:80]; y=rand(size(x)); scatter(x,y,'filled','b')

5、 绘制一个直方图。 y=randn(888,3); hist(y,20)

6、 创建一个 M 文件,他返回一个两列矩阵。在创建一个函数句柄,并作 图。 function y=example4_1_10(x) y(:,1)=200*sin(x(:))./x(:); y(:,2)=x(:)^2; y(:,3)=0;%(保存文件名:example4_1_10.m) fplot('example4_1_10',[-20 20])

7、 作 x 2 ? y 2 ? 1 的曲线图。 ezplot('x^2-y^2-1')

8、做下面参数方程的曲线图
? x ? e t / 10 ? ? y ? sin t cost ?z ? t ?

ezplot3('exp(t/10)','sin(t)*cos(t)','t',[0,16*pi],'animate')

9、用 ezmesh 函数绘制下列函数的曲面图

z ? x 2 ? 3xy ? y 2
ezsurf('x^2-3*x*y+y^2')

实验五:高等数学计算和线性代数的 MATLAB 实现
实验目的与要求:
掌握利用 MATLAB 的符号数学工具箱解决极限、导数、微分、积分、级数 和微分方程等方面的问题;熟练掌握利用 MATLAB 提供的矩阵操作和分析函数 处理常见的线性代数问题。

实验内容:
1、将 f ? x t 和 x=tany 复合到一个函数中,指定 x 和 y 为它们的独立变量,自变 量为 z。 syms x y t; f=x^t; x=tan(y); f=compose(f,x,t,y); ezsurf(char(f),[0,6*pi,0,6*pi])

t 的反函数。 sin x f=sym('t/sin(x)'); g=finverse(f,'x') h=finverse(f,'t') 运行结果:g = asin(t/x) h= t*sin(x)

2、求 f ?

( x ? 1) 3 3、求 f ( x) ? 的二阶导数并化简。 x ?1

syms x f=(x-1)^3/(x+1); df=diff(f,1); d2f=diff(f,2); df=simplify(df) d2f=simplify(d2f) 运行结果:df = 2*(x-1)^2*(x+2)/(x+1)^2 d2f = 2*(x-1)*(x^2+4*x+7)/(x+1)^3 1 dy 4、求隐函数 F ( x, y ) ? x ? y ? sin y 所确定的导数 。 2 dx f=sym('x-y+(1/2)*sin(y)'); fx=diff(f,'x'); fy=diff(f,'y'); dv=-fx/fy; simplify(dv) 运行结果:ans = -2/(-2+cos(y))

? x ? a cost dy 5、求椭圆的参数方程 ? 所确定的导数 。 dx ? y ? b sin t
fx=sym('a*cos(t)'); fy=sym('b*sin(t)'); dxt=diff(fx,'t'); dyt=diff(fy,'t'); dv=dyt/dxt; simplify(dv) 运行结果:ans = -b*cos(t)/a/sin(t) 6、在一个坐标系中作函数 f ( x) ?
3x 2 ? 6 x ? 1 的图形和渐近线。 x2 ? x ? 3

syms x num=3*x^2+6*x-1; denom=x^2+x-3; f=num/denom; b=limit(f,inf); b1=limit(f,-inf); x0=solve(1/f); b=double(b); ezplot(f,[-10,10]); hold on plot([-10,10],b*[1 1],'g'); plot(double(x0(1))*[1 1],[-5 10],'r'); plot(double(x0(2))*[1 1],[-5 10],'r'); title hold off

7、求级数 ?

? 1 k 和 ? x (| x | ? 1) 。 2 k ?0 k ?1 k

?

syms x k n s1=symsum(1/k^2,1,inf) s1 = 1/6*pi^2 s2=symsum(x^k,k,0,inf) s2 = -1/(x-1) 1 8、求函数 f ( x) ? 的泰勒级数展开,取前 7 项。 5 ? 4 cos x syms x f=1/(5+4*cos(x)); t=taylor(f,7,pi) 运行结果:t =

1-2*(x-pi)^2+25/6*(x-pi)^4-1561/180*(x-pi)^6

?d 2 y ? 2 ? cos 2 x ? y ? dx ? 9、求解微分方程 ? y | x ?0 ? 1 ? dy ? | x ?0 ? 0 ? dx ?
y=dsolve('D2y=cos(2*x)-y','y(0)=1','Dy(0)=0','x'); y=simplify(y) 运行结果:y = 4/3*cos(x)-2/3*cos(x)^2+1/3 10、
? 1 4 7 10? ? ? 将矩阵 A ? ? 2 5 8 11? ? 3 6 9 12? ? ?

重塑为 B2?6 。

a=[1 4 7 10;2 5 8 11;3 6 9 12]; b=reshape(a,2,6) 运行结果 b = 1 3 5 7 2 4 6 8

9 10

11 12

11、求 y(t ) ? c1 ? c2 e ?t 在最小二乘意义下的系数 c1 和 c2 。 T Y 0.00 0.30 0.80 1.10 1.60 2.30 0.82 0.72 0.63 0.60 0.55 0.55 程序代码: t=[0.00 0.30 0.80 1.10 1.60 2.30]'; y=[0.82 0.72 0.63 0.60 0.55 0.50]'; E=[ones(size(t)) exp(-t)]; C=E\y 运行结果: C= 0.4760 0.3413

实验六:计算方法的 MATLAB 实现
实验目的与要求:

利用 MATLAB 提供的部分函数实现某些情况下的数值求解。

实验内容:
1、求方程 x 3 ? 4 x ? 5 ? 0 的解。 p=[1 -4 5]; r=roots(p) r= 2.0000 + 1.0000i 2.0000 - 1.0000i p1=poly(r) p1 = 1 -4 5 2、求多项式方程 x 3 ? 8x 2 ? 6 x ? 30 ? 0 的解。 p=[1 -8 6 -30]; r=roots(p) r= 7.7260 0.1370 + 1.9658i 0.1370 - 1.9658i p1=poly(r) p1 = 1.0000 -8.0000 6.0000 -30.0000 3、插值计算在数据似合和数据平滑等方面应用普遍。MATLAB 提供了多种 插值方法,请用举例说明 MATLAB 的二维最近邻插值,二维线性插值和 二维三次样条插值。 (7-7)二维最近邻插值 [x,y]=meshgrid(-4:1:4); z=peaks(x,y); [xI,yI]=meshgrid(-4:0.25:4); zI=interp2(x,y,z,xI,yI,'nearest'); surf(xI,yI,zI)

(7-8)二维双线性插值 [x,y]=meshgrid(-4:1:4); z=peaks(x,y); [xI,yI]=meshgrid(-4:0.25:4); zI=interp2(x,y,z,xI,yI,'linear'); surf(xI,yI,zI)

(7-9)二维双三次插值 [x,y]=meshgrid(-4:1:4); z=peaks(x,y); [xI,yI]=meshgrid(-4:0.25:4); zI=interp2(x,y,z,xI,yI,'cubic'); surf(xI,yI,zI)

4、设 x i :1,2,3,4,5,6,7,8,9,10; yi :1,3,31,133,381,871,1723,3081,5113,8011。 a) 作出以( x i , yi )为顶点的折线图; x=[1 2 3 4 5 6 7 8 9 10]; y=[1 3 31 133 381 871 1723 3081 5113 8011]; plot(x,y)

b) 作出一次多项式拟合曲线图;

c) 作出二次多项式拟合曲线图;

d) 用多项式拟合的相关工具,寻找较好的多项式拟合曲线。

实验七:最优化方法的 MATLAB 实现
实验目的与要求:
能利用 MATLAB 的最优化工具箱实现了解决不同类型最优化问题。

实验内容:
1、 对边长为 3m 的正方形铁板,在 4 个角处剪去相等的正方形以制成方形 无盖水槽,问如何剪法使水槽的容积最大?(要求建立模型,利用 MATLAB 软件求解。) 解 设 剪 去 的 正 方 形 的 边 长 为 x, 则 水 槽 的 容 积 为 : f(x)=(3-2x)^2x,0<x<1. 程序代码: [x fval,exitflag]=fminbnd(@(x)-(3-2*x).^2*x,0,1) x= 0.5000 fval = -2.0000 exitflag = 1 所以,剪掉的正方形的边长为 0.5m 时水槽的容积最大,最大值为 2 ㎡. 2、某厂生产甲、乙两种产品,已知制成一吨产品甲需要资源 A3 吨,资源 B4 m ;制成一吨产品乙需要资源 A2 吨,资源 B6 m ,资源 C7 个单位。若一吨产 品甲和乙的经济值分别为 7 万元和 5 万元,三种资源的限制量分别为 90 吨、 200 m 和 210 个单位。 试决定应生产这两种产品各多少吨才能使创造的总经济价 值最高?(要求建立模型,利用 MATLAB 软件求解。 ) 解:设生产甲 x1,乙 x2 能使创造的总经济价值最高。 则目标函数:y=7x1+5x2 约束条件 1:3x1+2x2≤90 约束条件 2:4x1+6x2≤200 约束条件 3:7x2≤210 程序代码: f=[7 5]’; A=[3 2;4 6;0 7]; b=[90;200]; lb=zeros(1,1); ub=[0,30]; [x,fval,exitflag]=linprog(f,A,b,[],[],lb,ub) 运行结果:
3 3 3

X= 14 24 Fval= 1.6400e+003 Exitflag= 1 3、最小化函数:

f ( x) ? 3x1 ? 2x1 x2 ? x2
2

2

程序代码: x0=[1,1]; [x,fval,exitflag]=fminunc('3*x(1)^2+2*x(1)*x(2)+x(2)^2',x0) 运行结果; x= 1.0e-006 * 0.2541 -0.2029 fval = 1.3173e-013 exitflag = 1 4、求解下面的最优化问题: 1 2 2 目标函数 f ( x) ? x1 ? x 2 ? x1 x 2 ? 2 x1 ? 6 x 2 2 ? x1 ? x 2 ? 2 ?? x ? x ? 2 ? 1 2 约束条件 ? ?2 x1 ? x 2 ? 3 ? x1 ? 0, x 2 ? 0 ? 程序代码: H=[1 -1;-1 2]; f=[-2;-6]; A=[1 1;-1 2;2 1];b=[2;2;3]; ib=zeros(2,1); [x,fval,exitflag]=quadprog(H,f,A,b,[],[],ib) 运行结果: x= 0.6667 1.3333 fval = -8.2222 exitflag = 1 5、在 5 个地点中选 3 处建生产同一产品的工厂,在这 5 个地点建厂所需投

资,占用农田,建成以后的生产能力等数据如 11-2 所示。 地点 1 2 3 4

5

所 需 投 资 320 280 240 210 180 (万元) 占 用 农 田 20 18 15 11 8 (亩) 生 产 能 力 70 55 42 28 11 (万吨) 现在有总投资 800 万元,占用农田指标 60 亩,应如何选择厂址,使建成后 总生产能力最大。 解:设 5 个 0-1 变量 x1,x2,x3,x4,x5,其中 xi=0,表示在 i 地不建厂;1,表示在 i 地建厂。i=1,2,3,4,5。 目标函数:生产能力 z=70x1+55x2+42x3+28x4+11x5 约束条件 1:x1+x2+x3+x4+x5=3 约束条件 2:320x1+280x2+240x3+210x4+180x5<=800 约束条件 3:20x1+18x2+15x3+11x4+8x5<=60 所以,记 x=(x1,x2,x3,x4,x5)T,f=(-70,-55,-42,28,-11)T; A= 320 280 240 210 180 20 18 15 11 8 b= 800 60 Aeq=(1 1 1 1 1),beq=3. 则该程序代码为: f=[-70;-55;-42;-28;-11]; A=[320 280 240 210 180;20 18 15 11 8];b=[800;60]; Aeq=[1 1 1 1 1];beq=[3]; [x,fval,exitflag]=bintprog(f,A,b,Aeq,beq) x = 1 0 1 1 0 fval = -140 exitflag = 1 6、定位问题。 设某城市有某种物品的 10 个需求点,第 i 个需求点 Pi 的坐标为( a i , bi ) , 道路网与坐标轴平行,彼此正交。现打算建一个该物品的供应中心,且由于受到 城市某些条件的限制,该供应中心只能设在 x 界于[5,8],y 界于[5,8]的范围内。 问该中心应建在何处为好?

Pi 点的坐标为:

ai : 1 4 3 5 9 12 6 20 17 8 bi : 2 10 8 18 1 4 5 10 8 9
解:设供应中心的位置为(x,y),要求它到最远需求点的距离尽可能小。由于此 处采用沿道路走的距离,可知用户 Pi 到该中心的距离为:|x-ai|+|y-bi|. 从而该问题可化为:minmax﹛|x-ai|+|y-bi|﹜ 创建目标函数程序代码(文件名为 example8_7a.m): 程序代码: x0=[7;7]; ib=[5;5];ub=[8;8]; [x,fval,maxfval]=fminimax(@example8_7a,x0,[],[],[],[],ib,ub) 运行结果; x =8 8 fval = 13 6 5 13 8 8 5 14 9 1 maxfval = 14.0000 7、某化工厂拟生产两种新产品 A 和 B,其生产设备费用分别为:A,2 万元 /吨;B,5 万元/吨。这两种产品均将造成环境污染,设由公害所造成的损失可 折算为:A,4 万元/吨;B,1 万元/吨。由于条件限制,工厂生产产品 A 和 B 的 最大生产能力各为每月 5 吨和 6 吨,而市场需要这两种产品的总量每月不少于 7 吨。试问工厂如何安排生产计划,在满足市场需要的前提下,使设备投资和公害 损失均失均达最小。该工厂决策认为,这两个目标中环境污染应优先考虑,设备 投资的目标值为 20 万元,公害损失的目标为 12 万元。 解:设工厂每月生产产品 A 为 x1 吨,B 为 x2 吨,设备投资费为 f1(x),公 共损失费为 f2(x),则这个问题可表达为多目标优化问题: min f1(x)=2x1+5x2 min f2(x)=4x1+x2 x1≤5 x2≤6 x1+x2≥7 x1,x2≥0

程序代码: goal=[20;12];weight=[8;2];x0=[2;5];A=[-1 -1];b=-7;ib=[0;0];ub=[5;6]; [x,fval,attainfactor,exitflag]=fgoalattain(@example8_8a,x0,goal,weigh t,A,b,[],[],ib,ub) 运行结果: x = 2.3333 4.6667 fval = 28.0000 14.0000 attainfactor = 1.0000 exitflag = 4 故可生产 A 产品 2.33 吨,B 产品 4.67 吨。这时,设备投资费为 28 万元,公害 损失费为 14 万元。计算收敛。

实验八:概率论与数理统计的 MATLAB 实现
实验目的与要求: 能运用 MATLAB 提供的针对概率统计课程的工具箱。 实验内容: 1、 用 normpdf 函数计算正态概率密度函数。 Y=pdf(‘norm’,X,A1,A2,A3) 2、 用 normcdf 函数计算正态分布的分布函数。 F=cdf(‘norm’,X,A1,A2,A3) 3、 用 chi2inv 函数计算卡方分布的分布函数的逆函数。 X=icdf(‘chi2inv’,P,A1,A22,A3) 4、 随即取 8 只活塞环,测得他们的直径为(以 mm 计) : 74.001 74.005 74.003 74.001 74.000 73.998 74.006 74.002 设环直径的测量值服从正态分布, 现 估计总体的方差

?2。

程序代码: x1=[74.001 74.005 74.003 74.001]; x2=[74.000 73.998 74.006 74.002]; x=[x1 x2]; p=mle('norm',x); muhatmle=p(1) muhatmle = 74.0020 sigma2hatmle=p(2)^2 sigma2hatmle = 6.0000e-006

5、从一批灯泡中随机的取 5 只做寿命实验,测得寿命(一小时计)为:1050 1100 1120 1250 1280 设灯泡寿命服从正态分布,求灯泡寿命平均值的 95%置信区间。 程序代码; x1=[1050 1100 1120]; x2=[1250 1280 0]; x=[x1 x2]'; [p,ci]=mle('norm',x,0.05) p= 966.6667 439.9116 ci = 1.0e+003 * 0.4609 0.3008 1.4724 1.1819 所以灯泡寿命平均值的 95%致信区间为(0.4609,1.4724) 。 6、下面列出的是某工厂随机选取的 20 只部件的装配时间(分) : 9.8 10.4 10.6 9.6 9.7 9.9 10.9 11 .1 9.6 10.2 10.3 9.6 9.9 11.2 10.6 9.8 10.5 10.1 10.5 9.7 设装配时间的总体服从正态分布,标准差为 0.4,是否可以认为装配时间的均值在 0.05 的水 平上不小于 10。 解:H0: ? <10 vs H1: ? ≥10 程序代码: x1=[9.8 10.4 10.6 9.6 9.7 9.9 10.9 11.1 9.6 10.2]; x2=[10.3 9.6 9.9 11.2 10.6 9.8 10.5 10.1 10.5 9.7]; x=[x1 x2]'; m=10;sigma=0.4;a=0.05; [h,sig,muci]=ztest(x,m,sigma,a,1) 运行结果: h= 1 sig= 0.0127 muci= 10.0529 Inf 因此,在 0.05 的水平下,可以认为装配时间的均值不小于 10 分钟。 7、某种电子元件的寿命 x(一小时计) 服从正态分布,? 和 ? 2 均未知。现测得 16 只元件的 寿命如下:159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170 问是否有理由认为元件的平均寿命大于 225(小时)? 解:H0: ? ≤225 vs H1: ? >225 程序代码: x=[159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170]; m=225;a=0.05; [h,sig,muci,stats]=ttest(x,m,a,1) h=

0 sig = 0.2570 muci = 198.2321 Inf stats = tstat: 0.6685 df: 15 sd: 98.7259 由于 sig=0.257,因此没有充分理由认为元件的平均寿命大于 225 小时。而对于 H0: ? ≥225 vs H1: ? <225 程序代码: x=[159 280 101 212 224 379 179 264 222 362 168 250 149 260 485 170]; m=225;a=0.05; [h,sig]=ttest(x,m,a,-1) 运行结果: h= 0 sig = 0.7430 由于 sig=0.743,因此没有更充分的理由认为元件的平均寿命小于 225 小时。 8、在平炉上进行一项试验以确定改变操作方法的建议是否会增加钢的得率,试验是在同一 平炉上进行的。每炼一炉钢,除操作方法外,其他条件都尽可能做到相同。先用标准方法练 一炉,然后用建议新方法炼一炉,以后交替进行,各炼 10 炉,其钢的得率分别为: 标准方法 78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3 新方法 79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1 设这两个样本相互独立,且分别来自正态总体,均值和方差都未知。问建议的新操作方法十 分难提高钢的得率? 解:H0: ? 标≤ ? 新 vs H1: ? 标> ? 新 程序代码: x=[78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3]; y=[79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1]; a=0.05; [h,sig,ci]=ttest(x,y,a,1) h= 0 sig = 0.9988 ci = -4.5961 Inf 由于 sig=0.9988,因此可以认为新方法得钢率高。 9、下面列出了 84 个以特拉斯坎(Etruscan)人男子的头颅的最大宽度(mm),试检验这些数据 是否处于正态分布。 141 148 132 138 154 142 150 146 155 158

150 140 147 148 144 150 149 145 149 158 143 141 144 144 126 140 144 142 141 140 145 135 147 146 141 136 140 146 142 137 148 154 137 139 143 140 131 143 141 149 148 135 148 152 143 144 141 143 147 146 150 132 142 142 143 153 149 146 149 138 142 149 142 137 134 144 146 147 140 142 140 137 152 145 程序代码: x1=[141 148 132 138 154 142 150 146 155 158 150 140]; x2=[147 148 144 150 149 145 149 158 143 141 144 144]; x3=[126 140 144 142 141 140 145 135 147 146 141 136]; x4=[140 146 142 137 148 154 137 139 143 140 131 143]; x5=[141 149 148 135 148 152 143 144 141 143 147 146]; x6=[150 132 142 142 143 153 149 146 149 138 142 149]; x7=[142 137 134 144 146 147 140 142 140 137 152 145]; x=[x1 x2 x3 x4 x5 x6 x7]; [H,P,JBSTAT,CV]=jbtest(x) H= 0 P= 0.6908 JBSTAT = 0.7399 CV = 5.9915 由于 P=0.6908,因此有充分理由认为上述数据是来自正态总体。 10、一经济学家对生产电子计算机设备的企业收集了在一年内生产力提高指数(用 0 到 100 内的数表示)并按过去三年间在科研和开发上的平均花费分为三类: A1:花费少,A2:花费中等 A3:花费多。 生产力提高的指数如下表所示: 水平 A1 A2 A3 生产力提高指数 7.6 8.2 6.8 5.8 6.9 6.6 6.3 7.7 6.0 6.7 8.1 9.4 8.6 7.8 7.7 8.9 7.9 8.3 8.7 7.1 8.4 8.5 9.7 10.1 7.8 9.6 9.5

请列出方差分析表,并进行多重比较。 程序代码: y1=[7.6 8.2 6.8 5.8 6.9 6.6 6.3 7.7 6.0]; y2=[6.7 8.1 9.4 8.6 7.8 7.7 8.9 7.9 8.3 8.7 7.1 8.4]; y3=[8.5 9.7 10.1 7.8 9.6 9.5];y=[y1 y2 y3]; y=[y1 y2 y3]; A1=ones(numel(y1),1);A2=2*ones(numel(y2),1);A3=3*ones(numel(y3),1); A=[A1;A2;A3]; p=anoval(y,('A1','A2','A3'))


更多相关文档:

MATLAB期末考试试卷汇总

MATLAB 期末考试试卷及其参考答案 一、填空题 1、MATLAB 常用操作界面包括 2、MATLAB 中 Inf 或 inf 表示 3、MATLAB 中逗号主要用作 、工作空间窗口、、 、内存...

MATLAB期末考试试题

MATLAB期末考试试题_其它_高等教育_教育专区。MATLAB期末考试试题,综合全面、最佳...( 4 10. 清除命令窗口内容的命令是( clc 11. 删除工作空间中保存的变量 x ...

matlab期末考试试卷及参考答案

解: (1)对方程两边求导 clear syms x g=sym('cos(x+sin(y(x)))=sin(y(x))') dgdx=diff(g,x) 在 matlab 中运行可得结果 dgdx=-sin(x+sin(y(...

MATLAB期末考试试卷及答案

MATLAB期末考试试卷及答案_工学_高等教育_教育专区。一、填空题(每空 2 分,总共 30 分) 1. 已知 A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列...

Matlab 期末考试题库(共12套卷)

(i); end 第四套 MATLAB 期末考试一、填空题(每题 2 分,共 10) 1:MATLAB 的通用命令中若对函数功能和用法不熟悉,可用 help 命令;显示变 量、 阵列或...

MATLAB期末考试试卷及其参考答案

期末考试试卷及其参考答案 MATLAB 期末考试试卷及其参考答案一、填空题(每空 1 分,20 分) 填空题( 1、MATLAB 常用操作界面包括 、 、工作空间窗口、 、内存数组...

MATLAB期末考试试卷及其参考答案..

MATLAB 期末考试试卷及其参考答案一、填空题(每空 1 分,20 分) 1、MATLAB 常用操作界面包括 、 、工作空间窗口、 、内存数组编辑器、M 文件 编辑/调试器、...

matlab期末考试样题 2015

matlab期末考试样题 2015_理学_高等教育_教育专区。中南大学材料院matlab期末考试样题 2015Matlab与科学计算考试样题 期中考试样题一、 基本概念题 1 测量一物体的长度...

matlab期末考试试卷

matlab期末考试试卷_理学_高等教育_教育专区。matlab期末考试试卷 ┉┉┉┉┉┉┉┉┉┉┉密┉┉┉┉┉┉┉┉┉┉封┉┉┉┉┉┉┉┉┉┉线┉┉┉┉┉┉┉...

matlab 期末考试题

matlab 期末考试题_理学_高等教育_教育专区。Matlab 期末考试试题题 1:控制人口数量是当今世界的三大问题之一,认识和了解人口数量的变化规律,做出较准确的估测,从而...
更多相关标签:
matlab期末考试试卷 | matlab期末考试 | matlab期末考试题 | 哈工大matlab期末考试 | matlab期末考试题库 | 大学matlab期末考试 | matlab期末试题及答案 | matlab期末试卷 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com