工学MATLAB与科学计算课件_第1页
工学MATLAB与科学计算课件_第2页
工学MATLAB与科学计算课件_第3页
工学MATLAB与科学计算课件_第4页
工学MATLAB与科学计算课件_第5页
已阅读5页,还剩337页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB与科学计算MATLAB与科学计算1一、前言MATLAB:matrixlaboratory的缩写,矩阵实验室的意思。一开始它是一种专门用于矩阵数值计算的软件。自MATLAB4.0版本问世以来,该软件成为最具有吸引力,应用最为广泛的科学计算语言。我们这个课就拿MATLAB6.1版本来讲。(6.x版本大同小异)一、前言MATLAB:matrixlaboratory的缩2学习该软件的必要性:目前,MATLAB软件不仅走入企业、公司和科研机构,而且在高等院校也是从大学生到博士生都必须掌握的一项基本技能,是必不可少的计算工具,。MATLAB功能:数值计算、符号运算和图形处理。学习该软件的必要性:目前,MATLAB软件不仅走入企业、公司3学习它的意义:随着计算机科学和计算软件的发展,数学系学生必须掌握一门好的计算软件。这是我们就业、继续身造或做科研工作所要用到的。是当代大学生必备的一项技能。学习它的意义:随着计算机科学和计算软件的发展,数学系学生必须4其它计算软件:MATHEMATIC(数学分析问题的计算);IDL(航天、控制),FOETRAN、BASIC(科学计算)。可以说一个人掌握了一门计算软件,再学习其它计算软件很容易。其它计算软件:MATHEMATIC(数学分析问题的计算);I5MATLAB桌面平台:(1)主窗口:整个大的窗口(其它几个窗口都包括在其中)(2)命令窗口(commandwindow):》为运算提示符,表示MATLAB在准备状态。当在提示符后输入一段运算式并按回车键后,就给出计算结果MATLAB桌面平台:6(3)历史窗口(commandhistory):保留命令历史记录,这方便于使用者查询。双击历史窗口中的某一行命令,即可在命令窗口中执行该命令。(3)历史窗口(commandhistory):保留命令历7(4)当前目录窗口(currentdirectory):在当前目录窗口中可显示或改变当前目录,也可以显示当前目录下的文件,并提供搜索功能。(4)当前目录窗口(currentdirectory):在8(5)发行说明书窗口(launchpad):用来说明用户所拥有的Mathworks公司产品的工具包、演示以及帮助信息。(6)工作间管理窗口(workspace):显示目前内存中所有的MATLAB变量的变量名、数学结构、字节数及其类型。(5)发行说明书窗口(launchpad):用来说明用户所9命令窗口查询帮助:help+函数名,当用户知道函数名字,而不知道其用法时,用help命令可以去了解此函数的用法。如:helpinv命令窗口查询帮助:help+函数名,当用户知道函数名字,而不10MATLAB标点的含义:(1)分号;……区分行以及取消运行显示等。例:A=[1,2,3,4]与A=[1,2;3,4];的区别。(2)逗号,……区分列及函数参数分隔符等。例:=[1,2;3,4],B=[1,4,3;3,2,1;4,5,6]MATLAB标点的含义:11(3)小括号():指定运算过程的先后次序等。例:x=0.5;y=sin(x)/(2+cos(x))z=sin(x)/2+cos(x)(4)方括号[]:矩阵定义标志等。见上。(3)小括号():指定运算过程的先后次序等。例:12(5)续行号…:例:y=sin(x)/(2+cos(x))也可写为y=sin(x)…/(2+cos(x))(5)续行号…:例:13(6)百分号%:注释标记,该行%以后的语句不执行。例%线性规划程序%a=0.5;b=sin(x);%正弦函数

(6)百分号%:注释标记,该行%以后的语句不执行。例14(6)等号=:赋值标记。见上。(7)单引号’’:字符串表示符,单引号里面的内容为字符串。单引号一定在英文状态下输入例:

a='xingtaicollege'(8)冒号’:’:有多种应用功能,学习过程中注意。如:选取矩阵的所有行、列;矩阵定义(6)等号=:赋值标记。见上。15二、数值计算变量:MATLAB语言不需要对所使用的变量进行事先声明,也不需要指定其类型,它会自动根据所赋予变量的值或所进行的操作来确定变量的类型。如果变量重新赋值将会用新值代替旧值。如:a=1b=0.5c=a*bc=3二、数值计算变量:MATLAB语言不需要对所使用的变量进行事16变量命名的规则:(1)变量名区分大小写;(2)变量名长度不能超过31位;(3)必须以字母开头,变量名中可包含字母、数字、下划线,但不能使用标点。变量命名的规则:17常量:MATLAB中有些预定义的变量,这些特殊的变量称为常量。常用到的有:i,j:虚数单位;pi:π;NaN:表示不定值,比如0/0;inf:无穷大(infinit),比如1/0。常量:MATLAB中有些预定义的变量,这些特殊的变量称为常量18算术操作符:

+、-:加,减;可以通用。*,^,\,/:分别为矩阵乘,乘方,左除,右除;.*,.^,.\,./:分别为数组乘,乘方,左除,右除;此时向量的运算不会满足矩阵的运算法则。注意矩阵的加点运算结果。算术操作符:19如:a1=2;a2=[1,2,3,4];b2=[4,3,2,1];a1+a2a1-a2a2-a1a1*a2如:20a1./a2%a1/a2是错误的写法a1.\a2a2-b2a2+b2a2.*b2%a2*b2是错误的写法a2./b2b2./a2a2.\b2a1./a2%a1/a2是错误的写法21例已知水的黏度随温度的变化公式为μ=μ0/(1+at+bt2)其中μ0=1.785×10-3,

a=0.03368,b=0.000221,求水在0,20,40,80℃时的黏度。程序如下:例已知水的黏度随温度的变化公式为μ=μ0/(1+at+b22miu0=1.785e-3;a=0.03368;b=0.000221;t=0:20:80miu=miu0./(1+a*t+b*t.^2)运行后的结果为:miu=0.00180.00100.00070.00050.0003miu0=1.785e-3;23字符串:字符串的约定(1)字符串用单引号括起来;(2)字符串的每个每个字符(包括空格)都是字符数组的一个元素.例s=‘xingtaicollege’f=‘sin(x)’是字符串(chararray)字符串:24向量的生成:(1)直接输入:如a=[1,2,5,3](2)利用冒号表达式生成:如:b=[2:2:10],此时[]可省略,步长为1时,步长可省略。第一个数为首元素的值,第2个数为步长或差值,第三个数为尾元素的限值,不能超过这个值。如b=2;2:11等价于b=[2:2:10]向量的生成:25(3)线性等份向量生成:y=linspace(x1,x2,n),生成n维向量,使得y(1)=x1,y(n)=x2。如:y=linspace(1,100,6)。向量的基本运算(1)向量的加减:用+、-。同维向量才可以加、减。相应元素加减(3)线性等份向量生成:y=linspace(x1,x2,n26(2)向量与数可以加、减。用+、-。数与向量的每个元素进行作用。(3)向量与数可以相乘。用*。(4)向量与数可以相除。向量/数,数./向量。(5)两个向量点积。必须是同维向量。用dot(a,b)。(2)向量与数可以加、减。用+、-。数与向量的每个元素进行作27(6)两个向量叉积。cross(a,b),a,b必须有是3维且次序不能颠倒,。(7)混合积。由以上两个函数实现。dot(a,cross(b,c))矩阵的生成:(1)直接输入:如:a=[1,3,4;4,3,2].(6)两个向量叉积。cross(a,b),a,b必须有是3维28(2)创建M文件输入大矩阵:当矩阵很大时,直接输入显得很笨,出错不易修改.我们可以编写一个M文件,M文件的扩展名必须是m.例编写一个名为matrix.m(名字自己随便起)的M文件如下:%matrix.m(2)创建M文件输入大矩阵:当矩阵很大时,直接输入显得很笨,29mat=[1,2,3,3;3,4,5,1;3,2,1,4;8,9,7,5]在命令窗口中输入matrix,就会运行该文件.查看矩阵的结构可用size(mat).mat=[1,2,3,3;3,4,5,1;3,2,1,4;830矩阵运算:(1)+、-、*:加、减、乘运算。(2)矩阵的除法有两种形式:左除“\”和右除‘/’.右除是先计算逆再做乘法;而左除不计算逆直接进行除法运算,这样可避免奇异矩阵无法求逆带来的麻烦.矩阵运算:31如:A=[1,2,3,2;3,2,4,1;3,1,5,6;2,5,3,2],b=[1;3;2;1],求方程组Ax=b的解.由于rank(A)=rank(B)=4(B为增广矩阵),所以有唯一解,x=A\b,或x=inv(A)*b.如:A=[1,2,3,2;3,2,4,1;3,1,5,6;32又如:A=[361,625,961,1444,1936;1,1,1,1,1],b=[1;1]‘,求方程组Ax=b的解.由于rank(A)=rank(B)=2(B为增广矩阵),所以有无穷多个解,MATLAB中用除法解方程组时所得到的解是所有解中范数最小的一个x=A\b。又如:A=[361,625,961,1444,1936;133(3)矩阵与常数间的运算:+、-、*运算是数与矩阵的每个元素进行运算,除法运算,只能常数做除数。(4)矩阵求逆:inv(A)为A的逆(inverse).(3)矩阵与常数间的运算:+、-、*运算是数与矩阵的每个元素34(5)求转置矩阵:A'.(6)求矩阵的行列式:det(A),(determinant是行列式)。(7)矩阵幂运算:用^.如A^3,表示A*A*A。(8)矩阵指数运算:expm(A),A为方阵。(5)求转置矩阵:A'.35(9)矩阵对数运算:logm(A),A为方阵。如:a=rand(3);%成生一个3阶随机矩阵b=expm(a)c=logm(b)(9)矩阵对数运算:logm(A),A为方阵。36(10)矩阵开方:sqrtm(a).(11)求矩阵呢的秩:rank(a).特殊矩阵的生成:(1)zeros(n):生成n×n阶0矩阵。(2)zeros(m,n):生成m×n阶0矩阵。(3)zeros(size(a)):生成与a阶数相同的0矩阵。(10)矩阵开方:sqrtm(a).37(4)eye(n):生成n阶单位矩阵。(5)eye(m,n):生成m×n阶单位矩阵。(6)eye(size(a)):生成与a阶数相同的单位矩阵。(7)ones(n):生成n阶全1矩阵。(8)ones(m,n):生成m×n阶全1矩阵。(4)eye(n):生成n阶单位矩阵。38(9)ones(size(a)):生成与a阶数相同的全1矩阵。(10)rand(n):生成n×n阶随机矩阵,其元素值在0和1之间。(11)rand(m,n):生成m×n阶随机矩阵。(12)rand:生成一个随机数。(9)ones(size(a)):生成与a阶数相同的全1矩39(13)rand(size(a)):生成与a阶数相同的随机矩阵。矩阵的特殊操作:(1)变维操作reshape(a,m,n):把矩阵a变成n×n阶矩阵。如a=1:12,reshape(a,2,6),reshape(a,3,4)。注意变维操作要保证元素个数一致。(13)rand(size(a)):生成与a阶数相同的随机矩40例s=1:12;c=zeros(3,4);c(:)=s(:);%符号“:”表示变维操作,这两个矩阵必须预先定义维数,结果c取的是s的元素。例41(2)对角元素抽取diag(a,k)(注:diagonal为对角线的意思):抽取矩阵a的第k条对角线的元素作为向量,k=0时为主对角线,k为正值时为上方第k条对角线,k为负值时为下方第k条对角线。diag(a)相当于diag(a,0).例a=rand(3);v=diag(a)(2)对角元素抽取diag(a,k)(注:diagonal为42说明:如果b是一个向量,则diag(b)为对角矩阵,其对角线元素为b的元素。如:b=1:3,diag(b).(3)tril(a)(注:trianglelow):提取矩a的主下三角。(4)tril(a,k):提取矩a的第k条对角线下面部分。k=0时为主对角线,k为正值时为上方第k条对角线,k为负值时为下方第k条对角线。说明:如果b是一个向量,则diag(b)为对角矩阵,其对角线43(5)triu(a,k)(注:triangleup):提取矩a的第k条对角线上面部分。逻辑运算符:(1)==:等于。(2)~=:不等于。(3)〈:小于。(4)〉:大于。(5)triu(a,k)(注:triangleup):44(5)〈=:小于等于。(6)〉=:大于等于。(7)&:逻辑与。(8)|:逻辑或。(9)~:逻辑非。(5)〈=:小于等于。45说明:①在关系比较中,若双方为同维数组(矩阵),则比较的结果也是同维数组(矩阵)。它们的元素有0和1组成。对应位置上的元素满足比较关系时为1,否则为0。当常数与数组(矩阵)比较时,结果与数组(矩阵)同维,其值依次为常数与数组元素依次比较的结果。例:说明:46a=[1:3;4:6;7:9]x=5y=x<=a运行结果y=000011111a=[1:3;4:6;7:9]47②逻辑运算的意义是:与:当运算双方的对应元素值都为非0时,结果为1,否则为0;或:当运算双方的对应元素值有一非0时,结果为1,否则为0;非:当运算数组(矩阵)的对应位置上的元素值为0时,结果为1,否则为0。例②逻辑运算的意义是:48a=[1,2;3,2];b=[0,1;3,0];d=a&be=a|bf=~b③算术运算、比较运算、逻辑与或非运算的优先级:先算术运算、再比较运算、最后逻辑与或非运算。a=[1,2;3,2];49常用的一些函数(直接调用):sin(x):正弦函数(sine);例:x=-pi:0.1:pi;y=sin(x);plot(x,y)asin(x):反正弦函数(anti-sine);cos(x):余弦函数(cosine);acos(x):反余弦函数(anti-cosine);tan(x):正切函数(tangent);常用的一些函数(直接调用):50atan(x):反正切函数(anti-tangent);cot(x):余切函数(cotangent);acot(x):反余切函数(anti-cotangent);sec(x):正割函数(secant);asec(x):反正割函数(anti-secant);csc(x):余割函数(cosecant);acsc(x):反余割函数(anti-cosecant);atan(x):反正切函数(anti-tangent);51sinh(x):双曲正弦(hyperbolicsine);asinh(x):反双曲正弦(anti-hyperbolicsine);cosh(x):双曲余弦(hyperboliccosine);acosh(x):反双曲余弦(anti-hyperboliccosine);sinh(x):双曲正弦(hyperbolicsine);52tanh(x):双曲正切函数(hyperbolictangent);atanh(x):反双曲正切函数(anti-hyperbolictangent);coth(x):双曲余切函数(hyperboliccotangent);acoth(x):反双曲余切函数(anti-hyperboliccotangent);exp(x):e指数函数(exponent);tanh(x):双曲正切函数(hyperbolictang53log(x):自然对数函数(logarithm);log10(x):以10为底的对数;log2(x):以2为底的对数;sqrt(x):平方根函数(squareroot);abs(x):求模函数(absolute)Inline(‘f的表达式’):自定义函数。函数的自变量为函数中出现的变量。自变量顺序安字母表顺序。Inline(‘f的表达式’,‘变量1’,‘变量2’,‘变量3’,……):与上面的区别是它安变量表的给出的顺序规定函数的变量顺序。如:g=inline(‘sin(2*x*y+z)’),表示:g(x,y,z)=sin(2*x*y+z)g=inline(‘sin(2*x*y+z)’,‘x’,‘z’,‘y’)表示:g(x,z,y)=sin(2*x*y+z);g1(1,2,3)与g2(1,2,3)的意义不同。

factorial(n):求n的阶乘。log(x):自然对数函数(logarithm);54多项式表示方法:在MATLAB中多项式p(x)=anxn+an-1xn-1+…+a0是以向量p=[an,an-1,…,a0]的形式储存的.(1)系数向量直接输入:例输入多项式x^3-5x^2+6x-33.p=[1,-5,6,-33];poly2sym(p)%polynomial多项式,将系数向量表示成符号多项式多项式表示方法:55(2)矩阵的特征多项式输入:例a=[1,2,3;2,3,4;3,4,5];p=poly(a);%求a的特征多项式系数向量p1=poly2sym(p);%即为a的特征多项式(2)矩阵的特征多项式输入:例56(3)由根创建多项式:例root=[-5,-3+4i,-3-4i];%是某个多项式的根p=poly(root)%求相应的多项式的系数向量P1=poly2sym(p)%将多项式系数向量表示成符号多项式(3)由根创建多项式:例57多项式运算:(1)求多项式的值:例p=[1,11,55,125];a=1.2b=[1,2;2,3]polyval(p,a)%polynomialvalue求多项式在1.2的值polyvalm(p,b)%多项式在b的值多项式运算:58(2)求多项式的根:例求多项式2x^4-5x^3+6x^2-x+9=0的所有根.p=[2,-5,6,-1,9]roots(p)%得到多项式的根(3)factor:因式分解。例symsxfactor(x^9-1)结果:ans=(x-1)*(x^2+x+1)*(x^6+x^3+1)(2)求多项式的根:例求多项式59

factor(sym(‘100’))%把整数100进行素数分解.结果:(2)^2*(5)^2(4)expand(s):多项式展开,s可为多项式、多项式向量和矩阵。例expand(sym('(x+1)^3'))结果:ans=x^3+3*x^2+3*x+1expand(sym('sin(x+y)'))结果:ans=sin(x)*cos(y)+cos(x)*sin(y)factor(sym(‘100’))%把整数100进行素数60(5)collect(s):对默认的变量合并同类项。collect(s,v):对变量v合并同类项。

s可为符号多项式、多项式向量和矩阵例

collect(sym('x^2*y+y*x-x^2-2*y*x'))collect(sym('x^2*y+y*x-x^2-2*y*x'),’x’)collect(sym('x^2*y+y*x-x^2-2*y*x'),’y’)(5)collect(s):对默认的变量合并同类项。61(6)simple(s):符号表达式简化,s可为符号多项式、多项式向量和矩阵。例f=simple(sym('sin(x)^2+cos(x)^2'))结果:f=1g=simple(sym('x^3+3*x^2+3*x+1'))结果:g=(x+1)^3(6)simple(s):符号表达式简化,s可为符号多项式62(7)多项式乘除运算分别用conv和deconv:(convolution,deconvolution)例p1=[2,-5,6,-1,9];p2=[3,-90,18];p=conv(p1,p2)%为p1和p2所相应的多项式的乘积多项式的系数向量(7)多项式乘除运算分别用conv和deconv:(co63

p3=deconv(p,p1)%为p2p4=deconv(p,p2)%为p1poly2sym(p1);poly2sym(p2);poly2sym(p)poly2sym(p3)poly2sym(p4)%观看这几个多项式p3=deconv(p,p1)%为p264polyfit(x,y,n)其中x,y为拟合数据,n为拟合多项式的阶数。例用最小二乘法拟合数据

x:0.501.001.502.002.503.00y:1.752.453.81

4.808.008.60x=[0.5,1,1.5,2,2.5,3]y=[1.75,2.45,3.81,4.80,8.00,8.60]a=polyfit(x,y,2)%用2次多项式拟合上组数据,a为拟合多项式的系数向量polyfit(x,y,n)其中x,y为拟合数据,n为拟合65

x1=0.5:0.05:3y1=a(1)*x1.^2+a(2)*x1+a(3)plot(x1,y1)%画出拟合曲线的图形holdon%保留上面的图形和坐标,可在该坐标系中继续作图plot(x,y,‘*’)%用*号的形式画出被拟合的数据图形x1=0.5:0.05:366求矩阵的特征值(eigenvalue:)和特征向量(eigenvector)例a=[7,3,-2;3,4,-1;-2,-1,3];[x,y]=eig(a)%所得结果x为a的特征向量矩阵,y为特征值矩阵说明:a必须是方阵,此时a*x=x*y,求矩阵的特征值(eigenvalue:)和特征向量(eige67三、符号运算MATLAB进行符号运算的主要功能:符号表达式和符号矩阵的基本操作、符号矩阵的基本运算、符号微积分运算、符号线性方程求解、符号微分方程求解、特殊数学符号函数、符号函数图形等。三、符号运算MATLAB进行符号运算的主要功能:符号表达式和68符号表达式的生成创建符号函数:如f='log(x)‘创建符号方程:如g='a*x^2+b*y^2+c=0‘创建微分方程:如q='Dy-y=x‘或者:f=sym(‘log(x)’)、g=sym(‘a*x^2+b*y^2+c=0‘)、q=sym('Dy-y=x’)符号表达式的生成69说明:符号函数也可以用另一方法创建(该方法不能创建方程):symsx%用syms可以定义多个变量,变量间用空格分开f=log(x)w=sin(x)+cos(x)说明:符号函数也可以用另一方法创建(该方法不能创建方程):70符号与数值之间的转换(1)Vpa函数:如digits(25)%设置有效数字的精度为25位有效数字vpa(pi+1)%显示在上述digits函数设置下的精度的数值或者vpa(pi+1,25)注vpa:variableprecisionarithmetic符号与数值之间的转换71(2)numeric函数:如numeric(pi+2),a=‘1’,numeric(a)(把a变为double型,相当于str2num(a))(3)double函数:如double(pi+2),a=‘1’,double(a))(把a变为double型代码)例求函数f(x)=x-cos(x)在x=2的值。解(2)numeric函数:如numeric(pi+2),72

symsxf=x-cos(x);f1=subs(f,’2’,x)%字符替代,在符号函数f中用2代替xf1=subs(f,x,1)%给出f在x=1处的值。digits(20)vpa(f1)numeric(f1),double(f1)

symsx73例求方程3x2-ex=0的精确解和各种精度的近似解。解s=solve(‘3*x^2-exp(x)=0’)vpa(s)%显示32位有效数字vpa(s,6)%显示6位有效数字symsxezplot(3*x^2-exp(x))注:W=LAMBERTW(X)是w*exp(w)=x的解例求方程3x2-ex=0的精确解和各种精度的近似解。74符号函数运算复合函数运算:设z=g(y),y=f(x)compose(g,f)%即为g(f(x)),自变量的符号取为f函数的自变量符号。compose(g,f,t)%即为g(f(x)),自变量的符号取t。符号函数运算75反函数运算:finverse例symsx;symsy;symst;%或者symsxytg=sin(y);f=1/xcompose(g,f)compose(g,f,t)finverse(g)finverse(f)反函数运算:finverse76符号矩阵创立

使用sym函数直接创建符号矩阵:例a=sym(‘[1/sin(x),cos(x)^2;2*x,1+x^2]’)或symsxa=[1/sin(x),cos(x)^2;2*x,1+x^2]用创建子矩阵的办法创建符号矩阵(该方法不推荐):例

a=[‘[1/sin(x),cos(x)^2]’;‘[2*x

,1+x^2]’]%同列元素的位数必须一样,可用空可空格来补。例b=[a,;'[1,x^2]']符号矩阵创立77将数值矩阵转化为符号矩阵a=[2/3,sqrt(2);0.222,log(3)]%a为数值矩阵b=sym(a)%把a转化为符号矩阵b。符号矩阵索引和修改b(2,2)%矩阵的索引,显示矩阵b的第2行第2列元素。将数值矩阵转化为符号矩阵78符号矩阵的修改

b(2,2)=‘log(9)‘%矩阵的修改,b(2,2)修改为log(9)。符号矩阵的运算(1)+、-、*、\、/运算(2)矩阵转置(’):a’(3)行列式运算:det(a)%determinant的简写计算符号矩阵的行列式。符号矩阵的修改79(4)求逆inv(a):求矩阵a的逆。(5)求矩阵的秩rank(a):求矩阵a的秩。符号函数极限(只限于sym型函数)limit(f,x,a):求表达式f在x→a时的极限。limit(f):求f在x→0时的极限.imit(f,x,a,’left’):求表达式f在x→a时的左极限。limit(f,x,a,’right’):求表达式f在x→a时的右极限。例(4)求逆inv(a):求矩阵a的逆。80

symsxlimit(sin(x)/x,x,1)limit(sin(x)/x)limit((1+1/x)^(1/x),x,inf)f=atan(1/(1-x))y=limit(f,x,1)%没极限y1=limit(f,x,1,’left’)y2=limit(f,x,1,’right’)symsx81f=1/x,y1=limit(f,x,0,'left')y2=limit(f,x,0,'right')符号积分(适于sym型、char型)(1)int(f,x):计算符号表达式f,自由变量为x的不定积分.(2)int(f,x,a,b):计算符号表达式f,自由变量为x,从a到b的定积分f=1/x,82说明:符号表达式可以是符号函数,也可是符号矩阵。例symsxint(sin(x),x)int(sin(x),x,0,1)int(sin(x),x,0,1)说明:变量x省略时默认对x积分。说明:符号表达式可以是符号函数,也可是符号矩阵。83

a=sym('[1/sin(x),cos(x)^2;2*x,1+x^2]')int(a,x)符号函数求导(适于sym型和char型)(1)diff(f,x)%求表达式f,自由变量为x的导数。说明:diff(a),a为向量时,表示前项与后一项的差。(2)diff(f,x,n)%求表达式f,自由变量为x的n阶导数。a=sym('[1/sin(x),cos(x)^2;84symsxf=sin(x)^2diff(f,x)%变量x省略时默认对x求导diff(f,x,2)%x省略时默认对x求导线性方程组的符号解法(linsolve)例a=sym('[10,-1,0;-1,10,-2;0,-2,10]')b=sym('[9;7;6]')x=linsolve(a,b)%x为线性方程ax=b的解。注:这里a,b也可是double型,但得到的x为sym型。symsx85

vpa(x)%转化为浮点近似解,32位有效数字。非线性方程(组)的符号解法(1)fsolve(‘f’,x0):其中f为被求零点的函数,x0为初值。注:fsolve对sym型函数无效;可用于有函数文件、字符串、和inline定义的函数;类似命令还有:fzero。或用:fsolve(‘f’,x0,foptions)(2)slove(‘方程1’,‘方程2’,…).vpa(x)%转化为浮点近似解,32位有效数字。86例、求解下面非线性方程组

x1-0.7sinx1-0.2cosx2=0x2-0.7cosx1+0.2sinx2=0解首先编写函数文件f.m如下functiony=fc(x)y(1)=x(1)-0.7*sin(x(1))-0.2*cos(x(2));y(2)=x(2)-0.7*cos(x(1))+0.2*sin(x(2));y=[y(1);y(2)];在命令窗口中输入x0=[0.502,0.51];%x0为初始向量fsolve(‘fc’,x0)例、求解下面非线性方程组87作业:分别用solve和fsolve函数求sinx+cosx+x=0的解,并进行验证。作业:分别用solve和fsolve函数求方程组

x^2*y^2-2*x-1=0

x^2-y^2-1=0的解,并进行验证。两个函数用法的区别是什么?作业:分别用solve和fsolve函数求sinx+cosx88%方法1[x,y]=solve(‘x^2*y^2-2*x-1=0’,‘x^2-y^2-1=0’);%方法2functiony=fc(x)y(1)=x(1)^2*x(2)^2-2*x(1)-1;y(2)=x(1)^2-x(2)^2-1;y=[y(1),y(2)]……x0=[1.6;1.2]x=fsolve('fc',x0)%方法3f='[x(1)^2*x(2)^2-2*x(1)-1;x(1)^2-x(2)^2-1]‘x0=[0.6;0]x=fsolve(f,x0)%方法4f=inline('[x(1)^2*x(2)^2-2*x(1)-1;x(1)^2-x(2)^2-1]')x0=[1.6;1.2]x=fsolve(f,x0)%方法189(4)已知x=[x1,x2,…,xn]f=(f1(x);f2(x);…;fn(x))试求导数f'(x),即f对x的jacobian矩阵。提示:利用函数:jacobian(f,v),其中v为自变量向量。利用该雅可比函数求下面函数的导数以及在(1,2,3)点的导数值。(4)已知90F=[3x-cos(xy)-0.5;x2-80(y+0.1)2+sinz+1.06;e-xy+20z+1]symsx,symsy,symszf=[3*x-cos(x*y)-0.5;x^2-80*(y+0.1)^2+sin(z)+1.06;exp(-x*y)+20*z+1]df=jacobian(f,[x,y,z])b=subs(df,[x,y,z],[1,2,3]);b='[1;2;3]';c=linsolve(a,b);F=[3x-cos(xy)-0.5;91常微分方程的符号解(dsolve):字符D代表对独立变量导数d/dt,Dn代表对独立变量的n阶导数,例求dy/dt=-ay和dy/dx=x的解解dsolve(‘Dy=-a*y’)%得到通解,默认自变量为t。dsolve(‘Dy=-a*y’,’y(0)=1’)%给定了初始条件,求特解。方程和初始条件用逗号分开,都用单引号引起来。y=dsolve(‘Dy=x’,‘x’);%通解y=dsolve(‘Dy=x’,‘x(1)=2’,‘x’)%特解常微分方程的符号解(dsolve):92符号函数的二维图形(1)ezplot(f):绘制f(x)的图形,x的范围为[-2π,2π]。如ezplot(‘sin(x)’)。(2)ezplot(f,a,b):绘制f(x)的图形,x的范围为[a,b]。如ezplot(‘sin(x)’,0,9)。符号函数的二维图形93四、图形处理图形可视化是数学计算人员所喜欢和追求的一项技术。把结果用图形描述出来,便于理解、分析。四、图形处理图形可视化是数学计算人员所喜欢和94二维绘图命令(1)plot(y):%若y是向量,就以向量的索引为横坐标,以向量的元素值为纵坐标;(2)plot(x,y):一般来说是绘制向量y的图形,横坐标为x的值,纵坐标为y的值。(3)plot(x,y,’.’):这里‘.’表示用点线显示。二维绘图命令95二维绘图命令(1)plot(y):%若y是向量,就以向量的索引为横坐标,以向量的元素值为纵坐标;(2)plot(x,y):一般来说是绘制向量y的图形,横坐标为x的值,纵坐标为y的值。x,y的维数相同(3)plot(x,y,’.’):这里‘.’表示用离散点显示。(4)plot(x1,y1,x2,y2):x1,y1的维数相同,x2,y2的维数相同。二维绘图命令96例x=-pi:0.1:piy=sin(x)plot(y)holdon%保留上一个图形plot(x,y)

plot(x,y+1,':r')例97说明:在plot(x,y,’s’)中图形设置选项s的规定说明:在plot(x,y,’s’)中图形设置选项s的规定98[工学]MATLAB与科学计算课件99还有大小、线宽控制:如2

plot(1,1,'ro','markersize',50)plot(1,1,'linewidth',49)例x=0:0.1*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,‘--k’,x,z,‘-.r’)%分别用虚黑线和点划红线显示两条曲线。还有大小、线宽控制:如2plot(1,1,'ro','ma100(5)polar(θ,r):画出极坐标函数r=r(θ)的图形例cita=0:0.1*pi:4*pi;r=cita+sin(cita/2)polar(cita,r)(6)refline(k,b):画平面参考线,k为斜率,b为在y轴的截距(5)polar(θ,r):画出极坐标函数r=r(θ)的图形101(7)ezplot(‘f(x)’):画出f(x)的图形。例ezplot(‘sin(x)’),结果是在[-2*pi,2*pi]上画出图形;ezplot(‘sin(x)’,[-1,3]),结果是在[-1,3]上画出图形.f(x)可为sym型、char型、inline型和function定义的函数。如:founctionf(x);f=x.^2-1%这里必须用.*、.^;调用:ezplot(@f)或ezplot(‘f’)。(8)fplot(‘f(x)’,[a,b]),结果是在[-a,b]上画出图形;例fplot(‘sin(x)’,[-1,3]),结果是在[-1,3]上画出图形.f(x)可为char型、inline型。(7)ezplot(‘f(x)’):画出f(x)的图形。例102三维图形命令

(1)plot3(x,y,z):x,y,z为同维向量时画空间曲线,例画出x=sin(t),y=cos(t),x=t,t∈[0,10π]的图形。解三维图形命令103t=0:pi/50:10*pi;z=t,x=sin(t),y=cos(t),plot3(x,y,z);plot3(x,y,z+1,’--r’)(2)plot3(x,y,z):当z=f(x,y),(x,y)为xoy平面上的网格节点时,它可以画出空间曲面z=f(x,y)的图形。(3)mesh(x,y,z):画出三维网格图。t=0:pi/50:10*pi;z=t,x=sin(104(4)meshc(x,y,z):画出三维网格与等高线图(5)meshz(x,y,z):增加边界面屏蔽。(6)surf(x,y,z):与mesh函数不同的是把图形着色,surfc与meshc类似。例(4)meshc(x,y,z):画出三维网格与等高线图105

[x,y]=meshgrid(-2:0.1:2,-2:0.1:2);z=x.^2+y.^2;plot3(x,y,z)holdonmeshc(x,y,z+8),meshc(x,y,z+16),%mesh(z)与mesh(x,y,z)的区别类似于plot(x)与plot(x,y)的区别。[x,y]=meshgrid(-2:0.1:2,-2:0106(7)ezplot3(‘x(t)’,’y(t),‘z(t)’,[a,b]):为参数在[a,b]的范围画出x=x(t),y=y(t),z=z(t)对应的三维空间曲线。例ezplot3(‘cos(t)’,‘sin(t)’,‘t’,[0,10*pi])。(8)ezmesh(‘x(u,v)’,y(u,v),’z(u,v)’,[a,b,c,d]):在a≤u≤b,c≤v≤d的范围,画出参数方程x=x(u,v),y=y(u,v),z=z(u,v)的对应的曲面。(9)ezsurf:ezsurf与ezmesh的区别类似于surf与mesh的区别。例ezmesh('r*cos(t)','r*sin(t)','r^2',[0,2*pi])画出抛物面图形。(7)ezplot3(‘x(t)’,’y(t),‘z(t)’107(3)坐标轴标注xlable(‘标注’),ylable(‘标注’)(4)标题标注title(‘标题’)x=-pi:0.1*pi:pi,y=sin(x)plot(x,y),v=[-16,6,-1,2],axis(v)gridonxlabel(‘x-axis’),ylabel(‘y=sinx’)title(‘正弦函数图像’)(3)坐标轴标注xlable(‘标注’),ylable(108(5)图形保持holdon/off:holdon是启动图形保持功能,在已存在的一张图中添加曲线,holdoff是关闭图形保持功能。(6)图例标注legend(‘标注1’,‘标注2’,…)(5)图形保持holdon/off:holdon是启动109例x=0:0.1*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,'-*')holdonplot(x,z,'-o')plot(x,y+z,'-h')legend('y=sinx','z=cosx','y+z=sinx+cosxholdoff%关闭图形保持例x=0:0.1*pi:2*pi;110(7)子图subplot(m,n,p):其功能是把一个图形分成m×n个小图形窗口,通过参数p调用各子窗口进行操作。例(7)子图subplot(m,n,p):其功能是把一个图形分111x=0:0.1*pi:2*pi;y=sin(x);z=cos(x);subplot(2,2,1),plot(x,y,'-*')subplot(2,2,2),plot(x,z,'-o')subplot(2,2,3),plot(x,y+z,'-h')subplot(2,2,4),plot(x,y-z,'-x')x=0:0.1*pi:2*pi;112图形处理技术(1)坐标轴控制函数axis(v):对二维图形v=[a,b,c,d],其中[a,b]和[c,d]分别为x轴和y轴的范围;对于三维图形v=[a,b,c,d,e,f]分别给出x,y和z轴的范围。例(2)平面坐标网格函数gridon/off:作用是平面图形带有网格和取消网格。图形处理技术113五、程序设计MATLAB作为一种高级计算语言,不仅可以做如上所讲的那些工作,还可以像basic,fortran,c等其它高级计算机语言一样进行程序设计,即编制以m为扩展名的文本文件(简称M文件)。五、程序设计MATLAB作为一种高级计算语言,不仅可以做如上114M文件的形式(1)命令式(script):命令式文件就是命令行的简单叠加,MATLAB就会自动按顺序执行文件中的命令,这样就可以避免在命令窗口运行许多命令的麻烦和重复行工作,也便于修改。其可在命令窗口直接输入文件名运行M文件的形式115例%sinfig.mx=-pi:0.1*pi:pi;y=sin(x);plot(x,y);holdon;plot(y,x)例116函数式(function):他主要解决参数传递和函数调用问题,它的第一句以function语句为引导。不能直接运行,只能调用。例%f.m文件名与函数名必须一致functionf(x)f=2*x^2+4*x+6在命令窗口中输入:f(0),f(10)可以看出结果。函数式(function):他主要解决参数传递和函数调用问题117例、建立一个名字为f的函数文件,该函数为f=cos2(x)试计算该函数在x=1:10的函数值,并给出离散点(x,f(x))的图形。(大家一起讨论)例、建立一个名字为f的函数文件,该118例、一个函数文件可以定义个函数

function[y1,y2,y3]=f(x)

y1=sin(x);

y2=cos(x);

y3=tan(x);(3)数据文件:用save(‘文件名’,‘变量1’,‘变量2’,……)或save文件名变量1变量2变量3创建;用load(‘文件名’)或Load文件名调入到工作间。例、一个函数文件可以定义个函数119

控制语句(1)循环语句

(a)for循环:例s=0;fork=1:1:10%初始值、步长和最大限值s=s+k;end%循环结束标志控制语句120(b)while循环:例s=0;k=0;whilek<=9k=k+1;s=s+k;ends(b)while循环:例121(c)if……else……end选择语句:例编写分段函数f(x)=x,(-1=<x<0);f(x)=x^2,(0<=x<=1)。functiony=f(x)ifx>=-1&x<0y=x;elsey=x^2;end(c)if……else……end选择语句:例122(d)if…end语句:例fori=1:10ifi<8a(i)=100endend结果:a=100100100100100100100(d)if…end语句:例123(e)if…elseif…elseif…else…end多重选择语句:例编写函数文件:functiony=f(x)ifx>=-1&x<0,y=x;elseifx>=0&x<=1,y=x^2;else,f=0end在命令窗口中输入f(1),(3)可以得到结果。(e)if…elseif…elseif…else…en124(f)swith变量case1语句case2语句……otherwise语句end(f)swith变量125例、fori=1:6switchicase1a=1case2a=2case3a=3case4a=4otherwiseb=0endend例、126例已知n=自己的真实学号,在xoy平面有点Ai=(i,0)Bi=(i,n)(i=0,1,2,……,n)现要画连接AiBj的线段(i,j=0,1,…,n),试给出其MATLAB程序。解现就学号为6,给出其程序如下:例已知n=自己的真实学号,在xoy平面有点127n=6;x=0:n;y=0:n;fori=1:7forj=1:7ifi==jplot(x(i)*ones(size(y)),y);xlabel('x');ylabel('y');title('AiBj的连线')v=[0,n,0,n];axis(v)holdon;elsea=min(x(i),x(j));b=max(x(i),x(j));X1=a:0.1*(b-a):b;Y1=-n/(x(i)-x(j))*(X1-x(i));%连接AiBj的直线plot(X1,Y1);endendendn=6;x=0:n;y=0:n;128作业:在上题的基础上,再加上点

Ci=(0,i),Di=(n,i)(i=0,1,2,……,n)现要画连接AiBj和CiBj的线段(i,j=0,1,…,n),试给出其MATLAB程序。把运行结果得到的图像,存放到WORD文件,文件名字取为:真实姓名_真实学号,然后发送到信箱:xtxyshx@126.com作业:在上题的基础上,再加上点129六、主要命令汇总1、常用信息help:在线帮助(显示在命令窗)。helpwin:在线帮助(独立窗口显示)。ver:MATLAB及工具箱的版本信息。2、管理工作区命令who:显示当前变量。whos:显示当前变量具体信息。六、主要命令汇总1、常用信息130clear:从内存中清楚变量和函数。quit:退出MATLAB。3、管理命令和函数what:显示当前目录下的MATLAB文件。edit:编辑M文件。edit(建立编辑新文件);edit+文件名(编辑已有的文件)。clear:从内存中清楚变量和函数。131which:找出函数和文件的位置。type:显示M文件内容。Type+文件名。Inmem:显示内存中的函数。4、操作系统命令dir:显示目录。pwd:显示当前工作目录。delete:删除文件。Delete+文件名。which:找出函数和文件的位置。132web:打开页面浏览器加载文件。5、数据类型double:双精度类型sym:符号型Inline:内联对象char:字符数组或字符串。uint8:无符号8位整数(unsignedinteger)char(sym型变量):把sym型转化为char型sym(char型变量):把char型转化为sym型char(inline型)和inline(char型)可相互转化。num2str:数字转化成字符串6、数据基本操作max:最大元素。向量为数,矩阵为向量web:打开页面浏览器加载文件。133min:最小元素。类似max.mean:求平均值。mean(a),a为向量时得到向量平均值,结果为一个数;a为矩阵时,进行每列平均,得到一个向量。sum:元素和。sum(a),a为向量时得到该向量各元素之和,结果为一个数;a为矩阵时,进行每列求和,得到一个向量。min:最小元素。类似max.134prod:元素积。prod(a)当a为向量和矩阵时的情况,类似于max(a)。cumsum:元素累和。cumsum(a),a可为向量,也可为矩阵。cumprod:元素累积。a可为向量,也可为矩阵。7、基本矩阵函数zeros:零矩阵函数。prod:元素积。prod(a)当a为向量和135ones:全1矩阵。eye:单位矩阵。rand:随机数、向量、矩阵.linspace:线性等分向量。8、基本数组操作size:矩阵大小。length:数组长度。isempty:判断是不是空矩阵。ones:全1矩阵。136isequal:判断数组是否相等。isequal(a,b)。isnumeric:判断是否为数值矩阵。reshape:矩阵重置。tril:抽取下三角部分。triu:抽取上三角部分。fliplr:左右方向翻转矩阵(flip:翻转)。flipud:上下方向翻转矩阵。isequal:判断数组是否相等。137rot90:逆时针把矩阵旋转90度。find(x):[i,j]=find(x)查找x非零元下标。9、专用变量和常量ans:最新答案。pi:圆周率。i,j:复数单位。inf:无穷大。NaN:不定数。isnan:判断不定数。rot90:逆时针把矩阵旋转90度。138isinf:判断无穷大元素。isfinite:判断有限大元素。10、指数、对数函数exp:e指数函数。pow2:以2为底的幂函数。sqrt:平方根函数。11、舍入函数和剩余函数fix:朝零方向舍入为整数。isinf:判断无穷大元素。139floor:朝负方向舍入为整数。ceil:朝正方向舍入为整数。round:四舍五入为整数。sign:符号函数。mod:无符号求余函数。mod(3,2)=1rem:带符号求余函数。12、复数函数abs:求模。floor:朝负方向舍入为整数。140conj:求共轭函数(conjugate)。angle:相角函数。imag:复矩阵虚部。real:复矩阵实部。isreal:实矩阵判断函数。12、矩阵函数norm:矩阵或向量范数。normest:向量、矩阵2范数。conj:求共轭函数(conjugate)。141rank:矩阵的秩。det:矩阵行列式的值。trace:矩阵的迹(主对角线元素之和)。inv:矩阵逆。13、特征多项式、特征值poly:特征多项式。poly2sym:多项式表示。eig:特征值和特征向量。rank:矩阵的秩。142eigs:特征值。14、矩阵函数expm:矩阵指数。logm:矩阵对数。sqrtm:矩阵平方根。15、坐标转换cart2sph:转换直角坐标为球坐标。cart2pol:转换直角坐标为极坐标。eigs:特征值。143pol2cart:转换极坐标为直角坐标。sph2cart:转换球坐标为直角坐标。16、坐标轴控制axis:控制坐标轴范围。gridon/off:栅格线保持、取消。Gridminor:较小网格。holdon/off:图形保持/取消。boxon/off:图形四周都显示/常规坐标轴。例1、pol2cart:转换极坐标为直角坐标。144[x,y]=meshgrid(0:0.5:10);z=y.*sin(x.^2)+cos(y);surf(x,y,z)v=[-20,10,-20,10,-10,50];%坐标轴范围控制axis(v)%注意该语句必须在图形显示语句的后面说明:二维图形是类似的。[x,y]=meshgrid(0:0.5:10);145例2、axis(‘控制字符串’):可以选择不同的字符串完成对坐标轴的操作。控制字符串有:(1)auto:自动模式,使得图形的坐标范围满足图中一切图元素。(2)axis:将当前坐标设置固定,使用hold命令后,图形仍以此作为坐标界限。例2、axis(‘控制字符串’):可以选择146(3)manual:以当前的坐标限定绘制。(4)tight:将坐标限控制在指定的数据范围内。(5)equal:使坐标轴分度相等。(6)off:取消对坐标轴的一切设置,包括系统的自动设置。(7)on:恢复对坐标轴的一切设置。(3)manual:以当前的坐标限定绘147[x,y]=meshgrid(-1:0.1:1,-1:0.1:1);z=x.^2+y.^2;surf(x,y,z)boxon17、基本二维图形plot:线性绘图。[x,y]=meshgrid(-1:0.1:1,-1:0.1148loglog:双对数坐标图。semilogx:半对数(x)坐标图。semilogy:半对数(y)坐标图。polar:极坐标图。subplot:分割图窗refline(slope,intercept):加参考线18、图形注解legend:图形标签.xlable:x轴标签。loglog:双对数坐标图。149ylable:y轴标签。title:图形题目。text:文字注解。19、特殊二维图形bar:条形图。barh:水平柱图。ezplot:符号函数图。fplot:绘制字符串指定的函数名的函数图。如fplot(‘sin(x)’,[2,3])。ylable:y轴标签。150pie:饼图。plotmatrix:绘矩阵点图。stem:2维火柴杆图。stem3:3维火柴杆图。20、等高线图和向量图contour:等高线图。contour3:三维等高线图。quiver:向量图。例pie:饼图。151[x,y]=meshgrid(-2:.2:2,-1:.15:1);z=x.*exp(-x.^2-y.^2);[px,py]=gradient(z,2);contour(x,y,z),holdonquiver(x,y,px,py)holdoff

[x,y]=meshgrid(-2:.2:2,-1:15221、特殊三维图形comet3:三维彗星轨线(comet(x,y)画二维彗星线)。

t=-10*pi:pi/500:10*pi

comet3(sin(t),cos(t),t)meshc(x,y,z):画出三维网格与等高线图,类似sutfc。meshz(x,y,z):增加边界面屏蔽。21、特殊三维图形153stem3:三维火柴干图。例a=rand(3);stem3(a);22、固体模型cylinder:生成圆柱。格式为[x,y,z]=cylinder(r,n),r为母线半径,N为显示的母线条数mesh(x,y,z)或surf(x,y,z)显示单位高度柱面。stem3:三维火柴干图。例154t=-1*pi:pi/20:1*pi;r=5+cos(t);[x,y,z]=cylinder(r,30)surf(x,y,z)sphere:生成单位球面。例[x,y,z]=sphere(40)%40为子午线条数,sphere默认为20条。mesh(x,y,z)或surf(x,y,z)%画球面axis(‘equal’)%坐标轴刻度相同t=-1*pi:pi/20:1*pi;155例[x,y,z]=sphere(50);mesh(x+1,y+2,z+2)画出以(1,2,2)为中心半径为1的球面;[x,y,z]=sphere(50);mesh(x,y,abs(z))画出以(0,0,0)为中心半径为1的上半个球面;[x,y,z]=sphere(50);mesh(2*x,2*y,2*abs(z)),画出以(0,0,0)为中心的半径为2上半个球面;[x,y,z]=sphere(50);mesh(2*x,2*y,2*abs(z)),画出以(0,0,0)为中心的半径为2上半个球面;例156例、绕地球运动的飞行物[x,y,z]=sphere(50);mesh(x,y,z);holdonv=[-6,6,-6,6,-6,6];axis(v);axis('off')t=0:pi/1000:200*pi;x=6*sin(t);y=2*cos(t);z=zeros(size(t));comet3(x,y,z)例、绕地球运动的飞行物157[工学]MATLAB与科学计算课件15823、四维表现图对于三维图形自变量是二维的,对于三个自变量的函数w=fx,y,z),其其图形应该是四维的,由于我们所处的空间和思维的局限性,在计算机屏幕上只能表现出三维空间。为了表现四维图像,可利用三维实体的四维切片色图,用三维实体上的颜色来描述函数值的变化情况。23、四维表现图159MATLAB中用slice函数来完成(1)slice(x,y,z,w,sx,sy.sz):绘制向量sx,sy,sz中的点沿x,y,z轴方向的切片图,w的大小决定了每一点的颜色。(2)slice(x,y,z,w,x1,y1,z1):按数组x1,y1,z1切片(按坐标轴单位)。(3)slice(w,x1,y1,z1):按数组x1,y1,z1切片(按x,y,z的网格单位进行切片。(4)slice(w,sx,sy,sz):按x,y,z的网格单位进行切片。MATLAB中用slice函数来完成160例、程序如下:[x,y,z]=meshgrid(-2:0.2:2,-2:0.25:2,-2:0.16:2);w=x.^2+y.^2+z.^2;%slice(x,y,z,a,x,y,z)x1=1:15;y1=1:10;z1=1:10subplot(2,2,1),slice(x,y,z,w,1,1,[0,1]);subplot(2,2,2),slice(w,1,1,[0,1]);subplot(2,2,3),slice(x,y,z,w,x1,y1,z1);holdonsubplot(2,2,4),slice(w,x1,y1,z1);colorbar%色轴,它可以标注颜色与数值之间的关系例、程序如下:16124、数据文件(1)Save(‘x1’,‘变量1’,‘变量2’,…):把变量1,变量2,…的数据保存到名字为x1.mat的数据文件中;当变量缺省时,保存所有变量的数据。数据文件自己起名字,变量为程序中的已赋值的变量。请看下面例子24、数据文件162w='XingtaiCollege'x=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1];y=[0.002,0.114,0.189,0.316,0.394,0.434,0.427,0.409,0.379,0.327,0.254];a=x'*y;save(‘x1’)%所有的变量全部保存save(‘x2’,‘w’)%只保存w变量的数据save('x3','w','x')%保存w,x变量的数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论