《MATLAB语言的数值运算.ppt》由会员分享,可在线阅读,更多相关《MATLAB语言的数值运算.ppt(66页珍藏版)》请在三一办公上搜索。
1、2 MATLAB语言的数值运算,MATLAB 程序设计基本原则(1)设置完整的路径,把当前的处理位置设为现在的目录;(2)参数值集中放在程序的开始部分,便于程序维护;(3)若在每行程序的最后输入分号,则执行后结果不会显示在屏幕上;(4)符号“%”后面的内容、是程序的注解,不作为命令运行;(5)程序尽量模块化,也就是采用主程序调用子程序的方法,将所用子程序和并在一起来执行全部的操作;(6)注意变量的定义;(7)留意各种命令的书写格式。,程序的基本组成%说明部分 清除命令(可选)定义变量(局部变量和全局变量)按照顺序行执行的命令语句 控制语句开始 控制语句体 控制语句结束 其他命令(如绘图等),2
2、.1 基本语法结构2.1.1 变量与赋值语句 1、变量 变量命名规则(1)必须以字母开头;(2)可以由字母、数字和下划线混合组成;(3)变量长度应不大于31个;(4)字母区分大小写。,a=3;A=1 2 3;4 5 6 f1=this is a string;2 基本语句结构:变量名列表=表达式 c=a*b2.1.2 数据类型 共有6种数据类型:双精度型(double)、字符型(char)、稀疏型(sparse)、存储型(storage)、细胞型(cell)和结构型(struct),变量的定义 Matlab使用变量前不需专门语句定义变量的数据类型,根据语句执行结果自动指定变量的数据类型。,2.
3、1.3 运算符 Matlab的运算符可分为三类:算术运算符、关系运算符和逻辑运算符。其中算术运算符的优先级最高,其次是关系运算符,最后是逻辑运算符。下面将分别介绍这三类运算符和逻辑函数。1.算术运算符 算术运算符按优先级由低到高分为五级,每一级优先级相同,运算时从左向右进行结合。各优先级包含的运算符为:(1)转置“”、幂“”、复共轭转置“”、矩阵幂“”;,(2)标量“+”、“-”;(3)数组“”、“”、“”,矩阵“”、“”、“”;(4)“+”、“-”;(5)冒号“:”运算符。2.关系运算符 关系运算符对于程序的流程控制非常有用,在MATLAB的循环和条件控制中经常使用。大于=大于等于=等于=不
4、等于,关系运算符将生成一个01矩阵,当运算数相应元素为真时,对应位置上生成1,否则为0.3.逻辑运算符&(与)(或)(非)逻辑运算符也对运算数的相应元素一一运算,最后结果是一个01矩阵。当逻辑表达式的值为真时,赋值1,否则为0。对于数值矩阵,当元素为0时,逻辑上为假;当元素为非0时,逻辑上为真。,2.1.4 常量,常量的表示方法:十进制数字,可以带正负号和小数点,也可采用科学计数法。如:1,2.5,0.0033,2 e-7,pi,2+3 i 等,特殊的常量和变量(1)ans 缺省变量名,以操作中最近应答作为它的值(2)pi 圆周率(3)i 或 j 虚数单位(4)inf 正无穷大(5)nan 不
5、定值(或称非数),MATLAB的永久常数 i或j 基本虚数单位 esp 容差变量,系统floating-point 精度 Inf 表示正无穷大,定义为1/0 NaN 非数值(not a number)它产生于0,0/0,/等运算 pi 圆周率 realmax 系统所能表达的最大数 realmin 系统所能表达的最小数 nargin 函数输入变量的个数 nargout 函数输出变量的个数,2.1.5 程序控制语句 为编写结构化的程序提供了必不可少的条件,可提高程序的效率和可读性1、for循环语句:用来执行循环次数已知的情况调用格式:for x=初值:步长:终值 循环体 end,其中:变量 x 称
6、为循环变量,初值、终值和步长可以是标量,也可以是表达式。当循环语句开始执行时,x 的值被赋为和初值相同的内容,每执行一次循环体的内容,x 的值就会按照步长的大小来改变,如果步长为正数,每执行一次就增加一个步长,否则减小一个步长,一直到变量的值大于或者小于终值,for语句循环结束,继续执行结束语句下面的命令。,eg:下面for语句中的循环体将执行 100 次,计算 1 到 100 的和,a=0;for i=1:100a=a+i;end aa=5050,for循环语句可利用嵌套方式使用,如下例计算 1 到 6 的乘法表,注:当步长省略不写时,系统默认为 1。for循环语句允许嵌套;每一个“for”
7、关键字必须和一个“end 配对,for i=1:6for j=1:iA(i,j)=i*j;endend AA=1 0 0 0 0 0 2 4 0 0 0 0 3 6 9 0 0 0 4 8 12 16 0 0 5 10 15 20 25 0 6 12 18 24 30 36,2、while循环语句:一般用于事先不能确定循环次数的情况时候调用格式:while 表达式 循环体 end 当表达式的值为真时,执行循环体,当循环体执行完毕后,继续判断表达式的值,如果仍为真,继续执行,如此循环,直到表达式的值为假时终止循环 注:利用break语句,可在任何时候终止循环(while循环或者for循环)例:求
8、 10 的阶乘,s=1;n=1;while(n ss=3628800,3、条件选择语句if根据不同逻辑表达式的值来判断程序在执行过程中需要执行那些语句调用格式:if 逻辑表达式 命令语句体 end程序在执行过程中,首先判断逻辑表达式的值,若为真,则执行命令语句体中所有语句,否则,跳过命令语句体,执行结束语句之后的语句if语句可以通过嵌套的方式使用,但不同的 if 语句之间不能互相交叉,调用格式:if 逻辑表达式 1 语句体 1 elseif 逻辑表达式 2 语句体 2 elseif 逻辑表达式 3 语句体 3 else 语句体 end,例 1:,a=100;b=345;if a cc=3.45
9、00,例 2:,X=1 2 3;4 5 6;7 8 9;i=2;j=3;if i=jX(i,j)=0;elseif abs(i-j)=1X(i,j)=-1;else X(i,j)=10;end XX=1 2 3 4 5-1 7 8 9,2.1.6 M 文件 为代替在 MATLAB 提示符下输入的 MATLAB 命令语句,可以把这些命令写入一个文本文件,每当用户输入文件名和它的自变量时,命令语句就由 MATLAB 执行,当文件中最后一个命令被执行后,MATLAB 能再从终端读取命令,这样的文件就叫 M 文件。1、M 文件的类型 两类:命令(Script)文件和函数(function)文件(1)命
10、令文件 主要用途:使命令输入更简单化(没有输入参数也没有输出参数)当用户需要重复输入许多相同的命令时,可将它们放在一个命令文件中,每次只要输入文件名,即可得相同的运行结果。,实质是将用户在 MATLAB 命令窗口中输入的一串命令用另外一个名称来代替。(2)函数文件 主要用途:扩充 MATLAB 的应用范围和满足用户不同的实际应用需求。函数文件可接受输入变量也可返回输出变量。函数文件对变量工作的运算是在其本身的工作空间内进行的,它和 MATLAB 的命令窗口的工作空间是相互独立的。,2、M 文本编辑器 利用 MATLAB 编程语言所写的程序被称作 M 文件后缀均为“.m”。(1)启动编辑器的方法
11、:A.直接在 MATLAB 命令窗口中运行命令编辑 B.单击 MATLAB 命令窗口工具栏上的图标 C.从 MATLAB 命令窗口种选择菜单 file“new M-file。(2)打开已有 M 文件的操作方法:,A.直接在命令窗口运行命令edit filename filename 是待打开的文件名。B.单击 MATLAB 命令窗工具栏上的图标,从弹出对话框中选取需打开的文件。C.单击命令窗口中的“file”“open”子菜单,从弹出对话框中选取需打开的文件,编辑或修改的文件经保存后可单击“debug”项中的“run”进行运行。或者在命令窗中直接输入此 M 文件的名称,就可观察运行结果;如果有
12、错误,会在命令窗口中给出相应的提示,根据出错提示找到错误进行修改。,3、命令文件 最简单的 M 文件,不含输入变量和输出变量,主要用途是使命令输入更简单,调用时 MATLAB 自动执行文件中的全部语句,因此在实现分析问题,解决问题和设计复杂命令等方面十分有用。eg:建立一个命令文件,输出 500 以内的 Fibonacci 数。打开文本编辑器,输入如下命令行,保存文件名为“fibon”,然后再命令窗口中输入命令“fibon”,就能立即看到结果。,fibonf=Columns 1 through 12 1 1 2 3 5 8 13 21 34 55 89 144 Columns 13 throu
13、gh 14 233 377,4、函数文件 可以传递参数,接受输入变量和返回输出变量且对变量的运算是在函数本身的工作空间内进行,和 MATLAB 命令行窗口的工作空间互相独立。函数文件的第一行必须包含关键字“function”。函数名的命名规则和变量名的命名规则一样:必须以字母开头,其余部分可以是字母、数字、下划线。eg:建立一个函数文件,计算序列的平均值。打开编辑器输入如下内容,并保存文件名为 aver.m,function a=aver(x)%AVERAGE mean value%for vectors,AVERAGE is the mean value%for matrix,AVERAGE
14、 is a row vector%Non-vector input results in an errorm,n=size(x);if m=1;m=n;enda=sum(x)/m;,然后在命令窗口中输入变量 x。,x=26:1000;aver(x)ans=513,函数文件的几点说明:(1)文件的第 1 行说明了该函数的名称、输入参数、输出参数。(2)“%”后面的语句用来注释说明,只是为了程序易于理解。(3)文件前面几行由“%”开始的语句构成了 M 文件的帮助信息。(4)变量 m,n 及 y 为局部变量,程序执行完后,变量随之消失。(5)函数体包含所有计算和为输出参数附值的代码。(6)调用函数文
15、件时,传递的参数名称可与函数文件中定义的参数名称不相同。,2.2.1 矩阵变量赋值方法,1、用中括号 将矩阵所有元素括起来;2、同一行的不同元素之间用空格或逗号间隔;3、用分号(;)指定一行结束,也可以分成几行 进行输入,用回车代替分号;4、数据元素可以是表达式,系统将自动计算结果,2.2 矩阵运算,例1:直接 输入 a=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 例2:利用表达式输入 b=1,sqrt(25),9,13;2,6,10,7*2;3+sin(pi/2),6,7,2;4,abs(-8),12,18 例3:修改矩阵各元素的值 a(1,1)=0;a(2
16、,2)=a(1,1)+3*a(1,2);a(4,4)=cos(3*pi/4),2.2.2 矩阵常规运算,加减运算矩阵乘法矩阵除法矩阵的乘方矩阵转置矩阵求逆求特征值求特征多项式求方阵的行列式的值矩阵的迹和秩,(1)加减运算 c=a+b;d=a-b;e=a+3(2)矩阵乘法 c=a*b;d=a*3(3)矩阵除法 矩阵除法分左除“”和右除“/”两种,如果a矩阵为非奇异,则“ab”和“b/a”可实现:ab=inv(a)*b b/a=b*inv(a),例3:设矩阵满足如下关系:a*b-a=2*b 求b b=(a 2*eye(3)a b=inv(a-2*eye(3)*a,(4)矩阵乘方 例:计算:a2 a
17、3 a4(5)矩阵转置 例:x=a(6)矩阵求逆 例:y=inv(a)(7)矩阵特征值 例:lmd=eig(a)(8)矩阵特征多项式 例:v=poly(a)(9)矩阵行列式的值 例:x=det(a),(10)矩阵的非线性运算 例:a=sin(b)x=log(a)y=round(b)(11)矩阵指数函数 exp(a)指数函数 expm(a)矩阵指数函数 例:已知:当T=0.1,0.2,0.3 时,计算,2.2.2 数据统计与分析1.求矩阵最大和最小元素(1)求向量的最大最小元素y=max(X)返回向量X的最大元素存入y。y,I=max(X)返回向量X的最大元素存入y,最大元素的序号存入I。(2)
18、求矩阵的最大和最小元素max(A)返回一个行向量,向量的第i个元素是A矩阵的第i列上的最大元素。Y,U=max(A)返回两个行向量,Y向量记录A的每列的最大元素,U向量记录每列最大元素的行号。max(A,dim)dim取1或2。dim取1时,该函数和max(A)完全相同。dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大元素。,(3)两个向量或矩阵对应元素的比较U=max(A,B)A,B是两个同型的向量或矩阵。结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。U=max(A,n)n是一个标量。结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素
19、和n中的较大者。min函数的用法和max完全相同。,例 求矩阵A的每行及每列的最大和最小元素,并求整个矩阵的最大和最小元素。A=13,-56,78;25,63,-235;78,25,563;1,0,-1;max(A,2)%求每行最大元素min(A,2)%求每行最小元素max(A)%求每列最大元素min(A)%求每列最小元素%求整个矩阵的最大元素%求整个矩阵的最小元素,max(max(A)min(min(A),2.求矩阵的平均值和中值 求矩阵和向量元素的平均值的函数是mean;求中值的函数是median。它们的调用方法和max函数完全相同。3.矩阵元素求和与求积 矩阵和向量求和与求积的基本函数是
20、sum和prod,其使用方法和max类似。,例 求矩阵A的每行元素的乘积和全部元素的乘积。A=1,2,3,4;5,6,7,8;9,10,11,12;S=prod(A,2)prod(S)%求A的全部元素的乘积4.矩阵元素累加和与累乘积 MATLAB中,使用cumsum和cumprod函数能方便地求得向量和矩阵元素的累加和与累乘积向量,函数的用法和sum及prod相同 例 求向量X=(1!,2!,3!,10!)。X=cumprod(1:10),5.标准方差 MATLAB中,提供了计算数据序列的标准方差的函数std。对于向量X,std(X)返回一个标准方差。对于矩阵A,std(A)返回一个行向量,它
21、的各个元素便是矩阵A各列或各行的标准方差。std函数的一般调用格式为:std(A,FLAG,dim)其中dim取1或2。当dim=1时,求各列元素的标准方差;当dim=2时,则求各行元素的标准方差。FLAG取0或1。,6.元素排序 排序函数为sort(X),函数返回一个对X中的元素按升序排列的新向量。sort函数也可对矩阵A的各列(或行)重新排序,其调用格式为:Y,I=sort(A,dim)其中dim指明对A的列还是行进行排序,若dim=1,则按列排,若dim=2,则按行排。Y是排序后的矩阵,而I记录Y中的元素在A中位置。,2.3 基本数学函数,三角函数 指数函数 矩阵函数,2.4 逻辑关系运
22、算,=,2.5 点运算,MATLAB有三种点运算:.*点乘.点乘方./点除 矩阵的常规运算是按照矩阵运算法则进行的,而矩阵的点运算是对矩阵中的元素定义的。例:a=1 2;3 4 b=5 6;7 8 c1=a*b c2=a.*b,2.6 多项式的运算,多项式的构造:多项式 p(x)=Matlab表示为:p=例:p1(x)=p2(x)=p1=5 4 3 2 1 p2=3 0 1,(1)多项式的加减运算 a=p1+p2 b=p1-p2(2)多项式的乘法 conv(p1,p2)(3)多项式的除法 deconv(p1,p2)(4)多项式的微分 polyder(p)(5)多项式的求值 polyval(p,
23、1)(6)多项式的求根 roots(p),2.7 线性代数求解,线性方程组为:A x=b 则 x=A b 或 x=inv(A)*b例:解如下线性方程组:,2.8 统计分析 max()求最大值 min()求最小值 mean()求平均值 median()求中间值 sum()求和函数 std()求标准差 sort()元素排序,2.9 插值运算常用的插值函数有:table1 table2 线性表法插值 interp1 interp2 可选插值 spline 三次样条函数插值,1.一维数值插值interp1函数调用格式为:Y1=interp1(X,Y,X1,method)函数根据X、Y的值,计算函数在X
24、1处的值。X、Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。method是插值方法,允许的取值有linear(线性插值)、nearest(最近插值)、spline(三次样条插值)、cubic(三次多项式插值),缺省值是linear。,例 用不同的插值方法计算sin(x)在/2点的值。这是一个一维插值问题。在MATLAB命令窗口,输入命令:X=0:0.2:pi;Y=sin(X);%给出X、Yinterp1(X,Y,pi/2)%用缺省方法(即线性插值方法)计算 sin(/2)interp1(X,Y,pi/2,nearest)%
25、用最近方法计算sin(/2)interp1(X,Y,pi/2,linear)%用线性方法计算sin(/2)interp1(X,Y,pi/2,spline)%用三次样条方法计算sin(/2)interp1(X,Y,pi/2,cubic)%用三次多项式方法计算sin(/2)MATLAB中有一个专门的三次样条插值函数Y1=spline(X,Y,X1),其功能及使用方法与函数Y1=interp1(X,Y,X1,spline)完全相同。,例 已知检测参数f随时间t的采样结果,用数值插值法计算t=2,7,12,17,22,17,32,37,42,47,52,57时f的值。这是一个一维数值插值问题,命令如下
26、:T=0:5:65;X=2:5:57;F=3.2015,2.2560,879.5,1835.9,2968.8,4136.2,5237.9,6152.7,.6725.3,6848.3,6403.5,6824.7,7328.5,7857.6;F1=interp1(T,F,X)%用线性方法插值F1=interp1(T,F,X,nearest)%用最近方法插值F1=interp1(T,F,X,spline)%用三次样条方法插值F1=interp1(T,F,X,cubic)%用三次多项式方法插值,例:求下面系统的单位阶跃响应 num=5;den=1,1.2,5;y,x,t=step(num,den);y
27、m=max(y)tp=spline(y,t,max(y),2.二维数值插值MATLAB中,提供了解决二维插值问题的函数。其调用格式为:Z1=interp2(X,Y,Z,X1,Y1,method)其中,X、Y是两个向量,分别描述两个参数的采样点,Z是与参数采样点对应的采样变量的样本值,X1、Y1是两个向量或标量,描述欲插值的点。method的取值与一维插值函数相同。,例 设Z=x2+y2,对Z函数在(0,1)(0,2)区域内进行插值。x=0:0.1:10;y=0:0.2:20;X,Y=meshgrid(x,y);Z=X.2+Y.2;interp2(x,y,Z,0.5,0.5)%对函数在(0.5,
28、0.5)点进行插值interp2(x,y,Z,0.5 0.6,0.4)%对函数在(0.5,0.4)点和(0.6,0.4)点进行插值interp2(x,y,Z,0.5 0.6,0.4 0.5)%对函数在(0.5,0.4)点和(0.6,0.5)点进行插值interp2(x,y,Z,0.5 0.6,0.4 0.5)%对函数在(0.5,0.4),(0.6,0.4),(0.5,0.5)和(0.6,0.5)点进行插值,例 某实验对一根长10米的钢轨进行热源的温度传播测试。用x表示测量点0:2.5:10(米),用h表示测量时间0:30:60(秒),用T表示测试所得各点的温度()。试用线性插值求出在一分钟内每
29、隔10秒、钢轨每隔0.5米处的温度。程序如下:x=0:2.5:10;h=0:30:60;T=95,14,0,0,0;88,48,32,12,6;67,64,54,48,41;xi=0:0.5:10;hi=0:10:60;temps=interp2(x,h,T,xi,hi,cubic);mesh(xi,hi,temps);,3.三维数值插值 对三维函数插值的函数是interp3,方法和interp2相同。其调用格式为:W1=interp3(X,Y,Z,W,X1,Y1,Z1,method)函数返回三维插值结果。其中,X、Y、Z是三个向量,分别描述三个参数的采样点,W是与参数采样点对应的采样变量的样
30、本值,X1、Y1、Z1是三个向量或标量,描述欲插值的点。method是插值方法,可选,其缺省值是 line。method的取值与一、二维插值函数相同。,2.10 曲线拟合MATLAB中,提供了解决使用最小二乘法进行曲线拟合的函数。调用格式为:P,S=polyfit(X,Y,m)函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。其中X、Y是两个等长的向量,P是一个长度为m+1的向量。,例 用一个3次多项式在区间0,2内逼近函数sin(x)。命令如下:X=linspace(0,2*pi,50);Y=sin(X);P,S=polyfit(X,Y,3)plot(X,Y,-
31、*,X,polyval(P,X),:o),2.11 数值积分,Matlab的几个数值积分函数为:quad(f,a,b)低阶数值积分 Simpson 递推算法。quadl(f,a,b)高阶数值积分 Lobatto递推算法。f 为字符串,该字符串为积分表达式m函数的函数名,a、b为积分区间的上下限。例:计算下列积分:1、建立m函数,zmfun01.m function y=zmfun01(x)y=1/3*exp(-x).*cos(3*x);2、计算数值积分:quad(zmfun01,0,4),2.12 常微分方程的数值求解,基于龙格库塔法,MATLAB提供了求常微分方程数值解的函数,一般调用格式为
32、:X,Y=ode23(f,x0,xn,y0)X,Y=ode45(f,x0,xn,y0)其中,X、Y是两个向量,X对应自变量x在求解区间x1,xn的一组采样点,其采样密度是自适应的,无需指定;Y是与X对应的一组解,f是一个函数,x0,xn代表自变量的求解区间,y0=y(x0),由方程的初值给定。函数在求解区间x0,xn内,自动设立采样点向量X,并求出解函数y在采样点X处的样本值。,例 求微分方程初值问题在1,3区间内的数值解,并将结果与解析解进行比较。先建立一个该函数的m文件fxy1.m:function f=f(x,y)f=-2*y./x+4*x%注意使用点运算符return再输入命令:X,Y
33、=ode45(fxy1,1,3,2);X%显示自变量的一组采样点Y%显示求解函数与采样点对应的一组数值解(X.2+1./X.2)%显示求解函数与采样点对应的一组解析解,例 求解初值问题在区间0,2中的解。建立一个函数文件 fxy2.m:function f=f(x,y)f(2)=-x.*y(2)+x.2-5;f(1)=y(2);f=f;return在MATLAB命令窗口,输入命令:X,Y=ode45(fxy2,0,2,5,6);X,Y,2.13 非线性方程的数值求解,1单变量非线性方程求解 MATLAB中,提供了求解单变量方程的函数fzero(f,x0,tol),该函数采用迭代法计算函数f(x
34、)的一个零点,迭代初值为x0,当两次迭代结果小于tol时停止迭代过程。tol的缺省值是eps。注意,在调用函数fzero 之前,要使用m文件建立要计算的函数f(x),只有定义了函数f(x)的m文件后,才能在fzero函数的参数中使用自定义函数名。,例 求f(x)=x-1/x+5 在x0=-5和x0=1作为迭代初值时的零点。先建立一个函数文件fz.m:function f=f(x)f=x-1/x+5;然后,在MATLAB命令窗口,输入命令:fzero(fz,-5)%以-5作为迭代初值Zero found in the interval:-4.8,-5.2.fzero(fz,1),2.非线性方程组
35、的求解 对于非线性方程组F(X)=0,用fsolve函数求其数值解。fsolve函数的调用格式为:X=fsolve(fun,X0,option)其中X为返回的解,fun是用于定义需求解的非线性方程组的函数文件名,X0是求根过程的初值,option为最优化工具箱的选项设定。最优化工具箱提供了20多个选项,用户可以使用optimset命令将它们显示出来。如果想改变其中某个选项,则可以调用optimset()函数来完成。例如,Display选项决定函数调用时中间结果的显示方式,其中off为不显示,iter表示每步都显示,final只显示最终结果。optimset(Display,off)将设定Dis
36、play选项为off。,例 求方程组在(1,1,1)附近的解并对结果进行验证。首先建立方程的函数文件fxyz1.m:function F=F(X)x=X(1);y=X(2);z=X(3);F(1)=sin(x)+y+z2*exp(x);F(2)=x+y*z;F(3)=x*y*z;在MATLAB命令窗口,输入命令:X=fsolve(fxyz1,1,1,1)%求解X的三个分量x、y、zY=fxyz1(X)%检验所求结果X是否满足原方程组norm(Y)%求Y向量的模,例6.30 求圆和直线的两个交点。建立方程组函数文件fxyz2.m:function F=F(X)x=X(1);y=X(2);z=X(3);F(1)=x2+y2+z2-9;F(2)=3*x+5*y+6*z;F(3)=x-3*y-6*z-1;在MATLAB命令窗口,输入命令:X1=fsolve(fxyz2,-1,1,-1)%求直线与球面第一个交点X2=fsolve(fxyz2,1,-1,1)%求直线与球面的第二个交点,作业,1、已知矩阵 求:2a+b ab ba ab-ba,2、已知二阶矩阵a、b 按下式求 x 矩阵:x-2 a=b 3 a x3、求解如下方程的根:4、求多项式 被 除后的结果。,5、求解如下线性方程组:6.求下面函数的积分,