当前位置:文档之家› 海南大学MATLAB第1章习题解答

海南大学MATLAB第1章习题解答

海南大学MATLAB第1章习题解答
海南大学MATLAB第1章习题解答

习题

1.熟悉MATLAB窗口,了解New M-File、Toolboxes、Simulink、GUIDE、Profiler等按钮的用法。

解:略,请自行练习。

2.什么是命令行输入方式?它有什么特点?

解:命令行输入方式即在Command Window窗口中直接输入所需命令。其特点是无须执行编译和链接即可一次执行一个或一组命令,也即以即时交互的方式编写程序。

3.什么是M文件?它有哪两种形式?分别有什么特点?

解:将一行行的MATLAB命令写在文件中,即M文件。MATLAB是一门解释性的语言,因而M

文件本身不能运行,必须有MATLAB环境的支持。单击MATLAB窗口中的New M-File 按钮,即可

进入M文件的编辑器中。

M文件分为脚本(Script)和函数(Function)两种。脚本文件是用户在Command Window窗口中输入的

命令的简单集合,它的运行效果和用户在Command Window窗口中逐一的输入命令完全相同。函数文件

可以自带参数和返回值,一般比脚本文件复杂。

4.建立三路信号FDMA系统的Simulink仿真模型。输入信号分三路,分别是正弦波、方波和锯齿波,

经不同频率的双边带调制,送入加性高斯白噪声信道进行传输。在接收端,用三个双边带解调器分别为三路信号解调。通过示波器对原信号和解调后的信号进行比较观察。

解:

1)系统仿真图

输入信号分三路,分别是正弦波、方波和锯齿波,经不同频率的双边带调制,送入加性高斯白噪声信道进行传输。在接收端,用三个双边带解调器分别为三路信号解调。通过示波器对原信号和解调后的信号进行比较观察。系统框图如图1.1所示。

图1.1 FDMA系统框图

图1.1中,Signal Generator1产生4Hz正弦波信号,Signal Generator2产生0.5Hz方波信号,Signal Generator3产生1Hz锯齿波信号。Scope1中的波形如下:

图1.2 正弦信号和解调后的波形

经放大的波形图表明,由于经零阶抽样保持,信号的局部呈现阶梯状;另外,解调后的正弦波幅

度变小。Scope2中的波形如下:

图1.3方波信号和调制解调后的波形

图1.1 中,Analog Filter中采用Butterworth滤波器。由于它有一定的带限,故解调后的波形中表

现出吉布斯现象。另外,幅度也有所减小。Scope3中的波形如下:

图1.4 锯齿波信号和解调后的波形

在图1.4中的Port2中,同样可以观察到吉布斯现象。另外,在图1.2、图1.3和图1.4中,由于模拟滤波器的传输时延,解调后的信号相比原信号都有一定的滞后。下面,将运用Spectrum Scope 观察系统各处的频谱,并分析系统中模拟滤波器的作用。

2)Analog Filter Design滤波器的作用

发送端的三个滤波器是为了消除由零阶抽样保持产生的高频分量,并保证了信号在一定的通带内传输,彼此不发生干扰。各滤波器的上下限截止频率计算方法是:

正弦波:频率4Hz,带宽即4Hz,所以

矩形波:频率0.5Hz,周期2s,频域为Sa函数包络的冲激序列,带宽4**0.5(取第三个零点

为界),取为10,所以

界),同样取为10,所以

出相应的信号,以向解调器输出、进行解调。三个滤波器的上下限截止频率和发送端对应滤波器

相等。发送端和接收端滤波器参数经过如上设置后,三路输出的波形图如图1.2到图1.4所示。

3)用Spectrum Scope对各路信号进行频谱分析

让待观察信号先通过零阶抽样保持,再输入buffer size为512、buffer overlap为256的Spectrum Scope,仿真时Simulink自动显示出频谱图。首先列出未经调制的正弦信号的频谱图(图1.5),然后是经调制的(图1.6),最后是解调的(图1.7)。

图1.5正弦信号频谱图图1.6已调正弦信号频谱图图1.7解调后正弦信号频谱图

以上三图是由切比雪夫窗显示的频谱图。从图1.6和图1.7可以看出,在进行调制时,频谱中引入了直流分量,这是DSB AM Modulator Passband中引入的Input offset造成的。接下来观察方波和锯齿波的情况:图1.8中的各图分别是方波和锯齿波其本身、经调制和解调后的频谱图。

图1.8 方波和锯齿波在调制解调过程中的频谱图

上图反映了整个频谱搬移、还原的过程。另外,上图表明,模拟滤波器在解调前滤去了频谱中大部分旁瓣(尤其是对于方波的频谱),这正是时域上波形产生吉布斯现象的原因。

5.利用直接输入法和矩阵编辑器创建矩阵:??

?

???=6 4 25 3 1A

解:1)直接输入法,在Command Window 窗口中直接输入: >>A=[1,3,5;2,4,6]

回车后,屏幕显示出:

A =

1 3 5

2 4 6

2)矩阵编辑器创建法,操作步骤如下: (1)点击窗口左下角start 按钮,在出现的菜单中选择Desktop Tools ,在出现的子菜单中选择Workspace ,如图1.9所示。

图1.9 菜单选择窗口

(2)创建一矩阵变量,左键双击,或单击右键,在点击“open selection”,打开矩阵编辑器,如图1.10所示。

图1.10 MATLAB矩阵编辑器

(3)在Variable Editor窗口中,选择合适行数和列数,输入数值或表达式。

(4)输入完毕,保存矩阵文件为a.mat,关闭矩阵编辑器。

(5)在Command Window窗口中输入变量a,回车后出现a的具体阵列,表明矩阵已经创建。

6.创建矩阵:

??????=sin(y) )cos(os(y) sin(x)x c B ,其中x=π/6,y=π/3。 解:在Command Window 窗口中直接输入: >> x=pi/6,y=pi/3;

x =

0.5236 y =

1.0472

>> B=[sin(x),cos(y);cos(x),sin(y)] B =

0.5000 0.5000 0.8660 0.8660

7.用矩阵编辑器创建矩阵a,使a 具有如下矩阵形式。

?

?

????=6 5 43 2 1a ??????????=?6 5 4 3 2 1a 1 2 3 4 5 6 7 8 9 a ??

???=??

????

1 2 3 0 4 5 6 0 7 8 9 0a ?????=??????

1 2 3 0 4 5 6 0 7 8 9 00 0 0 0a ????

?

??=??????

解:创建步骤如题5中所示,下面给出创建结果。

图1.11 题1-7创建结果一

图1.12 题1-7创建结果二

图1.13 题1-7创建结果三

图1.14 题1-7创建结果四

8.利用特殊矩阵函数创建3×3维零矩阵,产生4维的魔方阵,产生3×3维的单位阵。解:>> zeros(3,3)

ans =

0 0 0

0 0 0 0 0 0

9.已知矩阵

17 0 1 0 15

23 5 7 14 16

B = 4 0 13 0 22

10 12 19 21 3

11 18 25 2 9

??

??

??

??

??

??

??

??,提取矩阵B的第一行和第二行的第2、4、5个元素组成新

矩阵B1,提取矩阵B的第三行和第一行的全部元素组成新矩阵B2,使矩阵B的第一行和第三行的第2,4个元素为0,最后标出矩阵B的第一行中小于5的元素。

解:解题步骤如下:

1)利用矩阵编辑器创建已知矩阵B(略)

2)>> B1=B([1,2],[2,4,5])

B1 =

0 0 15

5 14 16

>> B2=B([3,1],:)

B2 =

4 0 13 0 22

17 0 1 0 15

>> B([1,3],[2,4])=zeros(2)

B =

17 0 1 0 15

23 5 7 14 16

4 0 13 0 22

10 12 19 21 3

11 18 25 2 9

>> L=B(1,:)<5

L =

0 1 1 1 0

10.已知矩阵a为3阶魔方阵,求sum(a)。

解:>> a=magic(3),sum(a)

a =

8 1 6

3 5 7

4 9 2

ans =

15 15 15

11.已知a为4阶魔方阵,令a+3赋值给b,a+b赋值给c,求b和c。

解:>> a=magic(4),b=a+3,c=a+b

a =

16 2 3 13

5 11 10 8

9 7 6 12

4 14 1

5 1

b =

19 5 6 16

8 14 13 11

12 10 9 15

7 17 18 4

c =

35 7 9 29

13 25 23 19

21 17 15 27

11 31 33 5

12.矩阵a为2×3的均匀分布随机矩阵,b为3×2的均匀分布随机矩阵,求a与b矩阵相乘,生成矩阵c。

解:>> a=rand(2,3),b=rand(3,2),c=a*b

a =

0.8147 0.1270 0.6324

0.9058 0.9134 0.0975

b =

0.2785 0.9649

0.5469 0.1576

0.9575 0.9706

c =

0.9018 1.4199

0.8452 1.1126

13.已知A为3×3均匀分布随机矩阵,B为3×2均匀分布随机矩阵,C为2×3均匀分布随机矩阵,求Q= c*a^2*b。

解:>> a=rand(3),b=rand(3,2),c=rand(2,3),Q= c*a^2*b

a =

0.0462 0.6948 0.0344

0.0971 0.3171 0.4387

0.8235 0.9502 0.3816

b =

0.7655 0.4898

0.7952 0.4456

0.1869 0.6463

c =

0.7094 0.2760 0.6551

0.7547 0.6797 0.1626

Q =

1.4237 1.2051

1.0678 0.9204

14.已知A为4×4均匀分布随机矩阵,B为全是“1”的4元列向量,分别利用求逆矩阵和矩阵除法解方程组,比较计算后的结果。

解:>> a=rand(4) %产生(4×4)均匀分布随机矩阵

a =

0.1190 0.5853 0.5060 0.5472

0.4984 0.2238 0.6991 0.1386

0.9597 0.7513 0.8909 0.1493

0.3404 0.2551 0.9593 0.2575

>> b=ones(4,1) % 产生全为1的4元列向量

b =

1

1

1

1

>> x1=inv(a)*b % 矩阵求逆解方程组

x1 =

2.0257

-1.7991

-0.1154

3.4178

>> x2=a\b % 矩阵除法解方程组

x2 =

2.0257

-1.7991

-0.1154

3.4178

15.指出下列矩阵函数所实现的具体运算。

A=rand(5),B=rank(A),C= eig (A),D= sqrtm(A),E= det(A)

解:A=rand(5) %生成矩阵A,A为5×5均匀分布随机矩阵

B=rank(A) %求矩阵A的秩

C= eig (A) %求方阵A的特征值和特征向量

D= sqrtm(A) %求矩阵A的平方根

E= det(A) %求方阵A的行列式

16.利用MATLAB逻辑运算算符实现a b&b

+运算,假设a=1,b=0。解:>> a=1,b=0,c=a|b&b

a =

1

b =

c =

1

17.利用MATLAB的roots函数求

5432

()410161712

f x x x x x x

=+++++的根。

解:>> p=[1,4,10,16,17,12]

p =

1 4 10 16 17 1

2 >> x=roots(p)

x =

-1.6506

-1.0000 + 1.4142i -1.0000 - 1.4142i -0.1747 + 1.5469i -0.1747 - 1.5469i

18.画出函数6

cos(3)t y e

t -

=在t 区间为[0,4π]内的曲线。 解:解题步骤为:

1)在MATLAB 主界面下点击file new blank M-file, 2)在新建的M 文件里输入如下程序段:

t=0:pi/50:4*pi; y0=exp(-t/6);

y=exp(-t/6).*cos(3*t);

plot(t,y,'-r',t,y0,':b',t,-y0,':b')

3)程序编写完成以后,在主菜单栏中选择Debug Save File and Run ,如果编译过程中出现错误,则在MATLAB 的command window 中显示错误行;若没有,即可显示运行结果,如图1.16所示。

图1.16 第1-18题运行结果示意图

19.画出一个幅度为2,频率为4Hz,相位为3π

的正弦信号。

解:解题步骤为:

1)创建新的M 文件(操作与题18同), 2)在M 文件中输入如下程序段: A=2; f=4; phi=pi/3; w0=2*pi*f; t=0:0.01:1;

x=A*sin(w0*t+phi); plot(t,x);

3)编译、显示结果,如图1.17所示。

图1.17第1-19题运行结果示意图

matlab课后习题解答第二章

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象 3/7+; sym(3/7+; sym('3/7+'); vpa(sym(3/7+) 〖目的〗 不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+ c2=sym(3/7+ c3=sym('3/7+') c4=vpa(sym(3/7+) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = c2 = 37/70 c3 = c4 = Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1)

ans = a symvar(sym('z*exp(j*th)'),1) ans = z 5求符号矩阵???? ??????=3332 31 232221 131211 a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。 〖目的〗 理解subexpr 指令。 〖解答〗 A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]') DA=det(A) IA=inv(A); [IAs,d]=subexpr(IA,d) A = [ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] DA = a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31 IAs = [ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 - a13*a22)] [ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 - a13*a21)] [ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 - a12*a21)] d = 1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31) 8(1)通过符号计算求t t y sin )(=的导数 dt dy 。(2)然后根据此结果,求- =0t dt dy 和2 π = t dt dy 。 〖目的〗 diff, limit 指令的应用。 如何理解运行结果。 〖解答〗 syms t

matlab基础练习题带答案

Matlab 基础练习题 常量、变量、表达式 1、 MATLAB 中,下面哪些变量名是合法的?( ) (A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。 (A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( ) (A )eps (B )none (C )zero (D )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)3.0sin(21+= πy 值,那么应该在MA TLAB 的指令窗中 输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字 节。 9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。 数组 1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序 的逆序排列输出,应该使用下面的( )指令。 (A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB 的命令是( )。 (A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A) 3、 在MATLAB 中,用指令x=1:9生成数组x 。现在要把x 数组的第二和第七个元素都 赋值为0,应该在指令窗中输入( ) (A )x([2 7])=(0 0) (B )x([2,7])=[0,0] (C )x[(2,7)]=[0 0] (D )x[(2 7)]=(0 0) 4、 在MA TLAB 中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时, 若在指令窗中输入指令b=A(:,2)',那么,MATLAB 输出的结果应该是( ) (A )b = -3 -2 -1 (B )b = -2 -1 0 1 (C )b = -5 -1 3 (D )b = -5 -2 1 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

matlab课后习题及答案详解

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?

matlab习题及答案

2. 用MATLAB 语句输入矩阵A 和B 3.假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来, 赋给B 矩阵,用magic(8)A =命令生成A 矩阵,用上述命令检验一下结果是不是正确。 4.用数值方法可以求出∑=++++++==63 63622284212i i S Λ,试不采用循环的 形式求出和式的数值解。由于数值方法是采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。试采用运算的方法求该和式的精确值。 5.选择合适的步距绘制出下面的图形。 (1))/1sin(t ,其中)1,1(-∈t ; (2))tan(sin )sin(tan t t -,其中),(ππ-∈t 6. 试绘制出二元函数2 2 2 2 )1(1)1(1),(y x y x y x f z +++ +-= =的三维图和三 视图 7. 试求出如下极限。 (1)x x x x 1)93(lim +∞ →; (2)1 1lim 0-+→→xy xy y x ; (3)2 2)()cos(1lim 2 2 220 0y x y x e y x y x +→→++- 8. 已知参数方程? ??-==t t t y t x sin cos cos ln ,试求出x y d d 和3 /2 2d d π=t x y 9. 假设?-=xy t t e y x f 0 d ),(2 ,试求2222 22y f y x f x f y x ??+???-?? 10. 试求出下面的极限。 (1)??????-++-+-+-∞→1)2(1 161141121lim 2222n n Λ; (2))131211( lim 2 222π πππn n n n n n n ++++++++∞ →Λ 11. 试求出以下的曲线积分。 (1)?+l s y x d )(22,l 为曲线)sin (cos t t t a x +=,)cos (sin t t t a y -=, )20(π≤≤t 。

matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化 对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

matlab经典编辑习题集及解答

第1章 MATLAB 概论 1.1 与其他计算机语言相比较,MATLAB 语言突出的特点是什么? MATLAB 具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB 系统由那些部分组成? MATLAB 系统主要由开发环境、MATLAB 数学函数库、MATLAB 语言、图形功能和应用程序接口五个部分组成。 1.4 MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB 操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view 菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M 文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动。在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M 文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB 中有几种获得帮助的途径? 在MATLAB 中有多种获得帮助的途径: (1)帮助浏览器:选择view 菜单中的Help 菜单项或选择Help 菜单中的MATLAB Help 菜单项可以打开帮助浏览器; (2)help 命令:在命令窗口键入“help ” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按T ab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help 命令显示详细信息。 第2章 MATLAB 矩阵运算基础 2.1 在MATLAB 中如何建立矩阵?? ? ???194375,并将其赋予变量a ? >> a=[5 7 3;4 9 1] 2.2 有几种建立矩阵的方法?各有什么优点? 可以用四种方法建立矩阵: ①直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ②通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )

MATLAB习题及参考答案经典.doc

习题: 1, 计算?? ????=572396a 与??? ???=864142b 的数组乘积。 2, 对于B AX =,如果???? ? ?????=753467294A ,??????????=282637B ,求解X 。 3, 已知:?? ?? ? ?????=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。 4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。(应用sin,cos,tan.cot) 5, 将矩阵?? ?? ??=7524a 、??????=3817b 和??? ???=2695c 组合成两个新矩阵: (1)组合成一个4?3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ?? ??? ???? ???237 912685 574 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []296531877254 6, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。(应用poly,polyvalm) 7, 求解多项式x 3-7x 2+2x +40的根。(应用roots) 8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。(应用poly,polyvalm) 9, 计算多项式9514124234++--x x x x 的微分和积分。(应用polyder,polyint ,poly2sym)

10, 解方程组???? ? ?????=??????????66136221143092x 。(应用x=a\b) 11, 求欠定方程组?? ? ???=???? ??5865394742x 的最小范数解。(应用pinv) 12, 矩阵???? ? ?????-=943457624a ,计算a 的行列式和逆矩阵。(应用det,inv) 13, y =sin(x ),x 从0到2π,?x =0.02π,求y 的最大值、最小值、均值和标准差。(应用max,min,mean,std) 14, 参照课件中例题的方法,计算表达式() 2 2 e 1053y x y x z ---=的梯度并绘图。(应用meshgrid, gradient, contour, hold on, quiver) 15, 用符号函数法求解方程a t 2+b*t +c=0。(应用solve) 16, 用符号计算验证三角等式:(应用syms,simple) 17, 求矩阵?? ? ? ??=2221 1211a a a a A 的行列式值、逆和特征根。(应用syms,det,inv,eig) 18, 因式分解:6555234-++-x x x x (应用syms, factor) 19, ? ??? ?? ?? =)sin()log(12 x x e x x a f ax ,用符号微分求df/dx 。(应用syms,diff) 20, 符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t 的变化范围为[0,2π]。(应用syms,ezplot) 21, 绘制曲线13++=x x y ,x 的取值范围为[-5,5]。(应用plot) 22, 有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题-at e =y ,并用箭头线标识出各曲线a 的取值,并添加标题-at e =y 和图例框。(应用plot,title,text,legend) 23 24, x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。

(完整版)matlab习题及答案(2)

第1章MATLAB概论 1.1与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MA TLAB系统由那些部分组成? MATLAB系统主要由开发环境、MA TLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MA TLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MA TLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MA TLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

Matlab考题题整理带答案

MATLAB 考试试题(1) 产生一个1x10的随机矩阵,大小位于(-5 5),并且按照从大到小的顺序排列好!(注:要程序和运行结果的截屏) 答案: a=10*rand(1,10)-5; b=sort(a,'descend') 1.请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 2. 已知变量:A=’ilovematlab’;B=’matlab’, 请找出: (A)B在A中的位置。 (B)把B放在A后面,形成C=‘ilovematlabmatlab’ 3. 请修改下面的程序,让他们没有for循环语句! A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end 4. 请把变量A=[1 2 3; 4 5 6; 7 8 9]写到文件里(output.xls),写完后文件看起来是这样的 1 2 3 4 5 6 7 8 9 5.试从Yahoo网站上获得微软公司股票的2008年9月的每日收盘价。 6.编写M文件,从Yahoo网站批量读取60000.SH至600005.SH在2008年9月份的每日收盘价(提示:使用字符串函数)。 7. 将金牛股份(000937)2005年12月14日至2006年1月10日的交易记录保存到Excel中,编写程序将数据读入MATLAB中,进一步将数据读入Access数据库文件。 8.已知资产每日回报率为0.0025,标准差为0.0208,资产现在价值为0.8亿,求5%水平下资产的10天在险价值(Var)。 9.a=[1 2 3 4 5],b=a(1)*a(5)+a(2)*a(4)+a(3)*a(3)+a(4)*a(2)+a(5)*a(1).试用MATLAB中最简单的方法计算b,注意最简单哦。

matlab第三章习题解答

3-1 >> N=[1 2 3 4 5] N = 1 2 3 4 5 (1) >> N1=2*N N1 = 2 4 6 8 10 (2) >> N2=N/2 N2 = 0.5000 1.0000 1.5000 2.0000 2.5000 (3) >> N3=1./N N3 = 1.0000 0.5000 0.3333 0.2500 0.2000 (4) >> N4=1./(N.*N) N4 = 1.0000 0.2500 0.1111 0.0625 0.0400 3-2 m=input('请输入一个三位整数'); i=fix(m/100); j=mod(fix(m/10),10); k=mod(m,10); n=100*k+10*j+i; disp('反向输出的数为'); disp(n); 3-3 用if来实现 score=input('请输入成绩'); if score>100|score<0 disp('成绩必须>=0且<=100'); elseif score>=90&score<=100 disp('A');

elseif score>=80&score<=89 disp('B'); elseif score>=70&score<=79 disp('C'); elseif score>=60&score<=69 disp('D'); else disp('E'); end 用switch来实现 score=input('请输入成绩'); switch score case num2cell(90:100) disp('A'); case num2cell(80:89) disp('B'); case num2cell(70:79) disp('C'); case num2cell(60:69) disp('D'); case num2cell(0:59)%case{0,1,2,3,4,5}也可以 disp('E'); otherwise disp('成绩必须>=0且<=100'); end 注意:以下程序是错的 score=input('请输入成绩'); switch fix(score/10) case {9,10} disp('A'); case {8} disp('B'); case {7} disp('C'); case {6} disp('D'); case num2cell(0:5)%case{0,1,2,3,4,5}也可以

matlab例题

五、某公司投资2000万元建成一条生产线。投产后,在时刻t 的追加成本和追加收益分别为3/225)(t t t G ++=(百万元/年),3/218)(t t H -=(百万元/年)。试确定该生产线在何时停产可获最大利润?最大利润是多少? 提示:利用函数?=T G H t R 0t 20-d ))t (-)t (()((百万元),由于H (t )-G (t )单调 下降,所以H (t )=G (t )时,R (t )取得最大利润。 5.解:构造函数f(t)=H(t)-G(t)=13-t-3t 2/3=0 ; 令t 1/3=x,则f(t)=-t 3-3t 2+13 可得矩阵P=[-1,-3,0,13] 求最佳生产时间的源程序如下: p=[-1,-3,0,13]; x=roots(p); t=x.^3 运行结果如下: t = 3.6768 +21.4316i 3.6768 -21.4316i 4.6465 再分别将t 的三个值带入函数f(t),比较大小后,得到最大利润与最佳生产时间。 求最大利润的程序代码如下: ① t=3.6768 +21.4316i; x=0:0.01:t; y=13-x-3*x.^(2/3); trapz(x,y) 运行结果: ans = 25.2583 ② t=3.6768 -21.4316i; x=0:0.01:t; y=13-x-3*x.^(2/3); trapz(x,y) 运行结果: ans = 25.2583 ③ t=4.6465; x=0:0.01:t; y=13-x-3*x.^(2/3); trapz(x,y) 运行结果: ans = 26.3208 比较以上三组数据,可知最佳生产时间t=4.6465年,可获得的最大利润 26.3208(百万元/年)。 clear; close; fplot('18-t^(2/3)',[0,20]);grid on;hold on; fplot('5+t+2*t^(2/3)',[0,20],'r');hold off; %发现t 约为4

matlab经典习题及解答(可编辑修改word版)

1 第 1 章 MATLAB 概论 1.1与其他计算机语言相比较,MATLAB 语言突出的特点是什么? MATLAB 具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2MATLAB 系统由那些部分组成? MATLAB 系统主要由开发环境、MATLAB 数学函数库、MATLAB 语言、图形功能和应用程序接口五个部分组成。 1.4MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面 上? 在MATLAB 操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的 Close 按钮,一个是可以使窗 口成为独立窗口的 Undock 按钮,点击 Undock 按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的 view 菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5如何启动 M 文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动。在命令窗口中键入 edit 命令时 也可以启动 M 文件编辑/调试器。 1.6存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到 M 文件中。 1.8如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的 file 菜单中的 Set Path 菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被 MATLAB 运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9在 MATLAB 中有几种获得帮助的途径? 在MATLAB 中有多种获得帮助的途径: (1)帮助浏览器:选择 view 菜单中的 Help 菜单项或选择 Help 菜单中的 MATLAB Help 菜单项可以打开帮助浏览器; (2)help 命令:在命令窗口键入“help” 命令可以列出帮助主题,键入“help函数名”可以得到指定函数的在线帮助信息; (3)lookfor 命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按 Tab 键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor 和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用 help 命令显示详细信息。 第 2 章 MATLAB 矩阵运算基础 ?5 2.1在MATLAB 中如何建立矩阵? ? 7 3? ?,并将其赋予变量 a? 9 ? >> a=[5 7 3;4 9 1] 2.2有几种建立矩阵的方法?各有什么优点? 可以用四种方法建立矩阵: ①直接输入法,如 a=[2 5 7 3],优点是输入方法方便简捷; ②通过 M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ③由函数建立,如 y=sin(x),可以由 MATLAB 的内部函数建立一些特殊矩阵; ④通过数据文件建立,该方法可以调用由其他软件产生数据。 2.3在进行算术运算时,数组运算和矩阵运算各有什么要求? 进行数组运算的两个数组必须有相同的尺寸。进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵 a 与b 相乘(a*b) 4

第3章 MATLAB矩阵处理_习题答案

第3章 MATLAB矩阵处理 习题3 一、选择题 1.产生对角线上全为1,其余为0的2行3列矩阵的命令是()。C A.ones(2,3) B.ones(3,2) C.eye(2,3) D.eye(3,2) 2.建立3阶单位矩阵A的命令是()。A A.A=eye(3) B.A=eye(3,1)C.A=eye(1,3)D.A=ones(3) 3.产生和A同样大小的幺矩阵的命令是()。B A.eye(size(A)) B.ones(size(A)) C.size(eye(A))D.size(ones(A)) 4.建立5×6随机矩阵A,其元素为[100,200]范围内的随机整数,相应的命令是()。D A.A=fix(100+200*rand(5,6)) B.A=fix(200+100*rand(5,6)) C.A= fix(100+300*rand(5,6)) D.A=fix(100+101*rand(5,6)) 5.产生均值为1、方差为0.2的500个正态分布的随机数,相应的命令是()。A。 A.1+sqrt(0.2)*randn(25,20)B.1+0.2*randn(500) C.0.2+randn(500)D.0.2+randn(25,20) 6.从矩阵A提取主对角线元素,并以这些元素构成对角阵B,相应的命令是()。B A.B=diag(A) B.B=diag(diag(A)) C.B=diag(triu(A)) D.B=diag(tril(A)) 7.在MA TLAB中定义A=randn(5,4,3,2),则下列关于A的操作中正确的是()。D A.y=eig(A) B.y=reshape(A,[4 3 6 7]) C.y=cond(A) D.y=sin(A) 8.在命令行窗口中分别输入下列命令,对应输出结果正确的是()。C A.命令x=[-2:2]',结果x=[-2 -1 0 1 2] B.命令x=zeros(1,2);x>0,结果ans=1 C.命令y=diag(eye(3),1)',结果y=[0 0] D.命令5-10*rand(1,2),结果ans=[-5.0501 1.2311] 9.将矩阵A对角线元素加30的命令是()。A A.A+30*eye(size(A)) B.A+30*eye(A)

matlab经典编程例题

以下各题均要求编程实现,并将程序贴在题目下方。 1.从键盘输入任意个正整数,以0结束,输出那些正整数中的素数。 clc;clear; zzs(1)=input('请输入正整数:');k=1; n=0;%素数个数 while zzs(k)~=0 flag=0;%是否是素数,是则为1 for yz=2:sqrt(zzs(k))%因子从2至此数平方根 if mod(zzs(k),yz)==0 flag=1;break;%非素数跳出循环 end end if flag==0&zzs(k)>1%忽略0和1的素数 n=n+1;sus(n)=zzs(k); end k=k+1; zzs(k)=input('请输入正整数:'); end disp(['你共输入了' num2str(k-1) '个正整数。它们是:']) disp(zzs(1:k-1))%不显示最后一个数0 if n==0 disp('这些数中没有素数!')%无素数时显示 else disp('其中的素数是:') disp(sus) end 2.若某数等于其所有因子(不含这个数本身)的和,则称其为完全数。编程求10000以内所有的完全数。 clc;clear;

wq=[];%完全数赋空数组 for ii=2:10000 yz=[];%ii的因子赋空数组 for jj=2:ii/2 %从2到ii/2考察是否为ii的因子 if mod(ii,jj)==0 yz=[yz jj];%因子数组扩展,加上jj end end if ii==sum(yz)+1 wq=[wq ii];%完全数数组扩展,加上ii end end disp(['10000以内的完全数为:' num2str(wq)])%输出 3.下列这组数据是美国1900—2000年人口的近似值(单位:百万)。 (1)若. 2c + = y+ 与试编写程序计算出上式中的a、b、c; 的经验公式为 t at bt y (2)若.bt 的经验公式为 y= 与试编写程序计算出上式中的a、b; y ae t (3)在一个坐标系下,画出数表中的散点图(红色五角星),c + =2中 ax bx y+拟合曲线图(蓝色实心线),以及.bt y=(黑色点划线)。 ae (4)图形标注要求:无网格线,横标注“时间t”,纵标注“人口数(百万)”,图形标题“美国1900—2000年的人口数据”。 (5)程序中要有注释,将你的程序和作好的图粘贴到这里。 clf;clc;clear %清除图形窗、屏幕、工作空间 t=1900:10:2000; y=[76 92 106 123 132 151 179 203 227 250 281]; p1=polyfit(t,y,2);%二次多项式拟合

Matlab 第三章 习题 答案

第三章 3.5计算多项式乘法()()222254x x x x ++++ >> a=[1 2 2]; >> b=[1 5 4]; >> c=conv(a,b) c = 1 7 16 18 8 poly2sym(c) ans = x^4 + 7*x^3 + 16*x^2 + 18*x + 8 3.6计算多项式的除法()()3231368/4x x x x ++++ >> a=[3 13 6 8]; >> b=[1 4]; >> [q r]=deconv(a,b) q = 3 1 2 r = 0 0 0 0 >> poly2sym(q) ans = 3*x^2 + x + 2 3.8求多项式4324121459x x x x --++的微分和积分 (1)微分:>> a=[4 -12 -14 5 9]; >> b=polyder(a) b = 16 -36 -28 5 >> poly2sym(b) ans = 16*x^3 - 36*x^2 - 28*x + 5 (2)积分:polyint(a) ans = 0.8000 -3.0000 -4.6667 2.5000 9.0000 0 >> poly2sym(ans) ans = (4*x^5)/5 - 3*x^4 - (14*x^3)/3 + (5*x^2)/2 + 9*x

3.9求代数方程32349x x x +-+=0的解。 >> [x]=solve('x^3+3*x^2-4*x+9') x = - 7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3) - 1 7/(6*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) + (15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)/2 - (3^(1/2)*i*(7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3)))/2 - 1 7/(6*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) + (15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)/2 + (3^(1/2)*i*(7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3)))/2 – 1 3.10求线性方程组223430 x xy y x x ?++=??-+=??的解 eqn1='x^2+x*y+y=3'; >> eqn2='x^2-4*x+3=0'; [x,y]=solve(eqn1,eqn2) x = 1 3 y = 1 -3/2 3.11求微分方程64dy y x dx =+的通解。 >> y=dsolve('Dy=6*y+4*x','x') y = (C3*exp(6*x))/9 - (2*x)/3 - 1/9 3.14求微分方程组2543dy x dt dx y dt ?=+????=-??在y(0)=3,x(0)=1时的特解。 >> eqn1='Dy=2*x+5'; >> eqn2='Dx=4*y-3'; >> [x y]=dsolve(eqn1,eqn2,'y(0)=3,x(0)=1') x = (2^(1/2)*(7*2^(1/2) - 9))/(8*exp(2*2^(1/2)*t)) + (2^(1/2)*exp(2*2^(1/2)*t)*(7*2^(1/2) +

matlab典型例题

【例】水资源系统规划调度常应用系统分析方法处理,以一个水资源分配问题为例,讨论线性规划问题。例:有甲、乙两个水库同时给A、B、C三个城市供水,甲水库的日供水量为28万m3/d,乙水库的日供水量为35万m3/d,三个城市的日需水量分别为A≥10万m3/d,B≥15万m3/d,C≥20 万m3/d。由于水库与各城市的距离不等,输水方式不同,因此单位水费也不同。各单位水费分别为c11=2000元/万m3、c12=3000元/万m3、c13=4000元/万m3、c21=4500元/万m3、c22=3500元/万m3、c23=3000元/万m3。试作出在满足对三个城市供水的情况下,输水费用最小的方案。

设甲水库向三城市日供水量分别为x ll、x12、x13,乙水库向三城市日供水量分别为x2l、x22、x23。 建立约束条件: x11 + x21 ≥10 x12 + x22 ≥15 x13 + x23 ≥20 x11 + x12 + x13 ≤28 x21 + x22 + x23 ≤35 x11,x12,x13,x21,x22,x23,≥0 目标函数: fmin=c11x11+c12x12+c13x13+c21x21+c22x22+c23x23

这样的问题单纯求解是非常繁琐的,而MLTLAB求解是十分简单的,只要在命令行输入: 》f=[0.2 0.3 0.4 0.45 0.35 0.3]’; 》A=[-1 0 0 -1 0 0;0 -1 0 0 -1 0;0 0 -1 0 0 -1;1 1 1 0 0 0; 0 0 0 1 1 1]; 》B=[-10 -15 -20 28 35]; 》lb=zeros(6,1); 》[X,Zmin]=linprog(f,A,B,[],[],lb,[]) 最后得出x=[10 15 0 0 0 20]万m3,Zmin=12.5万元。

相关主题
文本预览
相关文档 最新文档