matlab实验题汇总要点
- 格式:doc
- 大小:430.86 KB
- 文档页数:25
实验一 MATLAB 运算基础1. 先求以下表达式的值,尔后显示 MATLAB 工作空间的使用情况并保存全部变量。
(1)2sin 85 z1 21 e(2) 12z ln( x 1 x ) ,其中22 x2 1 2i5(3)ae e az sin( a 0.3) ln , a 3.0, 2.9, L , 2.9, 32 22t 0 t 1(4) 2z t 1 1 t 242t 2t 1 2 t 3,其中解:M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成以下操作:(1) 求[100,999] 之间能被 21 整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量比方:ch='ABC123d4e56Fg9'; 那么要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]ch =123d4e56g9实验二 MATLAB矩阵解析与办理1. 设有分块矩阵 A E R3 3 3 2O S2 3 2 2,其中 E、R、O、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试经过数值计算考据 2A E R RS2O S。
Matlab实验三答案实验三 MATLAB语⾔的程序设计⼀、实验⽬的:1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计⽅法3、函数⽂件的编写和设计4、了解和熟悉跨空间变量传递和赋值⼆、实验基本知识:1、程序流程控制语句for循环结构语法:for i=初值:增量:终值语句1……语句nend说明:1.i=初值:终值,则增量为1。
2.初值、增量、终值可正可负,可以是整数,也可以是⼩数,只须符合数学逻辑。
while 循环结构语法:while 逻辑表达式循环体语句end说明:1、whiIe结构依据逻辑表达式的值判断是否执⾏循环体语勾。
若表达式的值为真,执⾏循环体语句⼀次、在反复执⾏时,每次都要进⾏判断。
若表达式的值为假,则程序执⾏end之后的语句。
2、为了避免因逻辑上的失误,⽽陷⼊死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执⾏。
(执⾏循环体的次数不确定;每⼀次执⾏循环体后,⼀定会改变while 后⾯所跟关系式的值。
)3、while循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句1while逻辑表达式2循环体语句2end循环体语句3endelse if 表达式2(可选)语句2else(可选)语句3endend说明:1.if结构是⼀个条件分⽀语句,若满⾜表达式的条件,则往下执⾏;若不满⾜,则跳出if结构。
2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。
3.注意:每⼀个if都对应⼀个end,即有⼏个if,记就应有⼏个end。
switch-case结构语法:switch表达式case常量表达式1语句组1case常量表达式2语句组2……otherwise语句组nend说明:1.switch后⾯的表达式可以是任何类型,如数字、字符串等。
2.当表达式的值与case后⾯常量表达式的值相等时,就执⾏这个case后⾯的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执⾏otherwise后的执⾏语句。
实验Matlab 操作环境熟悉、实验目的1.初步了解Matlab 操作环境。
2.学习使用图形函数计算器命令funtool 及其环境。
二、实验内容熟悉Matlab 操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format 命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who 和whos 命令查看内存变量信息;学会使用图形函数计算器funtool ,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1) y=sin(x);(2) y=(1+x)A3*(2-x); 求下列函数的符号积分(1) y=cos(x);(2) y=1/(1+x^2);(3) y=1/sqrt(1-x^2);(4) y=(x-1)/(x+1)/(x+2);求反函数(1) y=(x-1)/(2*x+3);(2) y=exp(x);(3) y=log(x+sqrt(1+x^2));代数式的化简(1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4);(2) sin (x)A2+cos(x)A2;(3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=xA2通过参数的选择去观察下列函数的图形变化(1) y1=(x+1)A2⑵ y2=(x+2)A2(3) y3=2*x^2⑷ y4=x^2+2(5) y5=x^4⑹ y6=x^2/23.两个函数之间的操作求和(1) sin(x)+cos(x)(2) 1+x+x^2+x^3+x^4+x^5乘积(1) exp(-x)*sin(x)(2) sin(x)*x商(1) sin(x)/cos(x);⑵ x/(1+x^2);(3) 1/(x-1)/(x-2);求复合函数(1) y=exp(u) u=sin(x)(2) y=sqrt(u) u=1+exp(xA2)(3) y=sin(u) u=asin(x)(4) y=sinh(u) u=-x三、设计提示1.初次接触Matlab 应该注意函数表达式的文本式描述。
Matlab上机实验题及参考解答目录实验一Matlab初步实验 (2)一matlab基本功能介绍 (2)二Matlab扩展功能 (2)三练习 (2)四练习题参考解答 (3)实验二概率模型实验 (5)一复习 (5)二事件的响应 (5)三Matlab中随机数字的生成与处理 (5)四练习 (5)五练习题参考解答 (5)实验三插值与拟合 (7)实验四线性规划与非线性规划 (8)4.1 实验目的 (8)4.2 实验内容 (9)4.3 综合练习 (10)4.4 课外作业 (11)实验五数值计算 (12)5.1 实验目的 (12)5.2 实验内容 (12)4.3 综合练习 (15)4.4 课外作业 (15)实验六计算机图像处理 (16)6.1 实验目的 (16)6.2 实验内容 (16)6.3 综合练习 (17)6.4 课外作业 (19)实验七综合练习 (19)7.1 实验目的 (19)7.2 实验内容 (19)7.3 综合练习 (20)7.4 课外作业 (21)实验一 Matlab 初步实验 一 matlab 基本功能介绍1 编程环境2语法规范:for … end; if …else if …end; 3 矩阵运算 4 图形绘制二 Matlab 扩展功能1 编程练习:(1) 绘出序列kk x x r r 0(1),0.2083=+=;(2) 绘出曲线rtx t x e t 0(),0=>2 扩展功能(1) 矩阵中全部数据、部分数据的截取、更改; (2) 矩阵的初始化与赋值如:A=zeros(5,5); A(2:2:)=[1,2 3 4 5] 3 微积分基础(见实验4) 符号计算三 练习(课上编程完成下列练习,课后上机验证) 1 求和S=1+2+3+…+100; 2 求和e 1111!2!10!1...=++++3求和S 1112310!1...=++++4设A 234576138⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦, 求A 的逆、特征值和特征向量;验证Ax=λx 5 画函数图()011mrtm x x t x e x -=⎛⎫+- ⎪⎝⎭6 展开 (x-1)(x-2)…(x-100)7 因式分解 x 8—y 8; 因数分解200520068 求极限312lim +∞→⎪⎭⎫⎝⎛++n n n n9 )](sin[cos 22x x y += 求dxdy10 求积分x xdx 10ln ⎰11 求积分3⎰并且画出所求的平面区域12 设x+2y=1, 2x+3y=6, y=2x 2, 画出各个方程图形,求出曲线交点.四 练习题参考解答%MatlabTrain1.m clear all % 2nd e=1; temp=1; for I=1:1:10temp=temp*I; e=e+1/temp; end e%%%%%%%%%%% clear all % 3nd S=0; temp=1;for I=1:1:100temp=temp*I; endfor J=1:1:temp S=S+1/J; end S%%%%%%%%%%%%%% clear all % 11ndx=linspace(0,4); y=1./sqrt(x.^5+1); plot(x,y) for t=1:0.1:3yt=1./sqrt(t.^5+1);hold online([t,t],[0,yt]);end%fill(t,yt,'b') %%%%%%%%%%%%% clear all% 12ndx=linspace(-2,2);y=[0.5-0.5*x; 2-2/3.*x; 2*x.^2]; plot(x,y)grid实验二概率模型实验一复习1 小结上次编程练习中存在的问题,讲述部分习题答案2 画图命令介绍:line二事件的响应(1) 获取鼠标的位置%MatlabTrain2.mclear all% 鼠标响应p=ginput(3)plot(p(:,1),p(:,2),'r*')(2) 键盘输入相应t=input('How many apples? t=');m=t+3三Matlab中随机数字的生成与处理1 随机数的生成2 产生随机数字3 产生某区间的整数4 生日模拟问题的Montecaro法设计技术、思路学生尝试编程四练习(1) 编程验证人数在不同年龄段的生日的概率计算(2) 编程实现游戏”聪明伶俐100分”(3) 编程实现两家电影院的座位数问题(4) 编程实现某图形面积的计算五练习题参考解答(1) 生日问题程序示例:%birthPro.mn=0;nStudents=30;for I=1:1000 %how many times testy=0;x=1+floor(365*rand(1,nStudents));%get nStudents random numbersfor J=1:nStudents-1for K=J+1:nStudentsif x(J)==x(K)y=1;break;endendendn=n+y;%count, n times of that there are two people's dirthday in the same dayendfreq=n/I % caculating the frequently(2) 编程实现游戏”聪明伶俐100分”参考答案%MatlabTrain2.mclear all% 鼠标响应x=floor(10*rand(1,4))t=input('填入四个数字[n1 n2 n3 n4]=');flag=0;A=0;B=0;for I=1:1:8flag=flag+1;A=0;B=0;if t==xswitch flagcase 1disp('聪明绝顶!');case 2disp('聪明!');case 3disp('有点聪明!');case 4disp('还可以!');case 5disp('聪明伶俐100分!');case 6disp('聪明伶俐90分!');case 7disp('聪明伶俐85分!');case 8disp('聪明伶俐80分!');otherwisedisp('赫赫!');endbreak;endfor J=1:1:4for K=1:1:4if x(J)==t(K) & J==KA=A+1;else if x(J)==t(K) & J~=KB=B+1;endendendends='AABB';s(1)=INT2STR(A);s(3)=INT2STR(B);disp(s);t=input('不重复填入四个数字[n1 n2 n3 n4]=');endif flag>0disp('太烂了! 正确答案是:');xend实验三插值与拟合一复习讲述聪明伶俐100分的编程中的问题二插值三拟合课堂练习2 某之股票价格from 2003 09 01 to 2004 01 02,试进行插值、拟合%TimerS.m%from 2003 09 01 to 2003 01 02clear all;dataST=[15.09 14.7514.95 14.722.88 21.8619.82 19.09];plot(dataST)四课外练习112)进行多项式拟合,求出拟合多项式,并求出多项式在t=4, 5处的值.实验四线性规划与非线性规划4.1 实验目的1 用Matlab求解线性规划2 用Matlab求解非线性规划4.2 实验内容4.2.1 线性规划求解实用格式:x=lp(c, A, b, xLB,xUB,x0,nEq)可以求解下列线性规划模型:min f=c’xs.t. Ax=<=b(其中前nEq个约束为等式约束,即等式约束的个数,其余是不等式约束<=) xLB<=x<=xUB函数中x0参数是算法迭代的初始点,任意取值例1 求解下列线性规划1)123123123123min2..360210200,1,2,3jz x x xs t x x xx x xx x xx j=--+⎧⎪++≤⎪⎪-+≤⎨⎪+-≤⎪≥=⎪⎩,2)1235635623416367min..3621060,1,,7jz x x x x xs t x x xx x xx xx x xx j=-++-⎧⎪++=⎪⎪+-=⎪⎨-+=⎪⎪++=⎪≥=⎪⎩例1求解示例c=[-2 -1 1]';%book page 72 Number 16-1A=[3 1 1;1 -1 2;1 1 -1];b=[60 10 20]';xlb=[0 0 0]';xub=[inf inf inf]';x0=[0 0 0]'; x=lp(c,A,b,xlb,xub,x0,0)% x=(15 5 0)'例2 求解示例c2=[1 -1 1 0 1 -1 0]';%book page 72 Number 16-3A2=[0 0 3 0 1 1 0;...0 1 2 -1 0 0 0;...-1 0 0 0 0 1 0;...0 0 1 0 0 1 1];b2=[6 10 0 6]';xlb2=[0 0 0 0 0 0 0]';xub2=[inf inf inf inf inf inf inf]';x02=[0 0 0 0 0 0 0]';x2=lp(c2,A2,b2,xlb2,xub2,x02,4)% unbounded4.2.2 非线性规划1)命令格式1:[X, OPTIONS]=constr(‘FUN’, X, OPTIONS,VLB,VUB)2)命令格式2:X=FMINCON(FUN,X0,A,B,Aeq,Beq)% minimizes FUN subject to the linear equalities% Aeq*X = Beq as well as A*X <= B. (Set A=[] and B=[] if no inequalities exist.)例2 求解非线性规划y x x x x s t x3211221min22 ..1=++-≤-求解示例%unconop.mfunction y=unconop(x)y=x(1).^3+2*x(1).*x(2)+2*x(2).^2;%book page 148 ex.7-1 后建立调用函数xx=fmincon('unconop',[0 0]',[-1 0],-1,[],[])%book page 148 ex.7-1 4.3 综合练习学生独立编写程序,求解一个含有2个变量的线性规划问题,要求:1)编写程序,把可行域画上阴影;2)求出最优解,在可行域上标出最优解;3)求出基本解,并在上图中表示出来;4)求出基本可行解,观察单纯形方法迭代时,顶点的变化.可行域画图与表出阴影示例:syms x y[u(1),v(1)]=solve('y=x+2','y=2*x');%求出交点坐标[u(2),v(2)]=solve('y=-x+2','y=2*x');[u(3),v(3)]=solve('y=x+2','y=-x+2');x=linspace(0,3,5); %直线作图y=[2*x;-x+2;x+2];line(x,y); gridpatch(double(u),double(v),'b'); 运行结果:4.4 课外作业1 求解线性规划131223min ..250.530,1,2,3i x x s t x x x x x i +⎧⎪+≤⎪⎨+=⎪⎪≥=⎩ (1) 求解线性规划;x *=()(2) 目标函数中c 1由1变为(-1.25)时求最优解;(3) 目标函数中c 1由1变为(-1.25),c 3由1变为2时求最优解;(4) 约束条件中53b ⎛⎫= ⎪⎝⎭变为21b -⎛⎫'= ⎪⎝⎭时,求解;(5) 约束条件中53b ⎛⎫= ⎪⎝⎭变为23b ⎛⎫'= ⎪⎝⎭时,求解[刁在筠,运筹学(第二版),高等教育出版社,2004,01 p74第20题]2 求解非线性规划y x x x x x x x 3221122233min 2223=++++ 注:无约束非线性规划问题, 命令:fminunc子函数% unconop.mfunction y=unconop(x)y=x(1).^2+2*x(1).*x(2)+2*x(2).^2+2*x(2).*x(3)+3*x(3).^2;%book page 148 ex.7-1 主函数:xx=fminunc('unconop',[0.1 0.1 1]')思考:绘出两个变量的线性规划问题的可行域、标出可行的整数解和求出可行解;演示单纯形方法的迭代过程,如j z x x s t x x x x x j 121212min 2..360200,1,2=--⎧⎪+≤⎪⎪+≤⎨⎪⎪≥=⎪⎩实验五 数值计算5.1 实验目的1 掌握代数数值计算2 掌握常微分方程数值计算5.2 实验内容5.2.1 关于多项式设多项式1110()n n n n p x a x a x a x a --=++++表示为110[,,,,]n n p a a a a -=1)求多项式的根 roots(p) %求出p(x)=0的解。
MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤1、命令窗口的简单使用(1)简单矩阵的输入(2)求[12+2×(7-4)]÷32的算术运算结果2、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2?(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式),并将其单下标转换成全下标。
clear,clca=[1 -2 3;4 5 -4;5 -6 7];[x,y]=find(a<0);c=[];for i=1:length(x)c(i,1)=a(x(i),y(i));c(i,2)=x(i);c(i,3)=y(i);c(i,4)=(y(i)-1)*size(a,2)+x(i);endc(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那个是虚数矩阵,后面那个出错(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?a^2= 22 16 1625 26 2326 24 28a.^2=1 4 99 16 425 4 9(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) 转化为列向量(8)使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0方法一:clear,clcdata=[2 8 1 4 6];ir=[1 1 2 3 4 ];jc=[1 3 4 2 1];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;a(9) 写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B3、 已知⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。
一熟悉Matlab工作环境1、熟悉Matlab的5个基本窗口思考题:(1)变量如何声明,变量名须遵守什么规则、是否区分大小写。
答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。
变量名要遵守以下几条规则: 变量名必须以字母开头,只能由字母、数字或下划线组成。
变量名区分大小写。
变量名不能超过63个字符。
关键字不能作为变量名。
最好不要用特殊常量作为变量名。
(2)试说明分号、逗号、冒号的用法。
分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。
逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。
冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。
(3)linspace()称为“线性等分”函数,说明它的用法。
LINSPACE Linearly spaced vector. 线性等分函数LINSPACE(X1, X2) generates a row vector of 100 linearlyequally spaced points between X1 and X2.以X1为首元素,X2为末元素平均生成100个元素的行向量。
LINSPACE(X1, X2, N) generates N points between X1 and X2.For N < 2, LINSPACE returns X2.以X1为首元素,X2为末元素平均生成n个元素的行向量。
如果n<2,返回X2。
Class support for inputs X1,X2:float: double, single数据类型:单精度、双精度浮点型。
(4)说明函数ones()、zeros()、eye()的用法。
ones()生成全1矩阵。
zeros()生成全0矩阵。
eye()生成单位矩阵。
2、Matlab的数值显示格式思考题:(1)3次执行exist(’pi’)的结果一样吗?如果不一样,试解释为什么?>> pians =3.1416 >> sin(pi); >> exist('pi') ans =5 >> pi=0;>> exist('pi')ans =1>> pipi =>> clear>> exist('pi')ans =5>> pians =3.1416答:3次执行的结果不一样。
MATLAB数学实验第二版课后练习题含答案课后练习题MATLAB数学实验第二版的课后练习题如下:第一章课后练习题1.编写MATLAB程序,计算并输出下列公式的结果:y = \\frac{1}{\\sqrt{2\\pi\\sigma^2}} e^{-\\frac{(x-\\mu)^2}{2\\sigma^2}}其中,x, $\\mu$, $\\sigma$ 分别由用户输入。
要求输出结果精确至小数点后两位。
答案如下:x=input('请输入 x 的值:');mu=input('请输入 mu 的值:');sigma=input('请输入 sigma 的值:');y=1/sqrt(2*pi*sigma^2) *exp(-(x-mu)^2/ (2*sigma^2));fprintf('y = %.2f\', y);2.编写MATLAB程序,求解下列方程的解:4x + y = 11\\\\x + 2y = 7答案如下:A= [4,1;1,2];B= [11;7];X=inv(A) *B;fprintf('x = %.2f, y = %.2f\', X(1), X(2));第二章课后练习题1.编写MATLAB程序,计算下列多项式的值:P(x) = x^4 - 2x^3 + 3x^2 - x + 1其中,x 由用户输入。
要求输出结果精确至小数点后两位。
答案如下:x=input('请输入 x 的值:');y=x^4-2*x^3+3*x^2-x+1;fprintf('P(%.2f) = %.2f\', x, y);2.编写MATLAB程序,绘制下列函数的图像:f(x) = \\begin{cases} x + 1, & x < 0 \\\\ x^2, & 0 \\leq x < 1 \\\\ 2x - 1, & x \\geq 1 \\end{cases}答案如下:x=-2:0.01:2;y1=x+1;y2=x.^2.* ((x>=0) & (x<1));y3=2*x-1;plot(x,y1,x,y2,x,y3);legend('y1 = x + 1','y2 = x^2','y3 = 2x - 1');总结本文提供了《MATLAB数学实验第二版》的部分课后练习题及其答案。
matlab实验指导答案详解(⾮常详细正确)实验⼀ MATLAB ⼯作环境熟悉及简单命令的执⾏⼀、实验⽬的:熟悉MATLAB 的⼯作环境,学会使⽤MATLAB 进⾏⼀些简单的运算。
⼆、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌⾯(Desktop ),包括菜单(Menu )、⼯具条(Toolbar )、命令窗⼝(Command Window)、历史命令窗⼝、⼯作空间(Workspace)等;完成⼀些基本的矩阵操作;学习使⽤在线帮助系统。
三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌⾯。
2、在命令窗⼝执⾏命令完成以下运算,观察workspace 的变化,记录运算结果。
(1)(365-52?2-70)÷3 >>(365-52*2-70)/3 ans = 63.6667(2)>>area=pi*2.5^2 area = 19.6350(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -= >>x=3 >>y=4>>z = x ^2 * y ^3 / (x - y) ^2 z = 576(4)将下⾯的矩阵赋值给变量m1,在workspace 中察看m1在内存中占⽤的字节数。
m1=11514412679810115133216 执⾏以下命令>>m1 =[16 2 3 13 ; 5 11 10 8 ; 9 7 6 12 ; 4 14 15 1 ] >>m1( 2 , 3 ) ans = 10 >>m1( 11 ) ans = 6>>m1( : , 3 ) ans =3 10 6 15>>m1( 2 : 3 , 1 : 3 ) ans =5 11 10 9 7 6>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) ans = 34(5)执⾏命令>>help abs查看函数abs 的⽤法及⽤途,计算abs( 3 + 4i ) (6)执⾏命令>>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)(6)运⾏MATLAB 的演⽰程序,>>demo ,以便对MATLAB 有⼀个总体了解。
一元函数微分学实验1 一元函数的图形(基础实验)实验目的 通过图形加深对函数及其性质的认识与理解, 掌握运用函数的图形来观察和分析 函数的有关特性与变化趋势的方法,建立数形结合的思想; 掌握用Matlab 作平面曲线图性的方法与技巧.初等函数的图形2 作出函数x y tan =和x y cot =的图形观察其周期性和变化趋势. 解:程序代码:>> x=linspace(0,2*pi,600); t=sin(x)./(cos(x)+eps);plot(x,t);title('tan(x)');axis ([0,2*pi,-50,50]); 图象:程序代码:>> x=linspace(0,2*pi,100); ct=cos(x)./(sin(x)+eps);plot(x,ct);title('cot(x)');axis ([0,2*pi,-50,50]); 图象:4在区间]1,1[-画出函数xy 1sin =的图形. 解:程序代码:>> x=linspace(-1,1,10000);y=sin(1./x); plot(x,y);axis([-1,1,-2,2]) 图象:二维参数方程作图6画出参数方程⎩⎨⎧==t t t y tt t x 3cos sin )(5cos cos )(的图形:解:程序代码:>> t=linspace(0,2*pi,100);plot(cos(t).*cos(5*t),sin(t).*cos(3*t)); 图象:极坐标方程作图8 作出极坐标方程为10/t e r =的对数螺线的图形. 解:程序代码:>> t=0:0.01:2*pi; r=exp(t/10);polar(log(t+eps),log(r+eps)); 图象:90270分段函数作图10 作出符号函数x y sgn =的图形. 解:程序代码:>> x=linspace(-100,100,10000); y=sign(x); plot(x,y);axis([-100 100 -2 2]);函数性质的研究12研究函数)3(log 3)(35x e x x f x -++=在区间]2,2[-上图形的特征. 解:程序代码:>> x=linspace(-2,2,10000);y=x.^5+3*exp(x)+log(3-x)/log(3); plot(x,y); 图象:实验2 极限与连续(基础实验)实验目的 通过计算与作图, 从直观上揭示极限的本质,加深对极限概念的理解. 掌握用 Matlab 画散点图, 以及计算极限的方法. 深入理解函数连续的概念,熟悉几种间断点的图形 特征,理解闭区间上连续函数的几个重要性质.作散点图14分别画出坐标为)10,,2,1(),4,(),,(3222 =+i i i i i i 的散点图, 并画出折线图. 解:散点图程序代码: >> i=1:10; plot(i,i.^2,'.')或:>> x=1:10;y=x.^2;for i=1:10;plot(x(i),y(i),'r')hold onend折线图程序代码:>> i=1:10;plot(i,i.^2,'-x')程序代码:>> i=1:10;plot(i.^2,4*(i.^2)+i.^3,'.')>> i=1:10;plot(i.^2,4*(i.^2)+i.^3,'-x')数列极限的概念16通过动画观察当∞→n 时数列21n a n =的变化趋势.解:程序代码: >> n=1:100; an=(n.^2); n=1:100; an=1./(n.^2); n=1:100; an=1./(n.^2); for i=1:100plot(n(1:i),an(1:i)),axis([0,100,0,1]) pause(0.1) end 图象:函数的极限18在区间]4,4[-上作出函数xx xx x f --=339)(的图形, 并研究 )(lim x f x ∞→ 和 ).(lim 1x f x →解:作出函数x x xx x f --=339)(在区间]4,4[-上的图形 >> x=-4:0.01:4;y=(x.^3-9*x)./(x.^3-x+eps); plot(x,y)从图上看,()f x 在x →1与x →∞时极限为0两个重要极限 20计算极限⎪⎭⎫⎝⎛+→x x x x x sin 11sin lim )1(0 x x e x 2lim )2(+∞→30sin tan lim )3(xx x x -→ x x x 0lim )4(+→ x xx ln cot ln lim )5(0+→ x x x ln lim )6(20+→ xx xx x x sin cos sin lim)7(20-→ 125523lim )8(323+++-∞→x x x x x xx x e e x x x sin 2lim )9(0----→ xx x x cos 110sin lim )10(-→⎪⎭⎫ ⎝⎛ 解:(1)>> limit(x*sin(1/x)+1/x*sin(x))ans =1(2) >> limit(x^2/exp(x),inf) ans = 0(3) >> limit((tan(x)-sin(8))/x^3) ans =NaN(4) >> limit(x^x,x,0,'right') ans =1(5) >> limit(log(cot(x))/log(x),x,0,'right') ans =-1(6) >> limit(x^2*log(x),x,0,'right') ans =0(7) >> limit((sin(x)-x.*cos(x))./(x.^2.*sin(x)),x,0) ans =1/3(8) >> limit((3*x.^3-2*x.^2+5)/(5*x.^3+2*+1),x,inf) ans =3/5(9) >> limit((exp(x)-exp(-x)-2*x)./(x-sin(x))) ans =2(10) >> limit((sin(x)/x).^(1/(1-cos(x)))) ans =exp(-1/3)实验3 导数(基础实验)实验目的 深入理解导数与微分的概念, 导数的几何意义. 掌握用Matlab 求导数与高 阶导数的方法. 深入理解和掌握求隐函数的导数, 以及求由参数方程定义的函数的导数的方法. 导数概念与导数的几何意义22作函数71232)(23+-+=x x x x f 的图形和在1-=x 处的切线. 解:作函数71232)(23+-+=x x x x f 的图形程序代码: >> syms x;>> y=2*x^3+3*x^2-12*x+7; >> diff(y) ans =6*x^2+6*x-12 >> syms x;y=2*x^3+3*x^2-12*x+7; >> f=diff(y) f =6*x^2+6*x-12 >> x=-1;f1=6*x^2+6*x-12 f1 = -12>> f2=2*x^3+3*x^2-12*x+7 f2 = 20>> x=linspace(-10,10,1000);y1=2*x.^3+3*x.^2-12*x+7; y2=-12*(x+1)+20; plot(x,y1,'r',x,y2,'g')求函数的导数与微分24求函数bx ax x f cos sin )(=的一阶导数. 并求.1⎪⎭⎫⎝⎛+'b a f解:求函数bx ax x f cos sin )(=的一阶导数程序代码: >> syms a b x y;y= sin(a*x)*cos(b*x); D1=diff(y,x,1) 答案:D1 =cos(a*x)*a*cos(b*x)-sin(a*x)*sin(b*x)*b求.1⎪⎭⎫ ⎝⎛+'b a f程序代码: >> x=1/(a+b);>> cos(a*x)*a*cos(b*x)-sin(a*x)*sin(b*x)*b 答案:ans =cos(a/(a+b))*a*cos(b/(a+b))-sin(a/(a+b))*sin(b/(a+b))*b 拉格朗日中值定理26对函数),2)(1()(--=x x x x f 观察罗尔定理的几何意义. (1) 画出)(x f y =与)(x f '的图形, 并求出1x 与.2x 解:程序代码:>> syms x;f=x*(x-1)*(x-2); f1=diff(f) f1 =(x-1)*(x-2)+x*(x-2)+x*(x-1) >> solve(f1) ans =1+1/3*3^(1/2) 1-1/3*3^(1/2)>> x=linspace(-10,10,1000); y1=x.*(x-1).*(x-2);y2 =(x-1).*(x-2)+x.*(x-2)+x.*(x-1); plot(x,y1,x,y2)(2)画出)(x f y 及其在点))(,(11x f x 与))(,(22x f x 处的切线. 程序代码:>> syms x; >> f=x*(x-1)*(x-2); >> f1=diff(f) f1 =(x-1)*(x-2)+x*(x-2)+x*(x-1) >> solve(f1) ans =1+1/3*3^(1/2) 1-1/3*3^(1/2)>> x=linspace(-3,3,1000); >> y1=x.*(x-1).*(x-2);>> y2 =(x-1).*(x-2)+x.*(x-2)+x.*(x-1); >> plot(x,y1,x,y2) >> hold on>> x=1+1/3*3^(1/2); >> yx1=x*(x-1)*(x-2) yx1 =-0.3849>> x=1-1/3*3^(1/2); >> yx2=x*(x-1)*(x-2) yx2 =0.3849x=linspace(-3,3,1000); yx1 =-0.3849*x.^0; yx2 =0.3849*x.^0; plot(x,yx1,x,yx2)28求下列函数的导数:(1) 31+=x e y ; 解:程序代码:>> syms x y; y=exp((x+1)^3); D1=diff(y,1) 答案:D1 =3*(x+1)^2*exp((x+1)^3)(2) )]42ln[tan(π+=x y ;解:程序代码:>> syms x;y=log(tan(x/2+pi/4)); D1=diff(y,1) 答案:D1 =(1/2+1/2*tan(1/2*x+1/4*pi)^2)/tan(1/2*x+1/4*pi)(3) x x y sin ln cot 212+=;解:程序代码:>> syms x;y=1/2*(cot(x))^2+log(sin(x)); D1=diff(y,1) 答案:D1 =cot(x)*(-1-cot(x)^2)+cos(x)/sin(x) (4) xy 2arctan21=. 解:程序代码:>> syms x;>> y=sqrt(2)*atan(sqrt(2)/x); >> D1=diff(y,1) 答案:D1 =-2/x^2/(1+2/x^2)一元函数积分学与空间图形的画法实验4 一元函数积分学(基础实验)实验目的 掌握用Matlab 计算不定积分与定积分的方法. 通过作图和观察, 深入理解定积分的概念和思想方法. 初步了解定积分的近似计算方法. 理解变上限积分的概念. 提高应用 定积分解决各种问题的能力.不定积分计算30求.)1(532⎰-dx x x解:程序代码:>> syms x y;>> y=x^2*(1-x^3)^5; >> R=int(y,x) 答案:R =-1/18*x^18+1/3*x^15-5/6*x^12+10/9*x^9-5/6*x^6+1/3*x^332求.arctan 2⎰xdx x解:程序代码:>> syms x y;>> y=x^2*atan(x); >> R=int(y,x) 答案:R =1/3*x^3*atan(x)-1/6*x^2+1/6*log(x^2+1)定积分计算34 求.)(102⎰-dx x x解:程序代码:>> syms x y; >> y=x-x^2;>> R=int(y,x,0,1) 答案: R =1/6变上限积分 36 画出变上限函数⎰x dt t t 02sin 及其导函数的图形.解:程序代码:>> syms x y t; >> y=t*sin(t^2); >> R=int(y,x,0,x) 答案:R =t*sin(t^2)*x 再求导函数 程序代码:>> DR=diff(R,x,1) 答案:DR =t*sin(t^2)实验5 空间图形的画法(基础实验)实验目的 掌握用Matlab 绘制空间曲面和曲线的方法. 熟悉常用空间曲线和空间曲面 的图形特征,通过作图和观察, 提高空间想像能力. 深入理解二次曲面方程及其图形.一般二元函数作图38作出函数2214y x z ++=的图形.解:程序代码:>> x=linspace(-5,5,500); [x,y]=meshgrid(x); z=4./(1+x.^2+y.^2); mesh(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('function')40作出函数)94cos(22y x z +=的图形. 解:程序代码:>> x=-10:0.1:10;[x,y]=meshgrid(x);z=cos(4*x.^2+9*y.^2); mesh(x,y,z);xlabel('x-axis'),ylabel('y-axis'),zlabel('z-axis');title('function')讨论:坐标轴选取范围不同时,图形差异很大,对本题尤为明显,如右图为坐标轴[-1,1]二次曲面42作出单叶双曲面1941222=-+z y x 的图形.(曲面的参数方程为 ,tan 3,cos sec 2,sin sec u z v u y v u x === (.20,2/2/πππ≤≤<<-v u ))解:程序代码:>> v=0:pi/100:2*pi; >> u=-pi/2:pi/100:pi/2; >> [U,V]=meshgrid(u,v); >> x=sec(U).*sin(V); >> y=2*sec(U).*cos(V); >> z=3*tan(U); >> surf(x,y,z)44 可以证明: 函数xy z =的图形是双曲抛物面. 在区域22,22≤≤-≤≤-y x 上作出它的图形.解:程序代码:>> x=-2:0.01:2;[x,y]=meshgrid(x); >> z=x.*y;>> mesh(x,y,z);46 画出参数曲面]2,001.0[],4,0[)5/2/ln(tan cos sin sin sin cos ∈∈⎪⎩⎪⎨⎧++===v u u v v z vu y v u x π 的图形.解:程序代码:>> v=0.001:0.001:2; >> u=0:pi/100:4*pi;>> [U,V]=meshgrid(u,v); >> x=cos(U).*sin(V); >> y=sin(U).*sin(V);>> z=cos(V)+log(tan(V/2)+U/5); >> mesh(x,y,z);空间曲线48 作出空间曲线)60(2,sin ,cos π≤≤===t t z t t y t t x 的图形. 解:程序代码:>> syms t;ezplot3(t*cos(t),t*sin(t),2*t,[0,6*pi])-1010-20-100100xx = t cos(t), y = t sin(t), z = 2 tz50绘制参数曲线 ⎪⎪⎩⎪⎪⎨⎧=+==t z t y t x arctan 211cos 2的图形.解:程序代码:>> t=-2*pi:pi/100:2*pi;x=cos(t).*cos(t);y=1./(1+2*t);z=atan(t); plot3(x,y,z);grid;xlabel('x'),ylabel('y'),zlabel('z')xyz多元函数微积分实验6 多元函数微分学(基础实验)实验目的 掌握利用Matlab 计算多元函数偏导数和全微分的方法, 掌握计算二元函数极值和条件极值的方法. 理解和掌握曲面的切平面的作法. 通过作图和观察, 理解二元 函数的性质、方向导数、梯度和等高线的概念.求多元函数的偏导数与全微分52设),(cos )sin(2xy xy z +=求.,,,222yx zx z y z x z ∂∂∂∂∂∂∂∂∂解:程序代码:>> syms x y;S=sin(x*y)+(cos(x*y))^2; D1=diff(S,'x',1); D2=diff(S,'y',1); D3=diff(S,'x',2); D4=diff(S,'y',2); D1,D2,D3,D4答案: D1 = cos(x*y)*y-2*cos(x*y)*sin(x*y)*yD2 = cos(x*y)*x-2*cos(x*y)*sin(x*y)*xD3 =-sin(x*y)*y^2+2*sin(x*y)^2*y^2-2*cos(x*y)^2*y^2 D4 = -sin(x*y)*x^2+2*sin(x*y)^2*x^2-2*cos(x*y)^2*x^2实验7 多元函数积分学(基础实验)实验目的掌握用Matlab 计算二重积分与三重积分的方法; 深入理解曲线积分、曲面积分的 概念和计算方法. 提高应用重积分和曲线、曲面积分解决各种问题的能力.计算重积分54计算,2dxdy xyD⎰⎰ 其中D 为由,,2y x y x ==+ 2=y 所围成的有界区域.解:程序代码:>> syms x y;int(int(x*y^2,x,2-y,sqrt(y)),y,1,2) 答案:ans =193/120 重积分的应用56求旋转抛物面224y x z --=在Oxy 平面上部的面积.S 解:程序代码:>> int(2*pi*r,r,0,2) 答案: ans =4*pi无穷级数与微分方程实验8 无穷级数(基础实验) 实验目的观察无穷级数部分和的变化趋势,进一步理解级数的审敛法以及幂级数部分和对函数的 逼近. 掌握用Matlab 求无穷级数的和, 求幂级数的收敛域, 展开函数为幂级数以及展 开周期函数为傅里叶级数的方法.数项级数58(1) 观察级数∑∞=121n n的部分和序列的变化趋势.解:程序代码:for i=1:100 s=0; for n=1:i s=s+1/n^2; endplot(i,s,'.');hold on; end(2) 观察级数∑∞=11n n 的部分和序列的变化趋势.>> for i=1:100 s=0; for n=1:i s=s+1/n; endplot(i,s,'.'); hold on; end60 求∑∞=++123841n n n的值.解:程序代码:>> syms n;score=symsum(1/(4*n^2+8*n+3),1,inf) 答案: score =1/6函数的幂级数展开62求x arctan 的5阶泰勒展开式. >> syms x;>> T5=taylor(atan(x),6)答案:T5 =x-1/3*x^3+1/5*x^5实验9 微分方程(基础实验)实验目的 理解常微分方程解的概念以及积分曲线和方向场的概念,掌握利用 Matlab 求微分方程及方程组解的常用命令和方法.求解微分方程64求微分方程 22x xe xy y -=+'的通解. 解:程序代码:>> y=dsolve('Dy+2*x*y=x*exp(-x^2)','x') 答案:y =(1/2*x^2+C1)*exp(-x^2)66求微分方程x e y y y x 2cos 52=+'-''的通解. 解:程序代码:>> y=dsolve('D2y-2*Dy+5*y=exp(x)*cos(2*x)','x') 答案: y =exp(x)*sin(2*x)*C2+exp(x)*cos(2*x)*C1+1/4*exp(x)*sin(2*x)*x68求微分方程组⎪⎪⎩⎪⎪⎨⎧=--=++02y x dtdy e y x dt dxt 在初始条件0,100====t t y x 下的特解.解:程序代码:>> [x,y]=dsolve('Dx+x+2*y-exp(t)','Dy-x-y','x(0)=1','y(0)=0','t') 答案: x = cos(t)y = 1/2*sin(t)-1/2*cos(t)+1/2*exp(t)70求解微分方程,)1(122/5+=+-x x y dx dy 并作出积分曲线. 解:程序代码:>> syms x yy=dsolve('Dy-2*y/(x+1)-(x+1)^(5/2)','x') 答案:y =(2/3*(x+1)^(3/2)+C1)*(x+1)^2 做积分曲线 由>> syms x yx=linspace(-5,5,100); C=input('请输入C 的值:'); y=(2/3*(x+1).^(3/2)+C).*(x+1).^2; plot(x,y)例如对应有: 请输入C 的值:2 请输入C 的值:20矩阵运算与方程组求解实验10 行列式与矩阵实验目的掌握矩阵的输入方法. 掌握利用Matlab 对矩阵进行转置、加、减、数乘、相乘、乘方等运算, 并能求矩阵的逆矩阵和计算方阵的行列式.矩阵A 的转置函数Transpose[A]72 求矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛411365243271的转置. 解:程序代码:>> A=[1,7,2;3,4,2;5,6,3;1,1,4]; >> Sove=A' 答案:Sove =1 3 5 1 7 4 6 12 234 矩阵线性运算 73设,291724,624543⎪⎪⎭⎫⎝⎛=⎪⎪⎭⎫⎝⎛=B A 求.24,A B B A -+ 解:程序代码:>> A=[3,4,5;4,2,6]; B=[4,2,7;1,9,2];S1=A+BS2=4*B-2*A答案:S1 =7 6 125 11 8S2 =10 0 18-4 32 -474设,148530291724,36242543⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛=mb ma 求矩阵ma 与mb 的乘积. 解:程序代码:>> ma=[3,4,5,2;4,2,6,3];>> mb=[4,2,7;1,9,2;0,3,5;8,4,1];>> Sove=ma*mb答案:Sove =32 65 5642 56 65矩阵的乘法运算 75设,101,530291724⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛=B A 求AB 与,A B T 并求.3A解:程序代码:>> A=[4 2 7;1 9 2;0 3 5];B=[1;0;1];>> AB=A*BAB =1135>> BTA=B'*ABTA =4 5 12>> A3=A^3A3 =119 660 555141 932 44454 477 260求方阵的逆76 设,5123641033252312⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=A 求.1-A 解:程序代码:>> A=[2,1,3,2;5,2,3,3;0,1,4,6;3,2,1,5];Y=inv(A)答案:Y =-1.7500 1.3125 0.5000 -0.68755.5000 -3.6250 -2.0000 2.37500.5000 -0.1250 0.0000 -0.1250-1.2500 0.6875 0.5000 -0.312577 设,221331317230,5121435133124403⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=B A 求.1B A - 解:程序代码:>> A=[3 0 4 4 ;2 1 3 3 ;1 5 3 4;1 2 1 5];B=[0 3 2 ;7 1 3;1 3 3 ;1 2 2];Solve=A'*B答案:Solve =16 16 1714 20 2225 26 2830 37 3978 解方程组⎪⎩⎪⎨⎧-=-+=+-=++.2442,63,723z y x z y x z y x解:程序代码:>> A=[3 2 1;1 -1 3;2 4 -4];b=[7 6 -2];>> A\b'答案:ans =1.00001.00002.0000求方阵的行列式79 求行列式 .3351110243152113------=D 解:程序代码:>> A=[3,1,-1,2;-5,1,3,-4;2,0,1,-1;1,-5,3,-3];D=det(A)答案:D =4080求.11111111111122222222d d d d c c c c b b b b a a a a D ++++= 解:程序代码:>> syms a b c d;D=[a^2+1/a^2 a 1/a 1;b^2+1/b^2 b 1/b 1;c^2+1/c^2 c 1/c 1;d^2+1/d^2 d 1/d 1];det(D)答案:ans =-(-c*d^2*b^3+c^2*d*b^3-c^3*d^2*a+c^3*d*a^2*b^4+c*d^2*a^3-c^3*d^2*a*b^4-c^2*d*a^3-c*d^2*b^3*a^4+c^2*d*b^3*a^4+c^3*d^2*b*a^4-c^3*d*b^2*a^4-c^2*d^3*b*a^4+c*d^3*b^2*a^4+c*d ^2*a^3*b^4-c^2*d*a^3*b^4+c^3*d^2*b-c^3*d*b^2-c^2*d^3*b+c*d^3*b^2+c^3*d*a^2+c^2*d^3*a-c *d^3*a^2-b*d^2*a^3+b^2*d*a^3+b^3*d^2*a-b^3*d*a^2-b^2*d^3*a+b*d^3*a^2+b*c^2*a^3-b^2*c*a ^3-b^3*c^2*a+b^3*c*a^2+b^2*c^3*a-b*c^3*a^2+c^2*d^3*a*b^4-c*d^3*a^2*b^4-b*d^2*a^3*c^4+b ^2*d*a^3*c^4+b^3*d^2*a*c^4-b^3*d*a^2*c^4-b^2*d^3*a*c^4+b*d^3*a^2*c^4+b*c^2*a^3*d^4-b^2*c*a^3*d^4-b^3*c^2*a*d^4+b^3*c*a^2*d^4+b^2*c^3*a*d^4-b*c^3*a^2*d^4)/a^2/c^2/d^2/b^281 计算范德蒙行列式.1111145444342413534333231252423222154321x x x x x x x x x x x x x x x x x x x x 解:程序代码:>> syms x1 x2 x3 x4 x5; >> A=[1,1,1,1,1;x1,x2,x3,x4,x5;x1^2,x2^2,x3^2,x4^2,x5^2;x1^3,x2^3,x3^3,x4^3,x5^3;x1^4,x2^4,x3^4,x4^4,x5^4];>> DC=det(A);>> DS=simple(DC)答案:DS =(-x5+x4)*(x3-x5)*(x3-x4)*(-x5+x2)*(x2-x4)*(x2-x3)*(-x5+x1)*(x1-x4)*(x1-x3)*(x1-x2)82 设矩阵 ,60975738723965110249746273⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----=A 求.),(|,|3A A tr A 解:程序代码:>> A=[3,7,2,6,-4;7,9,4,2,0;11,5,-6,9,3;2,7,-8,3,7;5,7,9,0,-6];>> D=det(A),T=trace(A),A3=A^3答案:D =11592T =3A3=726 2062 944 294 -3581848 3150 26 1516 2281713 2218 31 1006 4041743 984 -451 1222 384801 2666 477 745 -125向量的内积83 求向量}3,2,1{=u 与}0,1,1{-=v 的内积.解:程序代码:>> u=[1 2 3];v=[1 -1 0];solve=dot(u,v)答案:solve =-184设,001001⎪⎪⎪⎭⎫⎝⎛=λλλA 求.10A 一般地?=k A (k 是正整数).解:程序代码:>> syms r;>> A=[r,1,0;0,r,1;0,0,r];>> A^10答案:ans =[ r^10, 10*r^9, 45*r^8][ 0, r^10, 10*r^9][ 0, 0, r^10]85.求⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛+++++a a a a a 1111111111111111111111111的逆.解:程序代码:>> syms aA=[1+a,1,1,1,1;1,1+a,1,1,1;1,1,1+a,1,1;1,1,1,1+a,1;1,1,1,1,1+a];solve=inv(A)答案:solve =[ 1/a*(a+4)/(a+5), -1/a/(a+5), -1/a/(a+5), -1/a/(a+5),-1/a/(a+5)] [ -1/a/(a+5), 1/a*(a+4)/(a+5), -1/a/(a+5), -1/a/(a+5),-1/a/(a+5)][ -1/a/(a+5), -1/a/(a+5), 1/a*(a+4)/(a+5), -1/a/(a+5), -1/a/(a+5)][ -1/a/(a+5), -1/a/(a+5), -1/a/(a+5), 1/a*(a+4)/(a+5), -1/a/(a+5)][ -1/a/(a+5), -1/a/(a+5), -1/a/(a+5), -1/a/(a+5), 1/a*(a+4)/(a+5)] 实验11 矩阵的秩与向量组的极大无关组实验目的 学习利用Matlab 求矩阵的秩,作矩阵的初等行变换; 求向量组的秩与极大无关组. 求矩阵的秩86 设,815073*********⎪⎪⎪⎭⎫ ⎝⎛-------=M 求矩阵M 的秩.解:程序代码:>> M=[3,2,-1,-3,-2;2,-1,3,1,-3;7,0,5,-1,-8];R=rank(M)答案:R=2向量组的秩87求向量组)0,3,0,2(),2,5,4,0(),1,1,2,1(231=--=-=ααα的秩.解:程序代码:>> A=[1,2,-1,1;0,-4,5,-2;2,0,3,0];R=rank(A)答案:R =288向量组)7,5,1,3(),5,4,3,1(),1,1,1,1(),3,2,1,1(4321==-==αααα是否线性相关?解:由>> A=[1 1 2 3;1 -1 1 1;1 3 4 5;3 1 5 7];rank(A)ans = 3即rank(A)=3 小于阶数489向量组)3,1,1(),2,1,3(),7,2,2(321=-==ααα是否线性相关?解:由>> A3=[2,2,7;3,-1,2;1,1,3];R=rank(A3)得 R = 3即rank(A3)=3 等于阶数3故向量组线性无关。
湖南科技大学技能培训 3(习题)姓名: 学号: 12070204 专业: 信息与计算科学学院: 数学与计算科学学院指导教师: 谭敏二〇一三年十二月三十日第2讲:MATLAB入门1、用起泡法对10个数由小到大排序,即将相邻两个数比较,将小的调到前头。
解:代码如下:Untitled1.mclear all;clc;a=[7 2 1 0 9 4 5 -3 8 6];n=length(a);for ii=1:n-1if a(ii+1)>=a(ii)t1=a(ii);a(ii)=a(ii+1);a(ii+1)=t1;endfor jj=1:n-1if a(jj+1)>=a(jj)t2=a(jj);a(jj)=a(jj+1);a(jj+1)=t2;endendenda运行结果显示如下:a =9 8 7 6 5 4 2 1 0 -32、有一个4*5矩阵,编程求出其最大值及其所处的位置。
解:代码如下:clear;a=[1 2 3 4 53 4 5 6 96 7 8 8 01 2 4 5 6]max=-1;flage1=0;flage2=0for i=1:4for j=1:5if (a(i,j)>max)t=max;max=a(i ,j);a(i,j)=t;flage1=i;flage2=j;endendendmaxflage1flage2运行结果显示如下:a =1 2 3 4 53 4 5 6 96 7 8 8 01 2 4 5 6 flage2 =max =9flage1 =253、编程求∑=201!n n 。
解:代码如下:clear;clc;sum=0;for i=2:11sum=sum+gamma(i);endsum运行结果显示如下:sum =4037913第3讲:MATLAB 作图1、在同一平面中的两个窗口分别画出心形线和马鞍面。
要求:1)在图形上加格栅、图例和标注;2)定制坐标;3)以不同角度观察马鞍面。
解:心型线代码如下:clear;clc;i=-pi:0.1:pi;x=2.*(sin(i)-sin(2*i)./2);y=2.*(cos(i)-cos(i).^2);plot(x,y);axis([-3 3 -4.2 1]);%制定图形坐标title('心形线');%当前图顶端加图例xlabel('x');%当前图x轴加图例ylabel('y');%当前图y轴加图例grid on;%加格栅到当前图上心型线运行结果显示如下图:图3.1(心型线)马鞍线代码如下:clear;clc;a=10;b=10;x=-1.5:0.1:1.5;y=-1.5:0.1:1.5;[X,Y]=meshgrid(x,y);%x行y列的矩阵Z=X.^2/a-Y.^2/b;figure(2);%新建窗口subplot(221);%分割当前窗口,作图显示在该分割块上surf (X,Y,Z);title('马鞍面');xlabel('x');ylabel('y');subplot(222);surf (X,Y,Z);title('马鞍面');xlabel('x');ylabel('y');view(20,30);%改变视角到(20,30)subplot(223);surf (X,Y,Z);title('马鞍面');xlabel('x');ylabel('y');view(50,20);%改变视角到(50,20)subplot(224);surf (X,Y,Z);title('马鞍面');xlabel('x');ylabel('y');view(60,10);%改变视角到(60,10)马鞍线运行结果显示如下图:图3.2(马鞍面)2、以不同的视角观察球面x2+y2+z2=r2和圆柱面x2+y2=rx所围区域.解:代码如下:clear;clc;r=2;[x0,y0,z0]=sphere(50);x=r*x0;y=r*y0;z=r*z0;surf(x,y,z);hold on;f=@(x,y)x.^2+y.^2-r*x;ezsurf(f,[-1.5,2.5],[-2,1.5]);axis equal;view(30,20);运行结果显示如下图:图3.3第4讲:线性规划1、某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人20名,可获利9万元.今工厂共有原料60千克,工人150名,又由于其他条件所限甲饮料产量不超过800箱.问如何安排生产计划,即两种饮料各生产多少使获利最大.进一步讨论:1)若投资0.8万元可增加原料1千克,问应否作这项投资.2)若每100箱甲饮料获利可增加1万元,问应否改变生产计划.解:编写M文件,代码如下:clear;clc;c=[-10 -9];A=[6 5;10 20;1 0];b=[60;150;8];Aeq=[];beq=[];vlb=[0;0];vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)运行结果显示如下图:图4.1结果分析:甲饮料生产642箱,乙饮料生产428箱时,获利最大为102.8万元。
第5讲:无约束优化1、求下列函数的极小点:1) ()2123222118294x x x x x X f +-++=;2)()212122212223x x x x x x X f -+-+=;3)()()224121+-=x X f .第1),2)题的初始点可任意选取,第3)题的初始点取为()T 00,1X =.解:编写M文件,代码如下:(1):clear;clc;fun=inline('x(1)^2+4*x(2)^2+9*x(3)^2-2*x(1)+18*x(2)','x') [x,f]=fminsearch(fun,[0,0,0])x =1.0000 -2.25000.0000f = -21.2500x1=1.0000 ; x2=-2.2500 ; x3=0.0000(2):clear;clc;fun=inline('x(1)^2+(3/2)*x(2)^2-2*x(1)*x(2)+x(1)-2*x(2)', 'x')[x,f]=fminsearch(fun,[0,0])x =0.50001.0000f =-0.7500(3):clear;clc;fun=inline('(x(1)-1)^4+2*x(2)^2','x')[x,f]=fminsearch(fun,[0,1])x =1.0001-0.0000f =1.0837e-017运行结果显示如下:(1):fun =Inline function:fun(x) = x(1)^2+4*x(2)^2+9*x(3)^2-2*x(1)+18*x(2)x =1.0000 -2.2500 0.0000f =-21.2500x =-1.2500ans =f =-21.2500x3 =(2):fun =Inline function:fun(x) = x(1)^2+(3/2)*x(2)^2-2*x(1)*x(2)+x(1)-2*x(2) x =0.5000 1.0000f =-0.7500x =0.5000ans =1f =-0.7500(3):fun =Inline function:fun(x) = (x(1)-1)^4+2*x(2)^2x =1.0001 -0.0000f =1.0837e-017x =1.0001ans =f =1.0837e-0172. 梯子长度问题的一楼房的后面是一个很大的花园. 在花园中紧靠着楼房有一 个温室, 高3m ,温室伸入花园2m , 温室正上方是楼房 窗台. 清洁工打扫窗台周围,他得用梯子越过温室,一头放在花园中,一头靠在楼房的墙上. 因为 温室是不能承受梯子压力的,所以梯子太短 是不行的.现清洁工只有一架7m 长 的梯子,你认为它能达到要求吗? 图5.1 能满足要求的梯子的最小长 度为多少? 解:编写M 文件,代码如下:[x,fval,exitflag,output]=fminbnd('(2/cos(x))+(3/sin(x))',0,pi/2,x)运行结果显示如下:x =0.8528 fval = 7.0235 exitflag = 1output =iterations: 8 funcCount: 9algorithm: 'golden section search, parabolicinterpolation'message: [1x112 char]3. 陈酒出售的最佳时机问题某酒厂有批新酿的好酒,如果现在就出售,可得总收入0R =50万元(人民币),如果窖藏起来待来日(第n 年)按陈酒价格出售,第n 年末可得总收入60e n R R (万元),而银行利率为r =0.05,试分析这批好酒窖藏多少年后出售可使总收入的现值最大. (假设现有资金X 万元,将其存入银行,到第n 年时增值为()R n 万 元,则称X 为()R n 的现值.)并填下表.nn B )06.01(100)(+=6100)(n en R =解:编写M 文件,代码如下:第一种方案计算公式:for n=1:16b(n)=100*(1+0.06)^n; end B第二种方案计算公式:for n=1:16r(n)=100*exp(sqrt(n)/6); end r运行结果显示如下:第一种方案:b =Columns 1 through 7106.0000 112.3600 119.1016 126.2477 133.8226 141.8519 150.3630 Columns 8 through 14159.3848 168.9479 179.0848 189.8299 201.2196 213.2928 226.0904 Columns 15 through 16 239.6558 254.0352图5.2第1年 第2年 第3年 第4年 第5年 第6年 第7年 第8年 106.00 112.36 119.10 126.25 133.82 141.85 150.36 159.38 第9年 第10年 第11年 第12年 第13年 第14年 第15年 第16年 168.95179.08189.83201.22213.29226.09239.66254.04nne n X )06.01(100)(6+=第二种方案:r =Columns 1 through 6118.1360 126.5797 133.4658 139.5612 145.1617 150.4181 Columns 7 through 12155.4196 160.2243 164.8721 169.3922 173.8062 178.1312Columns 13 through 16182.3805 186.5650 190.6935 194.7734图5.3简单比较,应该是第二种方案较好。