Matlab应用5-2
- 格式:ppt
- 大小:234.50 KB
- 文档页数:28
第5章习题与答案5.1用矩阵三角分解方法解方程组123123123214453186920x x x x x x x x x +-=⎧⎪-+=⎨⎪+-=⎩ 解答:>>A=[2 1 -1;4 -1 3;6 9 -1] A =2 1 -1 4 -13 6 9 -1 >>b=[14 18 20]; b =14 18 20 >> [L, U, P]=lu(A) L =1.0000 0 0 0.6667 1.0000 0 0.3333 0.2857 1.0000 U =6.0000 9.0000 -1.0000 0 -7.0000 3.6667 0 0 -1.7143 P =0 0 1 0 1 0 1 0 0 >> y=backsub(L,P*b’) y =20.0000 4.6667 6.0000 >> x=backsub(U,y) x =6.5000 -2.5000 -3.5000 5.2 Cholesky 分解方法解方程组123121332352233127x x x x x x x ++=⎧⎪+=⎨⎪+=⎩ 解答:>> A=[3 2 3;2 2 0;3 0 12] A =3 2 32 2 03 0 12>> b=[5;3;7]b =537>> L=chol(A)L =1.7321 1.1547 1.73210 0.8165 -2.44950 0 1.7321>> y=backsub(L,b)y =-11.6871 15.7986 4.0415>> x=backsub(L',y)x =-6.7475 28.8917 49.93995.3解答:观察数据点图形>> x=0:0.5:2.5x =0 0.5000 1.0000 1.5000 2.0000 2.5000 >> y=[2.0 1.1 0.9 0.6 0.4 0.3]y =2.0000 1.1000 0.9000 0.6000 0.4000 0.3000 >> plot(x,y)图5.1 离散点分布示意图从图5.1观察数据点分布,用二次曲线拟合。
二次规划的标准形式为:min (1/2)X’HX+f’X约束条件:Ax≤b Aeqx=beq,lb≤x≤ub,其中:f、b、beq、lb、ub、x是矢量,H、 A、Aeq为矩阵。
在MATLAB中可以使用quadprog函数来求最小值。
调用格式:x=quadprog (H,f,A,b)x=quadprog (H,f,A,b,Aeq,beq)x=quadprog (H,f,A,b,Aeq,beq,lb,ub)x=quadprog (H,f,A,b,Aeq,beq,lb,ub,x0)x=quadprog (H,f,A,b,Aeq,beq,lb,ub,x0,options) x=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options,P1,P2,…) [x,fval]= quadprog (…)[x,fval,exitflag]= quadprog (…)[x,fval,exitflag,output]= quadprog (…)[x,fval,exitflag,output,lambda]= quadprog (…) fval为目标函数的最优值;其中:H,f,A,b为标准形中的参数,x为目标函数的最小值;x0为初值;Aeq,beq 满足等式约束Aeq.x=beq;lb,ub满足lb lambda是Lagrange乘数,它体现有效约束的个数;output输出优化信息;exitflag为终止迭代的条件:若exitflag>0,表示函数收敛于解x;若exitflag=0,表示超过函数估值或迭代的最大次数;exitflag<0表示函数不收敛于解x;output为优化信息:若参数output=iterations表示迭代次数,output=funccount表示函数赋值次数,output=algorithm表示所使用的算法。
例0-6 计算下面二次规划问题minf(x)= (1/2)x1^2+x2^2- x1x2-2x1-6x2约束条件: x1+x2≤2-x1+x2≤2,2x1+x2≤3;x1≤0; x2≤0解:把二次规划问题写成标准形式:(1/2)XTHX+fTX 这里:H= 1 -1 f= -2 X= x1-1 2 -6 x2在命令窗口键入命令:>>H=[1 –1;-1 2];>>f=[-2;-6];>>A=[1 1;-1 2;2 1];>>b=[2;2;3];>>lb=[zeros(2,1)];>>[x,fval,exitflag,output,lambda]=quadprog(H,f,A,b,[],[],lb)运行以上命令得到的显示结果如下:x= %最优值点 §3 二次规划模型 数学模型: ub x lb beq x Aeqbx A x f Hx x T T x ≤≤=⋅≤⋅+21min其中H 为二次型矩阵,A 、Aeq 分别为不等式约束与等式约束系数矩阵,f,b,beq,lb,ub,x 为向量。
实验一 MATLAB基本操作一、实验目的1、了解MATLAB应用程序环境2、掌握MATLAB语言程序的书写格式和MATLAB语言程序的结构。
3、掌握在MATLAB应用环境下编写程序4、掌握MATALB调试过程,帮助文件5、掌握MATLAB语言上机步骤,了解运行一个MATLAB程序的方法。
6、本实验可在学习完教材第一章后进行。
二、主要仪器及耗材PC电脑,MATLAB6.5软件三、实验内容和步骤1、MATLAB语言上机步骤:(1)、进入系统在C盘或其他盘上找到MATLAB或MATLAB6.5,然后双击其图标打开文件夹。
然后进行编辑源程序->编译->连接->执行程序->显示结果(2)、常用命令编辑切换(F6),编译(F9),运行(CTRL+F9),显示结果(ALT+F5)其它常用命令见“附录一”。
2、有下面的MATLAB程序。
(1)数值计算功能:如,求方程 3x4+7x3 +9x2-23=0的全部根p=[3,7,9,0,-23]; %建立多项式系数向量x=roots(p) %求根(2)绘图功能:如,绘制正弦曲线和余弦曲线x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));(3)仿真功能:如,请调试上述程序。
3、熟悉MATLAB环境下的编辑命令,具体见附录一。
三、实验步骤1、静态地检查上述程序,改正程序中的错误。
2、在编辑状态下照原样键入上述程序。
3、编译并运行上述程序,记下所给出的出错信息。
4、按照事先静态检查后所改正的情况,进行纠错。
5、再编译执行纠错后的程序。
如还有错误,再编辑改正,直到不出现语法错误为止。
四、实验注意事项1、记下在调试过程中所发现的错误、系统给出的出错信息和对策。
分析讨论对策成功或失败的原因。
2、总结MATLAB程序的结构和书写规则。
五、思考题1、matlab到底有多少功能?2、MATLAB的搜索路径3、掌握使用MATLAB帮助文件实验二 MATLAB 矩阵及其运算一、 实验目的1、了解矩阵的操作,包括矩阵的建立、矩阵的拆分、矩阵分析等2、了解MATLAB 运算,包括算术运算、关系运算、逻辑运算等3、掌握字符串的操作,了解结构数据和单元数据。
Matlab_考题带答案MATLAB期末考试试卷及其参考答案一、填空题(每空1分,20分)1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
7、在一个元胞数组A中寻访第2行第3列元胞元素用;寻访数组第2行第3列元胞中所存的内容用。
8、4、MATLAB中clf用于、clc用于、clear用于。
二、简答题(每题5分,共20分)1、简述MA TLAB历史指令窗的主要作用。
2、简述空数组的功用。
3、简述MATLAB函数的基本结构。
4、简述绘制二维图形的一般步骤。
三、阅读程序并回答问题(每题4分,共28分)1、写出下列指令运行结果。
A=zeros(2,4);A(:)=1:8;s=[2 3 5];A(s)Sa=[10 20 30]'A(s)=Sa2、写出下列指令运行结果。
A=reshape(1:16,2,8)reshape(A,4,4)s=[136****1416];A(s)=03、写出下列指令运行结果。
A=[1,2;3,4];B=[-1,-2;2;1];S=3;A.*BA*BS.*AS*B4、下面的函数主要完成什么功能?function f=factor(n)if n<=1f=1;elsef=factor(n-1)*n;end5、写出下列指令运行结果。
ch=‘ABc123d4e56Fg9’; subch=ch(1:5)revch=ch(end:-1:1)k=find(ch>=‘a’&ch<=‘z’); ch(k)=ch(k)-(‘a’-‘A’);char(ch)6、写出下列指令运行结果。
matlab采用勒让德正交多项式的方法求5次最佳平方逼近多项式摘要:一、勒让德正交多项式的基本概念二、MATLAB中求5次最佳平方逼近多项式的方法三、具体操作步骤及示例代码四、结果分析与实用性讨论正文:一、勒让德正交多项式的基本概念勒让德正交多项式(Legendre Polynomials)是一种重要的正交多项式,它在数学、物理等领域具有广泛的应用。
它们的定义如下:二、MATLAB中求5次最佳平方逼近多项式的方法在MATLAB中,可以使用polyfit函数来实现对给定数据的最佳平方逼近。
polyfit函数可以拟合任意次数的多项式,但这里我们关注的是5次最佳平方逼近多项式。
三、具体操作步骤及示例代码1.准备数据:首先,我们需要一组数据作为输入。
这里我们生成一个简单的数据集:```matlabx = linspace(0, 1, 100);y = sin(x);```2.求5次最佳平方逼近多项式:使用polyfit函数求解5次最佳平方逼近多项式:```matlabp5 = polyfit(x, y, 5);```3.绘制原始数据与5次逼近曲线:```matlabplot(x, y, "o", x, polyval(p5, x), "-");```4.输出5次逼近多项式的系数:```matlabdisp(p5);```四、结果分析与实用性讨论1.结果分析:通过MATLAB求得的5次最佳平方逼近多项式为:```p5 =1.0000 -0.4162 0.4162 -0.0707 0.0707```这意味着在给定数据集上,5次最佳平方逼近多项式的系数分别为1,-0.4162,0.4162,-0.0707和0.0707。
2.实用性讨论:勒让德正交多项式在许多实际应用中具有较好的性能,例如在数值积分、数值微分等方面。
在本示例中,我们使用MATLAB实现了5次最佳平方逼近多项式的求解,这对于逼近给定数据集具有较高的精度。
01MATLAB是MathWorks公司开发的一款商业数学软件02主要应用于算法开发、数据可视化、数据分析以及数值计算等领域03在科学计算、工程设计、图像处理、信号处理等领域有广泛应用MATLAB简介及应用领域MATLAB工作环境与界面介绍01MATLAB工作环境包括命令窗口、工作空间、编辑器、路径管理器等02界面简洁直观,易于上手,支持多种操作系统03提供丰富的帮助文档和示例代码,方便用户学习和使用变量、数据类型和运算符MATLAB支持多种数据类型,包括数值型、字符型、逻辑型等变量命名规则灵活,但建议遵循一定的命名规范运算符包括算术运算符、关系运算符、逻辑运算符等01 02 03MATLAB以矩阵作为基本数据单位,支持多维数组提供丰富的矩阵运算函数,如矩阵乘法、矩阵转置、矩阵求逆等支持数组元素的索引和切片操作,方便进行数据处理矩阵与数组操作流程控制语句01MATLAB提供多种流程控制语句,如if语句、for循环、while循环等02支持条件判断、循环控制、中断和继续等操作03流程控制语句的语法简洁明了,易于理解和使用03介绍数值计算的定义、特点、误差分析等基本概念。
数值计算基本概念详细讲解MATLAB 中的数值类型,包括整数、浮点数、复数等。
MATLAB 数据类型介绍数组和矩阵的基本概念和运算规则,包括数组的创建、索引、操作等,以及矩阵的加减、乘除、转置等运算。
数组与矩阵运算数值计算基础符号运算入门符号运算基本概念01介绍符号运算的定义、特点、应用领域等基本概念。
符号对象的创建与操作02详细讲解如何创建符号对象,包括符号变量、符号表达式、符号函数等,以及如何进行符号对象的操作,如符号表达式的化简、求值等。
符号微积分03介绍符号微积分的基本概念和运算规则,包括符号函数的极限、导数、积分等运算。
方程求解与函数极值问题线性方程组求解介绍线性方程组的基本概念和解法,包括直接法和迭代法,以及如何使用MATLAB求解线性方程组。
matlab习题五答案Matlab习题五答案Matlab是一款强大的数学软件,被广泛应用于科学计算、数据分析和工程设计等领域。
在学习Matlab的过程中,习题是不可或缺的一部分,通过解答习题可以帮助我们巩固所学的知识。
本文将给出一些常见的Matlab习题的答案,希望能对大家的学习有所帮助。
1. 矩阵运算在Matlab中,矩阵运算是一项基本的操作。
假设有两个矩阵A和B,分别为3行2列和2行3列的矩阵,我们可以使用以下代码进行矩阵相乘和相加的运算:```matlabA = [1 2; 3 4; 5 6];B = [7 8 9; 10 11 12];C = A * B; % 矩阵相乘D = A + B; % 矩阵相加```2. 绘制函数图像Matlab提供了丰富的绘图函数,可以用来绘制各种类型的图像。
例如,我们可以使用`plot`函数来绘制一个函数的图像。
假设要绘制函数y = sin(x)在区间[0,2π]上的图像,可以使用以下代码:```matlabx = linspace(0, 2*pi, 100); % 生成一个包含100个点的等差数列y = sin(x);xlabel('x');ylabel('y');title('y = sin(x)');```3. 数据拟合在实际应用中,我们常常需要通过已知的数据点来拟合一个函数。
Matlab提供了`polyfit`函数可以用来进行多项式拟合。
假设有一组数据点(x, y),我们要拟合一个二次多项式,可以使用以下代码:```matlabx = [1 2 3 4 5];y = [2 3 5 7 9];p = polyfit(x, y, 2); % 二次多项式拟合```4. 图像处理Matlab还提供了丰富的图像处理函数,可以用来对图像进行各种操作。
例如,我们可以使用`imread`函数读取一张图像,然后使用`imrotate`函数对图像进行旋转。
Matlab课后实验题答案实验一 MATLAB运算基础1。
先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)0 122sin851ze =+(2)21ln(2z x=,其中2120.455ix+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2。
52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A —B+I (其中I 为单位矩阵) (2) A*B 和A 。
*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B ]和[A([1,3],:);B^2] 解:3. 设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MATLAB 工作空间的使用情况。
4。
完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2)。
建立一个字符串向量例如: ch=’ABC123d4e56Fg9’;则要求结果是:实验二 MATLAB 矩阵分析与处理1。
设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。