《数学建模讲座三基础精.ppt》由会员分享,可在线阅读,更多相关《数学建模讲座三基础精.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数学建模讲座三基础第1页,本讲稿共41页一、matlab使用界面及其他1.1 matlab的初始界面1.2 matlab的在线帮助系统help 程序(主题)名help sin SIN Sine.SIN(X)is the sine of the elements of X.Overloaded methods help sym/sin.m第2页,本讲稿共41页一、matlab使用界面及其他(续)1.3 数据显示格式format short 显示小数点后4位(默认)format long 显示15位数字format bank 显示小数点后2位format +显示+,-,0format short
2、e 显示5位科学计数法format long e 显示15位科学计数法format rat或rational 显示最接近的有理数format hex 16进制数第3页,本讲稿共41页一、matlab使用界面及其他(续)1.4 命令行编辑 重调前一行(用于调出前面的命令修改)重调后一行 左移一个字符 右移一个字符home 移动到行首end 移动导行尾esc 清除一行del 删除光标后字符backspace 删除光标前字符第4页,本讲稿共41页一、matlab使用界面及其它(续)1.5 matlab命令窗口1.5.1 显示who 显示当前工作区的所有变量名whos 显示当前的变量名、大小、字节、类
3、型disp(x)显示x的内容,它可以是矩阵或字符串1.5.2 清除clear 清除当前工作区的所有变量clear(变量名)清除指定的变量第5页,本讲稿共41页一、matlab使用界面及其它(续)1.5.3 储存save 文件名 将工作区的变量储存到当前matlab目录下产生的一个扩展名为mat的MAT的文件中1.5.4 调出load 文件名 调出文件中的数据第6页,本讲稿共41页二、矩阵及其运算2.1 矩阵的直接输入A=1 2 3;4 5 6;或 A=1,2,3;4,5,6 或A=1 2 3 4 5 6注意:矩阵的存放是按列存放的。即A的存放次序为1,4,2,5,3,6。矩阵的提取a=A(2,
4、3),b=A(:,3),c=A(:,2)矩阵元素的修改A(2,3)=23,A(:,2)=22,55,A(3,4)=33第7页,本讲稿共41页二、矩阵及其运算(续)2.2 矩阵的函数生成zeros(m,n)生成m n零矩阵 ones(m,n)生成m n全1矩阵eye(m,n)生成m n单位矩阵rand(m,n)生成m n的(0,1)均匀分布矩阵randn(m,n)生成m n标准正态分布矩阵zeros(n)生成n阶零矩阵,其它类似2.3 矩阵生产器见图第8页,本讲稿共41页二、矩阵及其运算(续)2.3 矩阵的裁剪与拼接A(3,:)A的第3行A(:,2)A的第2列A(1:2,:)A的第1,2行A(2
5、:end,2,4)A的第2到最后行,2,4列B=zeros(2,3);ones(4,3)B=zeros(2,3),ones(2,4)B=1,2,3;ones(4,3)第9页,本讲稿共41页二、矩阵及其运算(续)2.4 矩阵的基本运算+加法;-减法;转置;*乘法;乘幂;左除;/右除注意:左除 AX=B X=AB(要求A,B行数相同)/右除 XA=B X=B/A(要求A,B列数相同)第10页,本讲稿共41页二、矩阵及其运算(续)2.5 矩阵的特殊运算 .*点乘法;.点乘幂;.点左除;./点右除点运算是同型矩阵对应元素之间的运算注意:.点乘幂的运算A=1 2 3;4 5 62.AA.2第11页,本讲
6、稿共41页二、矩阵及其运算(续)2.6 行向量的特殊输入a=m:n 从m到n公差为1的等差数列注意:mna=m:d:n 从m到n公差为d的等差数列注意:m,n可正可负,大小不限,d要匹配linspace(a,b,n)生成从a到b共n个数值的等差数列logspace(a,b,n)生成从10a到10b共n个数值的等比数列第12页,本讲稿共41页三、语句和函数3.1 语句3.1.1 表达式变量=表达式 A=1 2 3;4 5 6+3 回车之后显示结果A=1 2 3;4 5 6+3;回车之后不显示结果注意:1)一个命令一行写不下时,可用“”续行;2)一行可以有几个语句,它们之间用逗号或分号隔开。第13
7、页,本讲稿共41页三、语句和函数(续)3.1.2 常见常量pi 圆周率eps 最小浮点数Inf 或inf 正无穷大,特指1/0NaN 或 nan 非数,特指 0/0i,j 都是虚数单位a=0 1 0,b=1,0,0,c=a./bc=0 Inf NaNeps 的应用见以后第14页,本讲稿共41页三、语句和函数(续)3.2 标量函数三角函数:sin cos tan cot sec csc asin acos atan acot asec acsc sinh cosh tanh asinh atanh atan2(四象限取值的反正切函数)其它基本函数:sqrt(正的平方根),pow2(2的指数),e
8、xp(e的指数),log(自然对数),log10(常用对数),log2(以2为底的对数),abs(绝对值或复数模),round(四舍五入),floor(地板函数),ceil(天花板函数),fix(取整数函数),sign(符号函数),real(取实部),imag(取虚部),angle(取辐角),rats(有理逼近)第15页,本讲稿共41页三、语句和函数(续)注意:1)这些函数作用于标量,作用于矩阵时,是作用于矩阵的每一个元素;2)计算函数的常用命令还有 feval(函数名F,x)即求F(x),x可以是矩阵,对每个元素求值;feval(函数名F,x)也是求F(x)句柄函数如:feval(sin,1
9、 2 3;4 5 6)feval(sin,1 2 3;4 5 6)第16页,本讲稿共41页三、语句和函数(续)3.3 向量函数max(最大值),min(最小值),sum(求和),length(长度),mean(平均值),median(中位数),prod(乘积),sort(从小到大排列)a=4 3.1 1.2 0 6;b=min(a),c=sum(a),d=median(a),e=sort(a),f=prod(a)注意:1)上述函数可以作用于矩阵,结果为行向量,是函数作用于矩阵的每列所得。2)当a包含偶数个数时,median(a)的值是中间两个数的平均值。第17页,本讲稿共41页三、语句和函数(
10、续)3.4 矩阵函数3.4.1构造矩阵的函数zeros(0阵),ones(1阵),eye(单位阵),rand(均匀随机阵),randn(正态随机阵),diag(生成或提取对角阵),diagonalmatrixtriu(生成或提取上三角阵),upper triangular parttril(生成或提取下三角阵),lower triangular part第18页,本讲稿共41页三、语句和函数(续)3.4.2 矩阵计算函数size(维数),det(行列式),rank(秩),inv(逆矩阵),eig(矩阵特征值),trace(矩阵的迹),poly(矩阵的特征多项式)reshape(A,m,n)将矩
11、阵A转化成mn的形式3.5 高维矩阵A(:,:,1)=reshape(1:9,3,3);A(:,:,2)=reshape(-1:-1:-9,3,3)a=A(3,2,1),b=A(3,2,2),c=A(4),d=A(13)注意:高维矩阵的存放次序是先A(:,:,1)再A(:,:,2)第19页,本讲稿共41页四、绘图功能4.1二维图形plot4.1.1基本形式plot(y)以1,2,length(y)为横坐标,以y的元素为纵坐标绘图;plot(x,y)以x(i)为横坐标,对应的y(i)为纵坐标绘制的图形。x=linspace(0,2*pi,30),y=sin(x);plot(y),pause,pl
12、ot(x,y)注意:后一个图替代前一个图。第20页,本讲稿共41页四、绘图功能(续)4.1.2 多重线plot(x1,y1,x2,y2,)x=linspace(0,2*pi,30),y1=sin(x),y2=cos(x);plot(x,y1,x,y2)或者用命令hold on 可以将新图形画在目前图形上x=linspace(0,2*pi,30),y1=sin(x),y2=cos(x);plot(x,y1),hold on,plot(x,y2)注意:除非使用命令hold off,否则,图形一直叠加下去。第21页,本讲稿共41页四、绘图功能(续)4.1.3 线型和颜色格式为:plot(x1,y1,
13、线型颜色点型,)其中线型 实线 :点线 -.虚点线 -波折线颜色 y 黄色 r 红色 g 绿色 b 蓝色 w 白色 k 黑色 m 紫色 c 青色点型 .圆点 +加号 *星号 叉号 x=linspace(0,2*pi,30),y1=sin(x),y2=cos(x);plot(x,y1,b:+,x,y2,g-.h)第22页,本讲稿共41页四、绘图功能(续)4.1.4网格和标记grid on或grid 在图形上加网格grid off 去掉图形上的网格xlabel(字符)在x轴上加上字符ylabel(字符)在y轴上加上字符title(字符)在图形顶上加上字符text(x,y,字符)在(x,y)处加上字
14、符xlabel(Independent Variable)ylabel(Dependent Variable Y and Z)title(Sine and Cosine Curves)text(2.5,0.7,sine),text(2.5,-0.7,余弦)第23页,本讲稿共41页四、绘图功能(续)4.1.5 坐标控制缺省情况下matlab自动选择图形的横、纵坐标的比例;axis(xmin,xmax,ymin,ymax)分别给出x轴和y轴的最小和最大值axis equal或axis(equal)x轴和y轴的单位相同axis square或axis(square)图框为方形axis off或axi
15、s(off)去掉坐标轴axis on 或axis(on)加上坐标轴第24页,本讲稿共41页四、绘图功能(续)4.1.6 多幅图形 用subplot(m,n,p)将一个画面划分为mn个图形区域,p代表第p个区域,每个区域可以放一个图形。x=linspace(0,2*pi,30),y=sin(x),z=cos(x),u=sin(2.*x)v=tan(x)subplot(2,2,1),plot(x,y),axis(0,2*pi,-1,1),title(sin(x)subplot(2,2,2),plot(x,z),axis(0,2*pi,-1,1),title(cos(x)subplot(2,2,3)
16、,plot(x,u),axis(0,2*pi,-1,1),title(sin(2x)subplot(2,2,4),plot(x,v),axis(0,2*pi,-5,5),title(tan(x)第25页,本讲稿共41页四、绘图功能(续)4.1.7 极坐标图形及其它图形极坐标图形的命令为 polar(x,y)t=0:0.01:2*pi;polar(t,0.5*abs(sin(4*t)fplot(fun,xmin,xmax,ymin,ymax)在xmin,xmax,ymin,ymax上画出函数fun的图形fplot(sin(x)/x,-10,10,-0.2,1.2)第26页,本讲稿共41页四、绘图
17、功能(续)4.2 三维图形4.2.1三维网格图 mesh,surf,meshzx=-7.5:0.5:7.5;y=x;X,Y=meshgrid(x,y)R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;mesh(X,Y,Z)或mesh(Z)meshz(Z)surf(Z)第27页,本讲稿共41页四、绘图功能(续)4.2.2空间曲线命令为 plot3(x(t),y(t),z(t)绘制出参数方程x=x(t),y=y(t),z=z(t)的图形绘出x=sint,y=cost,z=tt=0:pi/20:10*pi;plot3(sin(t),cos(t),t)第28页,本讲稿共41页四、绘图功能
18、(续)4.2.3 等高线,速度场等等高线命令为:contour或contour3速度场命令为:quiverx=-7.5:0.5:7.5;y=x;X,Y=meshgrid(x,y)R=sqrt(X.2+Y.2)+eps;Z=sin(R)./R;contour(Z)quiver(X,Y)第29页,本讲稿共41页五、程序设计5.1 关系运算 大于;=大于等于;=等于;=不等于 关系运算比较两个矩阵(数组,标量)之间的关系,当关系成立时结果为1,否则为0。A=1:5,B=5:-1:1,C=A=4,D=A=Bfind(Aa)按列找出矩阵A中大于a的位置综合运用(比较下面两个结果)x=-1:1/3:1,y
19、=sin(x)./xx=-1:1/3:1,x=x+eps*(x=0),y=sin(x)./x第30页,本讲稿共41页五、程序设计(续)5.2 逻辑运算&与运算;|或运算;非运算;xor 异或运算运算规则为ab a&b,and(a,b)a|b,or(a,b)a,not(a)xor(a,b)000010010111100101111100a=1:9,b=9-a,c=(a4),d=(a=3)&(b6),e=xor(c,d)第31页,本讲稿共41页五、程序设计(续)y=all(x):若x为向量,当所有元素非零时,y=1,否则y=0;当x为矩阵时,all作用于x的列元素,返回行向量;y=any(x):若
20、x为向量,当有一元素非零时,y=1,否则y=0;当x为矩阵时,all作用于x的列元素,返回行向量第32页,本讲稿共41页五、程序设计(续)5.3 条件与循环5.3.1 if 语句 用法:如果关系表达式成立,则执行语句1,否则执行end的后的语句。if else end 如果关系表达式处理,则执行语句1,否则执行语句2,然后执行end后的语句。if end第33页,本讲稿共41页五、程序设计(续)if elseif elseif else end 如果关系表达式j成立,则执行语句j,否则执行语句n+1,然后执行end后的语句.分段函数:if x=0 y=0;elseif x=1 y=x;else
21、 y=1;end 第34页,本讲稿共41页五、程序设计(续)5.3.2 switch语句根据表达式的值来执行语句switch case value1 case value2 elsecase end 当表达式的值为i时,执行语句i(i=1,2,n-1),否则执行语句n第35页,本讲稿共41页五、程序设计(续)5.3.3 for 语句for =:endfor i=1:3 for j=1:3 a(i,j)=1/(i+j-1);endendformat rata注意:1)步长为1时可以省略;2)for语句可以嵌套使用a=1 1/2 1/3 1/2 1/3 1/4 1/3 1/4 1/5 第36页,本
22、讲稿共41页五、程序设计(续)5.3.4 while 语句while end 当关系表达式为真时,语句被反复执行,直至关系表达式为假时终止。也可以用break语句终止循环。n=0;EPS=1while(1+EPS)1 EPS=EPS/2;n=n+1endEPS=2*EPS;n,EPSEPS=1for n=1:100 EPS=EPS/2;if (1+EPS)=1 EPS=2*EPS;break endendn,EPS第37页,本讲稿共41页五、程序设计(续)5.4 M文件5.4.1 脚本M文件 打开File菜单中选择New,再选择M-file,这时MATLAB将打开一个文本编辑和调试窗口,在这里
23、输入的命令和数据,就是脚本M文件,它可以存起来。格式为:M文件名.m 使用时,可以调出来。for i=1:m for j=1:n a(i,j)=1/(i+j-1);endenda=rats(a);m=5,n=5,hilbert,a第38页,本讲稿共41页五、程序设计(续)5.4.2 函数M文件格式为:function 因变量因变量=函数名函数名(自变量自变量)%注释行注释行 函数体函数体 说明:函数文件的第一行必须以function开始,表明该文件是函数文件;因变量(输出部分)只有一个变量时,方括号可以省略,当因变量不止一个时,用逗号隔开;自变量不止一个时,也用逗号隔开。保存时,文件名必须是该
24、函数名.m 注释行是对该函数的简单说明.第39页,本讲稿共41页五、程序设计(续)function output=fact(n)%FACT计算给定正数n的阶乘n!output=1;for i=1:noutput=output*i;endfunction mean,stdev=stat(x)%STAT Mean and Standard deviation%for a vector x,stat(x)returns the mean and deviation of x%如果x是矩阵,则stat(x)计算矩阵x的每列期望和标准差。m,n=size(x);if m=1m=nendmean=sum(
25、x)/mstdev=sqrt(sum(x.2)/m-mean.2);第40页,本讲稿共41页五、程序设计(续)function x=sub1(y)%子函数x=y.2;endfunction x=sub2(y,z)%子函数x=sub1(y)+sub1(z);endfunction c,d=testsubfun(a,b)if(nargin=1)c=sub1(a);%只有一个参数时,计算其平方elseif(nargin=2)c=sub2(a,b);%有两个输入参数时,计算其平方和endif(nargout=2)%有两个输出参数时,执行下面命令 d=this is an example for testing sub-function;end M文件可以引用其他M文件,也可以递归地引用自己。function c,d=testsubfun(a,b)if(nargin=1)c=a.2;elseif(nargin=2)c=a.2+b.2endif(nargout=2)%d=this is an example for testing sub-function;end第41页,本讲稿共41页