数学软件—MatLab学习.pptx
目前主要代表性数学软件 数值处理 MatLab 符号运算 Maple 数理统计 SAS专门软件:专门软件:集成软件:集成软件:优化软件 LinGo统计软件 S-Plus第1页/共110页一.软件简介1.软件特点:名称:Matrix Laboratory(矩阵实验室)数据:向量,矩阵,符号图形:折线图使用:交互命令,程序调用M语言:类似C语言帮助:强大的即时帮助类似foxproMaple第2页/共110页2.软件的应用领域数值运算线性代数问题微积分问题数值计算问题行列式计算向量、矩阵运算线性方程组求解多项式的微积分定积分、重积分的数值计算微分方程及方程组的数值解方程求根插值与拟合数值计算方法第3页/共110页专业工具包 (程序库)优化工具箱统计工具箱遗传算法工具箱 偏微分方程工具箱Optimization toolboxStatistics toolbox Genetic Algorithm ToolboxPartial Differential Equation toolboxFuzzy Logic toolbox模糊逻辑工具箱Neural Network toolbox神经网络工具箱计算机模拟M语言第4页/共110页3.软件的界面与使用说明界面菜单栏快捷按钮栏命令区双击图标打开交互式数据输入结果反馈第5页/共110页第6页/共110页使用说明菜单栏作用:引导、另存工作区中的变量及其值第7页/共110页作用:设置工作路径第8页/共110页第9页/共110页作用:清理工作区作用:联机帮助命令方式:clc第10页/共110页快捷按钮栏作用:新建文件第11页/共110页作用:打开文件第12页/共110页作用:查看工作区变量第13页/共110页作用:设置工作路径第14页/共110页作用:联机帮助第15页/共110页工作区变量、数据命令、函数运算区分大小写在光标处直接输入要求小写第16页/共110页输入后加“;”则不显示反馈结果光标输入后直接敲回车则显示反馈结果第17页/共110页工作区编辑方法:1.“”键的使用 键:输入时做行编辑(修改)键:输入时调出历史输入记录(便于重复输入)2.“Esc”键的使用 重新输入(清除输入行)第18页/共110页变量的保存与导入:保存:save 文件名 变量列表(分隔符”空格“)导入:load 文件名变量的处理:查看:who 清除:clear 变量列表(默认为全部变量)第19页/共110页输入help 函数名或命令名联机帮助2.按功能查找函数:1.演示:输入demo3.查看函数使用说明:(简单说明)第20页/共110页第21页/共110页第22页/共110页二.基础知识1.数据结构数据类型常量变量函数字符串常数向量矩阵自定义系统默认自定义系统库常用数学函数专业函数(程序库)程序数学函数脚本char,中文1.2,2i1,2,31,2,3;3.1,0,0 x1,ab_1,A(区分大小写)第23页/共110页系统默认变量pi eps 2.220410-16i 或 j 虚数inf ans 缺省结果变量NaN 不定值常用数学函数特殊函数基本初等函数abs()|x|floor()xsign()符号rem()余同C语言Elementary math function帮助第24页/共110页2.向量、矩阵的使用(1).向量使用赋值行向量:变量 数值1,数值2 数值3,数值n续行号第25页/共110页列向量:变量 数值1;数值2;数值3;数值n转置第26页/共110页引用分量:变量(i)部分分量:变量(I)下标集(向量)下标第27页/共110页行向量构造.由步长确定:起始值:步长:终止值省缺为1第28页/共110页.由维数确定:linspace(起始值,终止值,维数)库函数第29页/共110页.特殊向量:zeros(1,n)或zeros(n,1)库函数ones(1,n)或ones(n,1)第30页/共110页运算.转置:向量.四则运算:和差第31页/共110页内积数乘第32页/共110页点积、点商*第33页/共110页向量的函数向量的幂第34页/共110页向量的模长(范数)norm(V,P)=.norm(V)=norm(V,2).norm(V,inf)=max(|V|).norm(V,-inf)=min(|V|).第35页/共110页向量的扩充第36页/共110页(2).矩阵使用赋值矩阵:变量 行向量1;行向量2;行向量n第37页/共110页引用分量:变量(i,j)第38页/共110页行向量:变量(i,:)列向量:变量(:,j)第39页/共110页子矩阵:变量(I,J)行下标集(向量)列下标集(向量)列 1 2 3行 1 2行 2 1列 1 3A21A23A11A13第40页/共110页矩阵构造.由向量生成:矩阵行向量1;行向量2 或 矩阵列向量1,列向量2第41页/共110页.特殊矩阵:zeros(m,n)ones(m,n)eye(m,n)第42页/共110页.稀梳矩阵:sparse(I,J,非零值向量)行对应位置列对应位置 0 1 0 0 0 0 0 0 0 0 0 2 0 0 0 0 4 0 0 0full(稀梳矩阵)1 2 3 41 2 3 4 5第43页/共110页运算.转置:矩阵第44页/共110页.四则运算:和差第45页/共110页积数乘第46页/共110页点积、商第47页/共110页矩阵的函数矩阵的幂第48页/共110页方阵的逆 inv(矩阵)方阵的行列式 det(矩阵)第49页/共110页矩阵的秩 rank(矩阵)第50页/共110页矩阵的范数 NORM(X)矩阵X的最大奇异值.NORM(X,2)同上.NORM(X,1)=max(sum(abs(X).NORM(X,inf)=max(sum(abs(X).NORM(X,fro)sqrt(sum(diag(X*X).第51页/共110页补充:由分量产生向量和矩阵第52页/共110页3.数据文件(自定义数学函数)的使用(1).新建文件编辑区第53页/共110页 function 因变量函数名(自变量列表)行注识标志 因变量自定义数学函数表达式;豆号为分割符例:建立z=sinxy+e(x+y),其中x,y是向量.a.定义:数量函数第54页/共110页 function 因变量列表函数名(自变量列表)行注识标志 因变量1自定义数学函数表达式1;因变量2自定义数学函数表达式2;向量函数豆号为分割符例:建立 f=sinxy+e(x+y),g1=x2,g2=y2,其中x,y是数量第55页/共110页b.保存:第56页/共110页c.修订:第57页/共110页(2).调用变量文件名(参变量列表)变量1,变量2,文件名(参变量列表)第58页/共110页4.作图方式:描点法两点间用直线相连(1).平面曲线 plot(自变向量,因变向量,特征字符).一条曲线 第59页/共110页说明:字符连线方式连线颜色点式线式-实线.-点划线-虚线.o*+xrygbk第60页/共110页 plot(x1,y1,sc,x2,y2,sc,.).多条曲线 第61页/共110页.图像控制hold on(off)保留当前图像(刷新图像)cla 清除当前图像第62页/共110页(2).空间曲线 plot3(x(t),y(t),z(t),sc)向量x=x(t)y=y(t)z=z(t)第63页/共110页(3).空间曲面 z=f(x,y)a.网格矩阵xyx1x2xnymy2y1z11 z21.zn1z12 z22 .zn2 .z1m z2m .znm第64页/共110页 mesh(x,y,Z)网格矩阵向量x=x1,x2,.,xny=y1,y2,.,ymz11 z21.zn1z12 z22 .zn2 .z1m z2m .znmZ mesh(X,Y,Z)或x1 x2.xnx1 x2.xn .x1 x2.xnXy1 y1.y1y2 y2.y2 .ym ym.ymYb.作图第65页/共110页94A 逢山开路第66页/共110页第67页/共110页c.网格矩阵的生成 X,Y=meshgrid(x,y)Z=f(X,Y)第68页/共110页第69页/共110页例第70页/共110页d.等高线的制作 生成 contour(Z,n)标值 clabel(cs)其中cs=contour(Z,n)第71页/共110页e.图像标注 title(char)xlabel(char),ylabel(char),zlabel(char)text(x,y,char),text(x,y,z,char)gtext(char)只适用平面曲线第72页/共110页f.图像拷贝第73页/共110页g.图像修饰第74页/共110页第75页/共110页1.自建函数(程序)(1).新建文件编辑区三.编程第76页/共110页 function 返回值函数名(参变量列表)行注识标志 语句体豆号为分隔符 function 函数名(参变量列表)行注识标志 语句体 function 返回值列表函数名(参变量列表)行注识标志 语句体(2).结构第77页/共110页(3).保存:第78页/共110页(4).语句体赋值语句:变量数学表达式或函数;如 x=y+1;x=linspace(1,3,5);输入语句:变量 input(提示字符串);变量 input(提示字符串,s);第79页/共110页输出赋值语句后不加;即可循环语句1:for 循环变量向量 语句体;end第80页/共110页调用第81页/共110页循环语句2:while 条件表达式 语句体;end1.关系运算符 等于 =不等于 =小于 小于等于 大于等于=关于条件表达式:2.逻辑运算符 与&或|非 第82页/共110页第83页/共110页条件语句:if 条件表达式 语句体1;else 语句体2;end第84页/共110页分支语句1:if 条件表达式 语句体1;elseif 条件表达式 语句体2;else 语句体3;end第85页/共110页分支语句2:switch 分支表达式 case 结果1 语句体1;case 结果2,结果3 语句体2;.otherwise 语句体n;end第86页/共110页(5).说明调用:返回值列表=文件名(参数列表)变量库函数(文件名,参数列表)变量范围:默认为局部变量全局变量标明:global 变量组作用范围在程序之间空格为分隔符第87页/共110页99B 油井问题 a=.5 1.4 1 3.3.37 3.4 4.72 4.72 5.43 5.57 8.38 8.98 9.5;b=2.3.5 1.5 3.51 5.5 2.6.24 4.1 2.01 4.5 3.41 .8;=0.05 di=max|aix|,|bix|第88页/共110页数学模型数学模型:max 第89页/共110页编程function c99b(sn)%油井问题global a b epsa=.5 1.41 3.3.37 3.4 4.72 4.72 5.43 5.57 8.38 8.98 9.5;b=2.3.5 1.5 3.51 5.5 2.6.24 4.1 2.01 4.5 3.41.8;eps=.05;h=1/sn;s0=-.5;t0=-.5;for m=0:sn for n=0:sn si=s0+m*h;ti=t0+n*h;for k=1:12 ui(k)=ui_st(k,si,ti);end u(m+1,n+1)=sum(ui);endend建c99b.m程序文件第90页/共110页uim,SM=max(u);umax,N=max(uim);M=SM(N);umaxs_opt=s0+M*ht_opt=t0+N*hplot(a,b,*,s_opt,t_opt,or)function u=ui_st(k,s,t)global a b epsinta=floor(a(k)+eps-s);intb=floor(b(k)+eps-t);if inta=a(k)-eps-s&intb=b(k)-eps-t u=1;else u=0;end求解第91页/共110页第92页/共110页最短路floyd算法function D,path=floyd(a)%Floyds Slgorithm%D,path=floyd(a)%a是权矩阵,D是最短路程矩阵,path是最短路径矩阵n=size(a,1);D=a;path=zeros(n,n);for i=1:n for j=1:n if D(i,j)=inf path(i,j)=j;end endend for k=1:n for i=1:n for j=1:n if D(i,k)+D(k,j)0,后移0,前移-1 文件头0 当前1 文件尾第98页/共110页4.图像文件的读入读入图像文件:矩阵变量=imread(文件名,图像文件类型)jpg or jpeg tif or tiffbmp第99页/共110页1.线性代数 线性方程组求解 方程组:Ax=b 最小二乘解:x=Ab 四.数值计算第100页/共110页2.多项式运算 (1).多项式的系数向量 (2).多项式的值 函数值polyval(系数向量,自变量)第101页/共110页(3).多项式的根 所有根roots(系数向量)第102页/共110页l2.微积分 (1).数值积分:a.值=quad(被积函数名或文件名,a,b)b.值=dblquad(被积函数文件名,a,b,c,d)第103页/共110页(2).常微分方程初值问题数值解a.一阶方程 y f(x,y),y(0)=y0 x,yode23(函数名,x0,xn,y0)xx0 x1.xn函数关系yy0y1.ynfunctio f=函数名(x,y)f=f(x,y);第104页/共110页b.方程组x,wode23(函数名,x0,xn,y0,z0)functio f=函数名(x,w)f(1,1)=f(x,w(1),w(2);f(2,1)=g(x,w(1),w(2);xx0 x1.xn函数关系yy0y1.ynzz0z1.zn第105页/共110页c.二阶方程方程组令zy第106页/共110页植物生长问题数学模型第107页/共110页编程建脚本文件 ex_ode.m t,y=ode23(plant,0,300,.6,.21,.294)建自定义函数 plant.mfunction f=plant(t,y)R1=.5;R2=.0002;R3=.00002;r=30;lu=100;lm=.22;af=.08;bt=1.6;temp=af*y(1)*y(2)*y(3)/(y(1)2+bt*y(2)*y(3);f(1,1)=r*R1*temp/lu;f(2,1)=lu*R2*y(1)-temp;f(3,1)=lu*R3*y(1)-lm*temp;第108页/共110页求解在工作区输入ex_ode敲回车,得t=0 3.0322 13.6998 26.9473 43.8388 65.5689 93.4451 123.4451 153.4451 183.4451 213.4451 243.4451 273.4451 300.0000y=0.6000 0.2100 0.2940 0.6030 0.2263 0.2932 0.6148 0.2780 0.2890 0.6311 0.3338 0.2815 0.6540 0.3983 0.2696 0.6856 0.4786 0.2524 0.7285 0.5867 0.2288 0.7766 0.7175 0.2035 0.8260 0.8693 0.1792 0.8760 1.0461 0.1568 0.9264 1.2507 0.1369 0.9770 1.4847 0.1199 1.0276 1.7485 0.1058 1.0725 2.0066 0.0956第109页/共110页感谢您的观看。第110页/共110页