matlab笔记 考试内容

合集下载

matlab考试题库及答案大学

matlab考试题库及答案大学

matlab考试题库及答案大学# MATLAB考试题库及答案大学一、选择题1. MATLAB中用于生成0到1之间均匀分布随机数的函数是: - A. rand- B. randi- C. randperm- D. randn答案:A2. 下列哪个命令可以用于绘制函数图像?- A. plot- B. text- C. title- D. xlabel答案:A3. MATLAB中,以下哪个不是矩阵的属性?- A. size- B. length- C. rank- D. transpose答案:D4. 以下哪个函数可以用于求解线性方程组?- A. solve- B. linsolve- C. linprog- D. fsolve答案:A5. MATLAB中,用于计算矩阵特征值的函数是:- A. eig- B. eign- C. eigen- D. eigenvalue答案:A二、填空题1. MATLAB的基本数据单位是________。

答案:矩阵2. 使用MATLAB进行数值计算时,可以利用________来存储数据。

答案:变量3. MATLAB中的向量可以是________或________。

- 答案:行向量;列向量4. 矩阵的转置可以通过________操作实现。

答案:.'5. MATLAB中,使用________函数可以计算矩阵的行列式。

答案:det三、简答题1. 简述MATLAB中使用循环结构的注意事项。

答案:在MATLAB中使用循环结构时,应注意以下几点:确保循环体内部逻辑正确,避免无限循环;使用for循环时,循环变量的初始化和步长设置要合理;使用while循环时,循环条件要明确,确保循环能够正常退出。

2. 描述MATLAB中如何实现数组的多维索引。

答案:在MATLAB中,多维数组的索引可以通过使用圆括号来实现,每个维度的索引用逗号分隔。

例如,对于一个三维数组A,可以使用A(i,j,k)来访问第i行、第j列、第k层的元素。

大学matlab考试题及答案

大学matlab考试题及答案

大学matlab考试题及答案大学MATLAB考试题及答案一、选择题1. MATLAB的全称是什么?A. Matrix LaboratoryB. Microprocessor Application Tool SetC. Microsoft Advanced Tool SetD. Microprocessor Application Test System答案:A2. 在MATLAB中,以下哪个命令用于绘制三维图形?A. plotB. scatterC. surfD. bar答案:C3. MATLAB中用于求解线性方程组的函数是?A. solveB. linsolveC. linprogD. fsolve答案:A二、简答题1. 简述MATLAB的基本数据类型有哪些,并给出至少两个每种类型的示例。

答案:MATLAB的基本数据类型包括数值数组、字符数组和单元数组。

数值数组可以是向量、矩阵或多维数组。

例如,向量 `v = [1 2 3]`,矩阵 `M = [1 2; 3 4]`。

字符数组是由单引号或双引号括起来的字符序列,如 `C = 'Hello'`。

单元数组可以包含不同类型的数据,如`{1, 'text', [1; 2; 3]}`。

2. 描述如何在MATLAB中实现矩阵的转置和翻转。

答案:矩阵的转置可以通过 `'T'` 来实现,例如 `A'` 表示矩阵A 的转置。

矩阵的翻转可以通过 `flip` 函数实现,例如 `flip(A)` 可以翻转矩阵A的所有行和列,`flipud(A)` 仅翻转矩阵A的行,而`fliplr(A)` 仅翻转矩阵A的列。

三、编程题1. 编写一个MATLAB函数,该函数接受一个向量作为输入,并返回向量中所有元素的和以及平均值。

```matlabfunction [sumVal, avgVal] = calculateSumAndAverage(V)sumVal = sum(V);avgVal = mean(V);end```2. 设计一个MATLAB脚本来解决以下问题:给定一个3x3的矩阵,找出其中最大的元素,并显示其位置。

MATLAB复习题(答案仅供参考)1

MATLAB复习题(答案仅供参考)1

MATLAB复习题(答案仅供参考)1⼀、填空题1. MATLAB命令窗⼝中可⽤clear 命令清除⼯作区中的变量;⽤clc 命令清除命令窗⼝中的内容。

2. MATLAB中的运算符包括数学运算符、矩阵运算符、数组运算符。

3 MATLAB的含义为矩阵运算。

4. MATLAB中的函数类型有嵌套函数、主函数、⼦函数、私有函数和匿名函数。

5. MATLAB中⽤系统预定义的特殊变量nargin 表⽰函数输⼊参数个数。

6. size命令的功能确定数组⼤⼩。

7. MATLAB中⽤linspace 符号定义单元数组。

8. MATLAB中⽤hold on 命令打开图形保持功能。

9 MATLAB中如果⼀个变量名为123,该变量名是否合法否(填是或否)。

10. MATLAB中⽤inv 函数完成矩阵的求逆运算,⽤det 函数求矩阵的⾏列式。

11.已知C={2+5i,’Hi’;1:4,[1 2]} 输⼊s=C(3) 即s=__'_Hi__'___.12.先输⼊P=struct(‘name’,’Jack‘,’num’,43) ,再输⼊s= 即s=___Jack___.13.当x=[ 1 2 3; 4 5 6] , y=[ 5 8; 5 8 ] 时,__不能__(能﹨不能)使⽤plot 命令绘图。

14.sym 或syms _能_______(能﹨不能)创建符号矩阵。

15.已知x=3:2:24,则x有__11_个元素。

结构的开始是“if”命令,结束是_end____命令。

17.已知x为⼀个向量,计算ln(x)的MATLAB命令是计算_log(x)___。

18.命令:>>subplot(3,3,x)中有__9_个⼦图。

19.已知s=‘显⽰“hey”’,则s的元素个数是___9__。

y=f()global WW=2y=f1(5)function y=f()global Wy=w+W创建以上函数⽂件,在命令窗⼝中运⾏“y=f”命令则显⽰__出错___。

大学matlab考试题及答案

大学matlab考试题及答案

大学matlab考试题及答案一、选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是?A. vectorB. arrayC. linspaceD. [ ]答案:D2. 以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. 在MATLAB中,以下哪个命令用于绘制三维曲面?A. plot3B. surfC. meshD. contour答案:B4. MATLAB中,以下哪个函数用于求解非线性方程?A. fsolveB. fzeroC. linsolveD. solve答案:A5. 如何在MATLAB中创建一个全为1的3x3矩阵?A. ones(3,3)B. zeros(3,3)C. eye(3,3)D. rand(3,3)答案:A二、填空题(每题3分,共15分)1. 在MATLAB中,使用________函数可以计算矩阵的逆。

答案:inv2. 要将向量[1, 2, 3]转置成行向量,可以使用________运算符。

答案:.'3. MATLAB中,________函数用于计算两个矩阵的点乘。

答案:dot4. 若要在MATLAB中生成一个从0到1的100个等间隔的数,可以使用________函数。

答案:linspace5. 使用________函数可以在MATLAB中创建一个随机数矩阵。

答案:rand三、简答题(每题5分,共20分)1. 描述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、转置、加法、减法、乘法、点乘、求逆、行列式计算、特征值和特征向量的计算等。

2. MATLAB中如何实现循环结构?答案:MATLAB中可以使用for循环、while循环和switch-case结构来实现循环结构。

3. 简述MATLAB中函数定义的基本语法。

答案:MATLAB中函数定义的基本语法是:function [输出参数列表] = 函数名(输入参数列表)函数体end4. MATLAB中如何实现条件判断?答案:MATLAB中可以使用if-else语句、switch-case语句来实现条件判断。

matlab考试总结重点

matlab考试总结重点

matlab考试总结重点第一章1.MATLAB的典型应用:通用的数值计算、算法设计、自动控制技术、数字信号处理、统计信号处理、电力系统仿真。

2.MATLAB的显著优点:程序非常简洁。

3.MATLAB的主要特色:(1)面向对象特性:图形、窗口等都是对象,可以通过属性改变它们(2)只存在单一的数据结构:矩阵(3)矩阵的大小可以是任意大,只与内存有关且可以自动改变大小。

(4)变量不用定义(5)功能强大的图形处理与数值计算功能(6)系统扩充方便:允许用户自行建立完成指定功能的M文件,可以随时向系统增加函数,从而可以构成适合于某一领域的工具箱(7)先进的帮助系统(8)与WORD有机结合,WORD里可直接使用MATLAB功能。

(9)与C++等语言的接口(10)MATLAB 简单易学(11)不仅提供了编程环境,又提供了设计语言与C语言有很多共性,编程简单。

4.MATLAB的主要功能:(1)数据运算功能,提供了大量的数学函数更接近于数学表示(2)图形操作功能:提供了大量的图形函数使数据可视化。

提供了图形用户界面(3)符号运算功能:其操作对象和运算结果都是数学符号的表达式可用来推导公式。

5.MATLAB文件类型及功能:1.M文件:分为脚本M文件和函数M文件,脚本M,文件创建的变量都是MATLAB工作空间中的变量,工作空间的其他程序和函数可以共享。

函数M,文件可以传递参数,所以函数M文件的调用式中可以有输入参数和输出参数。

2.MAT文件:用于保存MATLAB系统所使用的数据。

3.MEX文件:可以被直接调入MATLAB中直接运行。

执行速度快还可以把较大的M文件编译成MEX 文件4.图形文件:用来存储由MATLAB得到的图形文件并不能被其他的图形编辑器编辑。

5.模型文件:用来存储建立的模型。

6.两种M文件的异同共性:在MATLAB命令窗口中键入文件名,可以执行M文件中的规定的计算任务或某种功能。

区别一:程序M文件中创建的变量都是MATLAB工作空间中的变量,工作空间的其他程序或函数可以共享;而函数M文件中创建的所有变量除了全程变量外,均为局限于函数运行空间内的局部变量;——类似于主程序区别二:函数M文件可以使用传递参数,所以函数M文件的调用式中可以有输入参数和输出参数,而程序M文件则没有这种功能。

matlab 复习

matlab 复习

MATLAB 复习资料知识点汇总:一、MATLAB 基本运算内容:变量;算术运算+-*/\^;二、MATLAB 数值计算内容:矩阵的定义;矩阵的结构变换(增删改翻转旋转平铺变维);矩阵的元素变换(求整,取余数);特殊矩阵的构造;数组的定义和引用;矩阵的基本运算+-*/\^.*./.\.^;矩阵的特殊运算(转置,逆,特征值,特征多项式,秩,元素个数,行列式,迹);矩阵的关系运算和逻辑运算;多项式的定义;多项式的基本运算+-conv,deconv ;多项式的微分polyder ;多项式求根roots ;多项式求值polyval 、polyvalm 等。

三、MATLAB 二维绘图和三维绘图内容:MATLAB 二维绘图函数,修饰函数;MATLAB 三维绘图函数,修饰函数。

MATLAB 试题复习及答案参考1. 求和2401444Y =++++Ans: syms ks = 4^k;S = symsum(s,k,0,40);2. 求函数3226187x x x --+的极值,并作图Ans: y = ‘2*x^3 – 6*x^2 – 18*x + 7’;y_ = ‘-2*x^3 + 6*x^2 + 18*x - 7’;[x_min, y_min] = fminbnd(y, -7,7)[x_max, y_max] = fminbnd(y_, -7,7)3. 设2sin 7cos 5x y e x x x =-+,求dy dx 和22d y dx Ans: y = exp(x)*sin(x) – 7*cos(x) + 5*x^2;dy = diff(y)d2y = diff(y,2)4.求解方程组12345612345612356124623456123456246324 244553 362591 234845245 5536642 x x x x x xx x x x x xx x x x xx x x xx x x x xx x x x x x+++-+=⎧⎪+-++-=⎪⎪+++-=-⎪⎨+++=⎪⎪--+++=-⎪+-++-=⎪⎩Ans: A = [1 2 4 6 -3 2; 2 4 -4 5 1 -5; 3 6 2 0 5 -9; 2 3 0 4 0 1; 0 -4 -5 2 1 4; 5 5 -3 6 6 -4];b = [4 3 -1 8 -5 -2];B = [A b];C = rref(B)or C = inv(A)*b5.一个球从100米高空落下,每次落地反弹高度是原高度的一半。

MATLAB期末考试复习总结

MATLAB期末考试复习总结

《MATLAB》期末考试题型及分值(1)简答题4题*5分=20分简要回答要点(2)计算题6题*5分=30分命令(程序文件)(3)绘图题2题*10分=20分二维及三维(4)编程题2题*10分=20分(一)函数-程序文件(二)矩阵最大元素(5)综合题1题*10分计算并绘图题目1. 设计一个函数,用于求数组A的最大值、最小值以及平均值,其中,A的维数未知。

2. 写一个函数,用于求n元一次方程组的解.已知系数矩阵A和常数向量b,且A*x=b(要求处理无解和无穷解的情况)。

3. 有一组测量数据(xi,yi),已知x与y成线性关系,用最小二乘原理拟合y=f(x)的关系并绘图,同时求出直该直线的斜率。

4. 绘制三维曲面z=sin(r)/r,其中r=sqrt(x*x+y*y),要求使用灰度图,且黑色表示最高点,白色表示最低点,并使曲面光滑。

解(1)function y=suzu(A);A=input('请输入任意数组:');y=max(A);function y=suzu(A);A=input('请输入任意数组:');y=min(A);function y=suzu(A);A=input('请输入任意数组:');y=mean(A);//function[Ax]=Amax(A)Ax=max(max(max(A)))w=rand(4,5)%生成随即数组%w1=input('请输入你的数组')%该数组具有普遍性[a b ]=size(w); x=1;for k=1:afor d=1:bw1(x)=w(k,d);x=x+1;end endmaxw=w1(1);for t=1:length(w1)if maxw<w1(t)maxw=w1(t);end enddisp(['最大值为:'] )maxw(2)function [y,n]=jacobi(A,b,x0,eps)If nargin==3eps=1.0e-6;elseif nargin<3errorreturnendD=diag(diag(A));L=-tril(A,-1);U=-triu(A,1);B=D\(L+U);f=D\b;y=B*x0+f;n=1;while norm(y-x0)>=epsx0=y;y=B*x0+f;n=n+1;End(3)xi=[0.1 0.2 0.15 0 -0.2 0.3];yi=[0.95 0.84 0.86 1.06 1.50 0.72];p=polyfit(xi,yi,2)x=-0.2:0.01:0.3y=polyval(p,x)plot(xi,yi,'o',x,y,'k')(4)[x,y]=meshgrid([-10:0.2:10]);z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); surf(x,y,z)colormap(gray);subplot(1,1,1);surf(z);shading flat;。

matlab开卷考试题及答案

matlab开卷考试题及答案

matlab开卷考试题及答案MATLAB开卷考试题及答案一、选择题(每题2分,共20分)1. MATLAB中用于创建一个3x3的单位矩阵的命令是:A. `eye(3)`B. `ones(3)`C. `zeros(3)`D. `identity(3)`答案:A2. 下列哪个函数用于计算矩阵的逆?A. `inv()`B. `det()`C. `eig()`D. `trace()`答案:A3. MATLAB中,用于绘制二维图形的函数是:A. `plot()`B. `surf()`C. `mesh()`D. `bar()`答案:A4. 如何在MATLAB中计算向量的范数?A. `norm()`B. `abs()`C. `length()`D. `size()`答案:A5. MATLAB中,用于创建一个随机数矩阵的函数是:A. `rand()`B. `randi()`C. `randn()`D. `randperm()`答案:A6. 下列哪个命令用于在MATLAB中求解线性方程组?A. `solve()`B. `fsolve()`C. `fzero()`D. `linsolve()`答案:A7. MATLAB中,用于计算矩阵的行列式的函数是:A. `det()`B. `trace()`C. `eig()`D. `inv()`答案:A8. 如何在MATLAB中创建一个全1的3x3矩阵?A. `ones(3,3)`B. `eye(3,3)`C. `zeros(3,3)`D. `rand(3,3)`答案:A9. MATLAB中,用于计算矩阵的特征值的函数是:A. `eig()`B. `eigs()`C. `svd()`D. `qr()`答案:A10. 下列哪个函数用于计算矩阵的奇异值分解?A. `eig()`B. `svd()`C. `qr()`D. `lu()`答案:B二、填空题(每题3分,共30分)1. MATLAB中,用于创建一个3x3的零矩阵的命令是 `____`。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一次上机 函数微积分运算 例1:2sin ()43x f x x x =++解: >> syms x;>> y=sin(x)/(x^2+4*x+3); >> diff(y,100) ans =simple(ans)…………例2:43246729x x x x +++- 解:(代数方程直接求解) solve('x^4+6*x^3+7*x^2+2*x-9')例3:Hilbert 矩阵1111123111123411111345211n n n n n n ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥+⎢⎥⎢⎥+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥+⎢⎥⎣⎦求解:hilb(3) 解: >> hilb(3) ans =1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 >> format rational >> hilb(3) ans =1 1/2 1/3 1/2 1/3 1/4 1/3 1/4 1/5 >> det(ans)ans =1/2160>> format long>> hilb(3)ans =1.000000000000000 0.500000000000000 0.3333333333333330.500000000000000 0.333333333333333 0.2500000000000000.333333333333333 0.250000000000000 0.200000000000000>> format short>> hilb(3)ans =1.0000 0.5000 0.33330.5000 0.3333 0.25000.3333 0.2500 0.2000例4:几个术语名称线性:line Algebre规划:program线性规划:linprog例5:matlab语言运算符:*/\^、、、、、+-关系运算符:~、、、>>=<<====逻辑运算符:|&~、、(或与非)赋值语句:=顺序结构、选择结构:()if判断语句e l s e ifelseendfunction [返回值]=函数名(输入值)函数表达式eg:function y=f1(x)y=sin(x+4)/cos(x+8)-x^2-9第二次上机例1:对变量的操作who 你的变量your variables are:whosName Size Bytes Class Attributes ans 3x3 72 doubleclear(清除变量) clc(clear) 也清除窗口内容inf 无限NaN 不是一个数realmax、realmin 最大、小实数type.[ ]+显示一个M文件的内容打印dir 路径which [ ]+ 地址delet[ ]+ 删除edit 编辑save 保存例2:矩阵的输入a=[1,2,3;4,5,6]zeros(3,4) 3*4阶零矩阵ones(2,3) 2*3全1矩阵eye(3,4) 3*4单位矩阵magic(3,4) 魔方矩阵(行列对角元素之和均相等)det 行列式trance 迹、路径rank 秩inv 逆矩阵eig 特征值poly 多项式null 零diagdome 演示path 设置路径eps 计算机能识别的最小正数lastwarn 最后一次警告lastcrr 最后一次错误vpa(pi,100) pi后一百位小数a.*b与a*b有区别a.^aflipr(左右翻转) flipd(上下翻转)rot 旋转rot 90 旋转90°find(?)、all(?)、any(?):?是不是真如:a=[1 2 3 4]>> find(a>=3)ans =3 4>> all(a>=2)ans =>> any(a>=0)ans =1例3:矩阵操作矩阵元素的提取a(行,列)=如:a=[1,2,3;4,5,6;7,8,9]>> a(2,1)=600a =1 2 3600 5 67 8 9>> a(2,3)ans =6例4:>> a=[6.7 8.4 5.7 100.3 24.4 38.7];>> sum=0;>> for i=a;>> sum=sum+isum =222.9000例5:1+2+3+……+100=?>> sum=0;i=1;>> while i<=100sum=sum+i;i=i+1;end>> sumsum =5050例6:第三次上机1.建立函数:>> syms x a;>> y=a*sin(x);>> diff(y)ans =a*cos(x)或者:>> y=sym('a*sin(x)');/注意sym与syms的区别/>> diff(y)ans =a*cos(x)2.内联函数:>> y=inline('a*siin(x)','x','a')y =Inline function:y(x,a) = a*siin(x)3.计算阶乘:function y=f1(n)if n>1y=f1(n-1)*n;else if any([0,1]==n)y=1;end4.matlab图形plotx=[1 2 3 4]; y=[4 9 19 32] ;plot(x,y)5.funtool 简单图形之间的关系二维:bar 条形;compass 罗盘;feather 羽毛;hist 直方图polar 极坐标stairs 阶梯函数semilogx 对数函数6.画图函数:>> helpwin左上端installation下的matlab(+号展开)——function——graphics——basic plot and graphs specialized plotting⎧⎨⎩一般命令特殊命令7.subplot分割图形例:x=-3:0.1:3;>> y1=sin(x);>> y2=cos(x);>> y3=tan(x);>> y4=cot(x);>> subplot(2,3,1),plot(x,y1) >> subplot(2,3,2),plot(x,y2) >> subplot(2,3,3),plot(x,y3)>> subplot(2,3,4),plot(x,y4)-505-1-0.500.51-55-40-2002040-5501-55-10-505108.用ezplot 作图:例:ezplot('y-x^2',[-10,10])xyy-x 2= 0-10-50510-10-8-6-4-202468109.三维图形绘制plot3例:>> t=0:0.1:pi;>> x=sin(3*t);>> y=cos(3*t);>> z=t.^2;>> plot3(x,y,z)110.surf 表面mesh 网格waterfall例:>> [x,y]=meshgrid(0:31)>> z=x.^2+y.^2;>> mesh(x,y,z);40 >> surf(x,y,z)40 >> waterfall(x,y,z)40第四次上机 极限 积分一、极限1. limit(fun,x,x0,'left'或'right')——单边极限 例:0lim (1+)sin()xx ab x x x→⋅ 解: >> syms a b x;>> f=x*(1+a/x)^x*sin(b/x);>> limit(f,x,inf) ans = b*exp(a)>> limit(f,x,0)ans =limit(x*sin(b/x)*(a/x + 1)^x, x = 0)注:可套用:如12lim lim (,)y t x t f x y →→syms x y;f=x+y;limt(limit(f,x,3),y,5)2. 导函数 diff(fun,x,n) (隐函数,参数函数) 例:>> syms x;y=sin(x);diff(y)ans=cos(x)若:a=[1,4,9]; diff(a)ans=[3,5] ([4-1,9-4])注:可嵌套如:syms x y;f=x+y;diff(diff(f,x),y)例:雅克比行列式jacobian(?)如:>> syms r theta;>> x=r*cos(theta),y=r*sin(theta);x =r*cos(theta)>> jacobian([x;y],[r,theta])ans =[ cos(theta), -r*sin(theta)][ sin(theta), r*cos(theta)]二、积分1.定积分int(fun,x,a,b)例:>> syms x;>> y=sin(x);>> int(y,x,-pi,pi)ans =2.不定积分int(y,x)例:>> syms x;>> y=sin(x);>> int(y,x)ans =-cos(x)3.无穷积分例:>> syms x;>>y=sin(x);>>int(y,x,1,inf)ans =NaN4.嵌套: >> syms x y;f=sin(x+y);int(int(f,x,0,1),y,0,3)ans =sin(1) + sin(3) - sin(4)5.泰勒展开式taylor(f,x,x0,n)例:>> syms x;>> y=exp(x);>> taylor(y,3)ans =x^2/2 + x + 16.级数求和(符号求和)symsum(f(k),k,k0,kn) k从k0+k1+……+kn例:>> syms k;>> symsum(k,1,100) ans = 5050>> symsum(k^2,k,1,100) ans =338350>> symsum(1/k^2,k,1,inf) ans =pi^2/6>> symsum(k^2) ans =k^3/3 - k^2/2 + k/6>> syms k,n;>> limit((symsum(1/k,k,1,n)-log(n)),n,inf) ans =9417553366569523/13510798882111488 >> vpa(ans,8) ans = 0.69703897第五次上机 数值求解1.梯形公式突然票证(x,y ) 求面积例:320cos(15)x dx π⎰>> x=[0:0.01:3*pi/2]; >> y=cos(15*x); >> trapz(x,y) ans =0.06652.辛普森公式quad(f(x),a,b) 例:>> y=inline('x.^2','x');quad(y,0,1)ans = 0.33333.二重积分 quad2dggen(fun,ym,yM,xm,xM) 即:(,)xM yM xmymf x y dxdy ⎰⎰例:11dxdy -⎰⎰>>fl=inline(‘-sqrt(1-x^2)’,’x ’); >>fh= inline(‘sqrt(1-x^2)’,’x ’); >>f=1;>> y=quad2dggen(f,fl,fh,-1,1)注:多元函数积分可用int 计算,int 可计算曲线积分和曲面积分(,,)((),(),(tM ltmx y z ds f x t y t z t =⎰⎰>>int (函数表达式)第六次上机 积分变换 1. 对于50()tf t edt +∞-⎰拉普拉兹变换lapace(fun,u,v) 反变换ilapace(fun,u,v) 例:>> syms t; >> laplace(t^2) ans = 2/s^3>> syms t;>> y=sym('f(t)');>> laplace(diff(y,t,2)) ans =s^2*laplace(f(t), t, s) - s*f(0) - D(f)(0)3. 傅里叶变换fourier(fun,u,v) 将v 的函数变成u 的函数 傅里叶反变换ifourier(fun,u,v) 将u 的函数变成v 的函数4. Z 变换ztrans(fun,k,z)例:>> syms k;>> f=k; >> ztrans(f) ans =z/(z - 1)^25.gcd 最大公约数 例:>> syms x;>> a=x^2+6*x-3; >> b=x^2+6*x=3; >> b=x^2+6*x+3; >> gcd(a,b) ans = 1>> a=(x-2)*(x+3); >> b=(x-2)*(x+6); >> gcd(a,b) ans =x – 2习题1.证明:'(())()f x dx f x =⎰证明:>> syms x; >> y=sym('f(x)'); >> diff(int(y,x)) ans = f(x)2.求:21n n +∞=∑的z 变换解:>> syms n;>> f=n^2; >> ztrans(f) ans =(z^2 + z)/(z - 1)^33.求1234a ⎛⎫=⎪ ⎝⎭的准确特征值和特征向量 解:>> a=[1 2;3 4];>> b=sym(a); >> [m,n]=eig(b) m =[ - 33^(1/2)/6 - 1/2, 33^(1/2)/6 - 1/2] [1, 1] n =[ 5/2 - 33^(1/2)/2, 0] [ 0, 33^(1/2)/2 + 5/2]4.已知1234a ⎛⎫= ⎪⎝⎭,求232!3!a aE a ++++ 解:>> a=[1 2;3 4];>> expm(a)ans =51.9690 74.7366 112.1048 164.0738第七次上机 代数方程与最优化 一、图解法例1. 220x x -=解:>> ezplot('x^2-2*x',[1,3])>> hold on; >> line([0,3],[0,0])>>11.52 2.530123xx 2-2 x二、solve 解方程组例2. 223100.750.90x y x y ⎧+-=⎪⎨-+=⎪⎩解:>> [x,y]=solve('x^2+y^2-1=0','0.75*x^3-y+0.9=0') 三、非线性方程求根fsolve(fun,x0) 例3. 3sin cos t e t t -+解:>> y=inline('exp(-3*t)*sin(t)+cos(t)','t')>> fsolve(y,0) ans =-0.3431四、优化问题 fminsearch fminunc 例4. 21y x =- 解:>> f=inline('x^2-1','x'); >> fminsearch(f,0.5) ans =-4.4409e-016例5.min(x1+x2-x3) s.t 1201381,2,30x x x x x x x -≥⎧⎪+≤⎨⎪≥⎩ 110283x x x ⎛⎫- 1 0 ⎛⎫⎛⎫⎪⇒≤ ⎪ ⎪ ⎪1 0 1⎝⎭⎝⎭ ⎪⎝⎭解:>> f=[1 1 -1]';>> a=[-1,1,0;1,0,1];b=[0,8];>> ae=[];be=[];>> xm=[0 0 0];>> linprog(f,a,b,ae,be,xm,[],[]) Optimization terminated. ans = 0.00000.0000 8.0000例6:max(-x1+x2-3x3) min(x1-x2+3x3)s.t: ()110263120112381,1,1281363113113,2,3x x x x x x x x x x x x x x x x x R ⎧⎛⎫- 1 0⎛⎫⎛⎫⎪ ⎪≤⎪ ⎪⎪ ⎪1 0 1⎝⎭⎝⎭ ⎪⎪⎝⎭⎪-≥⎧⎛⎫⎪⎪++≤⎪⎪ ⎪⇒=⎨⎨ ⎪+≤ ⎪⎪⎪⎝⎭⎪⎪≤≤⎩⎪≤≤∈⎪⎪⎪⎩解:>> f=[1,-1,3]';a=[-1,1,0;1,0,1];b=[0,6]; >> ae=[1 1 1];be=[8];>> xm=[1,-inf,-inf];xM=[3,inf,inf];x0=[0 0 0]; >> linprog(f,a,b,ae,be,xm,xM,x0) Optimization terminated. ans =3.0000 3.0000 2.0000五、二次规划求解quadprog例7.min(222123132x x x x -+-) s.t 1231231231231238893729101,8,x x x x x x x x x x x x x x x R⎧--≥⎪-+≤-⎪⎪++=⎨⎪+-=⎪⎪≤≤∈⎩解:>> f=[-2,0,0]';a=[-1,-1,1;1,3,8];b=[-8,-9];>> ae=[1,3,1;1,2,-9];be=[7,10];xm=[1,1,-inf];xM=[8,8,inf];x0=[0 0 0]; >> h=[2 0 0;0 -2 0;0 0 6];>> quadprog(h,f,a,b,ae,be,xm,xM) ans =3.71601.2359 -0.4236第八次上机 规划问题 一、规划 fmincon例1.min(22212312131002x x x x x x x -----) s.t 22212312312325081475600x x x x x x x x x ⎧++-=⎪++-=⎨⎪≥⎩、、解:建立函数function y=xhf(x)y=1000-x(1)*x(1)-2*x(2)*x(2)-x(3)*x(3)-x(1)*x(2)-x(1)*x(3); 再建立约束函数function [c,ceq]=gyl(x)ceq=[x(1)^2+x(2)^2+x(3)^2-25;8*x(1)+14*x(2)+7*x(3)-56]; c=[];主程序:>> a=[];b=[];aeq=[];beq=[]; >> xm=[0;0;0];xM=[]; >> x0=[1;1;1];>> fmincon('xhf',x0,a,b,aeq,beq,xm,xM,' gyl ') ans =3.5122 0.2170 3.5521二、整数规划(略) 三、0-1规划例2.min(123-325x x x +-) 13312312232244.346x x x x x x s t x x x x +-≤⎧⎪++≤⎪⎨+≤⎪⎪+≤⎩解:>> f=[-3,2,-5];>> a=[1,2,-1;1,4,1;1,1,0;0,4,1];b=[2,4,3,6];ae=[];be=[]; >> bintprog(f,a,b,ae,be) Optimization terminated.ans = 1 0 1例3.min(123325x x x -+-) s.t 2123212312322.440x x x s t x x x x x x ⎧+-≤⎪++=⎨⎪≥⎩、、解:○1 function y=xhf(x) y=-3*x(1)+2*x(2)-5*x(3);○2 function [c,ceq]=gyl(x) c=[x(1)*x(1)+2*x(2)-x(3)-2]; ceq=[x(1)+4*x(2)*x(2)+x(3)-4];○3 >> a=[];b=[];ae=[];be=[];xm=[0;0;0];xM=[];x0=[1;1;1]; >> fmincon('xhf',x0,a,b,ae,be,xm,xM,'gyl')第九次上机 常微分方程一、解析解dsolve (可解高阶方程和高阶方程组的解析解)例1. ''''()2()2()()4()3()4t t x t x x t y t e y t x t y t e--⎧+=+-⎪⎨=++⎪⎩ 其中'(0)1,(0)3,(0)8x x y ===解: >> syms t x y;>> [x,y]=dsolve('D2x+2*Dx=x+2*y-exp(-t)','Dy=4*x+3*y+4*exp(-t)','x(0)=1','Dx(0)=1','y(0)=8') 二、数值解 ode45(常微分方程4阶5级龙格库塔方程数值解)例:1'123'223'31223101238()3()1010()28(0)(0)0,(0)10,[0,100]x t x x x x t x x x t x x x x x x x t -⎧=-+⎪⎪⎪=-+⎨⎪=-+-⎪===∈⎪⎩解:○1 function xdot=xhf(t,x) xdot=[-8/3*x(1)+x(2)*x(3);-10*x(2)+10*x(3);-x(1)*x(2)+28*x(2)-x(3)];○2 >> [t,x]=ode45('xhf',[0,100],[0;0;10^(-10)])三、特殊方程1.刚性方程 ode15s例: ...2(1)0y u y y y +-+= (u=1:普通方程;u=1000 刚性方程)○1 function y=xhf(t,x,flag,mu) y=[x(2);-mu*(x(1)^2-1)*x(2)-x(1)];○2 >> [x,y]=ode15s('xhf',[0,3000],[2;0],[],1000)2.微分代数方程例:.112312 .2 2122323120.20.325210x x x x x x x x x x x xx x x⎧=-++⎪⎪=--⎨⎪++-=⎪⎩解:○1 function dx=xhf(t,x)dx=[-0.2*x(1)+x(2)*x(3)+0.3*x(1)*x(2);2*x(1)*x(2)-5*x(2)*x(3)-2*x(2)*x(2)]; ○2>> m=[1,0,0;0,1,0;0,0,0];>> options=odeset;options.mass=m;>> x0=[0.8;0.1;0.1];>> [t,x]=ode15s('xhf',[0,20],x0,options)习题:1.'''(0)1,(0)3x xx x⎧+=⎪⎨==⎪⎩'''x x yy x y⎧=+⎪⎨=-⎪⎩的解析解2. '2()()()y p x y R x y R x=++的解析解第十次上机插值函数一、一维插值interp1(一维多项插值) interp2(二维多线插值) 例:>> x=[0 2 3 4];>> y=[0.3 1.5 7.8 6.3];>> x0=1;>> interp1(x,y,x0)ans =0.9000>> [x,y]=meshgrid(-3:0.6:3,-2:0.4:2);>> z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y);>> surf(x,y,z)4>> [x1,y1]=meshgrid(-3:0.2:3,-2:0.2:2);>>z1=interp2(x,y,z,x1,y1);>>surf(x1,y1,z1)注:surf(实图) mesh(网图)二、样条插值(三次样条插值)例:>> x0=[0,0.4,1,2,pi];>> y0=sin(x0);>> s=csapi(x0,y0)s =form: 'pp'breaks: [0 0.4000 1 2 3.1416]coefs: [4x4 double]pieces: 4order: 4dim: 1>> s.coefsans =-0.1627 0.0076 0.9965 0-0.1627 -0.1876 0.9245 0.38940.0244 -0.4804 0.5238 0.84150.0244 -0.4071 -0.3637 0.9093 >> fnplt(s)0.511.522.533.500.10.20.30.40.50.60.70.80.91>> fnder(s,2) ans =form: 'pp'breaks: [0 0.4000 1 2 3.1416] coefs: [4x2 double] pieces: 4 order: 2 dim: 1 fnplt(ans)三、多项式拟合polyfit(x,y,n)例:y=2x-3解:>> x=[0 1 2 3];>> y=[-2.99,-1,0.99,3];>> polyfit(x,y,1)ans =1.9960 -2.9940或: >> polyfit(x,y,2)ans =0.0050 1.9810 -2.9890练习1.1.>> x0=0:0.1:1;>> y0=x0.^2+x0.*exp(x0);>> plot(x,y)>> polyfit(x0,y0,n) (n取值待定)2. >> x0=0:0.3:1;>> y0=cos(x0);>> s=csapi(x0,y0);>> fnplt(s)>> s.coefsans =0.0717 -0.5386 0.0063 1.00000.0717 -0.4741 -0.2976 0.95530.0717 -0.4096 -0.5627 0.82533. >> x=0:10;>> y=sin(x);>> x1=0:0.25:10;>> interp1(x,y,x1)ans(略)第十一次上机引例:Y(x)=acos(x)+bsin(x)解:min 321(cos sin )i i i i a x b x y =+-∑ac=y a=2463 ⎛⎫ ⎪ ⎝⎭y=78⎛⎫ ⎪⎝⎭ c=inv(a)*y例:3421234()cos(2)x x y x a a ea x e a x --=++-+解:>> y=[2.88 2.25 1.96 1.92 2.08]';>> a=[ones(size(x)),exp(-3*x),cos(-2*x).*exp(-4*x),x.^2]; >> c=a\y(有误)例2.f(x)=cosax+sinbx解>> x=[0 1 3];>> y=[0.2 0.8 0.6];>> f=inline('cos(a(1)*x)+sin(a(2)*x)','a','x');>> [a,j]=lsqcurvefit(f,[1,1],x,y)a =1.5279 0.7836j =0.6429 (误差)例3.y(x)= 2cx ax bx e d -++由于式中有cx e -,则用lsqcurvefit 而不用a\y。

相关文档
最新文档