1、数学建模工作室 2018/12/6,Matlab软件入门讲义,第1页 mecca_,Matlab软件入门 (第三讲),张 军,数学建模工作室 2018/12/6,Matlab软件入门讲义,第2页 mecca_,第二次作业,熟悉本次课程所提到的全部内容。 在一幅图象中作出函数及其导函数的图形 :Y=x3-3x+4 Y=3x2-3 作出函数Y=sin(x)/x的图形;注意,x=0时,需要单独处理。 无穷级数逼近:正弦函数Y=sin(X)与其Taylor展开式的前几项构成的多项式函数的逼近关系;作出参数方程函数的图象,数学建模工作室 2018/12/6,Matlab软件入门讲义,第3页 mecca_
2、,作出函数y=sin(x)/x的图形,第一种方式: ezplot(sin(x)/x);,数学建模工作室 2018/12/6,Matlab软件入门讲义,第4页 mecca_,作出函数y=sin(x)/x的图形,第二种方式: ezplot(sin(x)/x,-20 20);,数学建模工作室 2018/12/6,Matlab软件入门讲义,第5页 mecca_,作出函数y=sin(x)/x的图形,第三种方式: ezplot(sin(x)/x,-20 20 -1 1.2);,数学建模工作室 2018/12/6,Matlab软件入门讲义,第6页 mecca_,作出函数y=sin(x)/x的图形,第四种方式
3、: x=-20:0.1:20; n=length(x); for i=1:nif(abs(x(i)-0)=0.0001)y(i)=1;elsey(i)=sin(x(i)/x(i);end end plot(x,y);,数学建模工作室 2018/12/6,Matlab软件入门讲义,第7页 mecca_,作出函数y=sin(x)/x的图形,错误的方式: x=linspace(-20,20,50); y=sin(x)./x; plot(x,y);,数学建模工作室 2018/12/6,Matlab软件入门讲义,第8页 mecca_,sin(x)的泰勒逼近,方法一: x=-3:0.2:3; y0=x;
4、y1=x-x.3/prod(1:3); y2=x-x.3/prod(1:3)+x.4/prod(1:5); y3=x-x.3/prod(1:3)+x.5/prod(1:5)-x.7/prod(1:7); figure hold on plot(x,sin(x),k) plot(x,y0) plot(x,y1,r) plot(x,y2,g) plot(x,y3,y),数学建模工作室 2018/12/6,Matlab软件入门讲义,第9页 mecca_,数学建模工作室 2018/12/6,Matlab软件入门讲义,第10页 mecca_,sin(x)的泰勒逼近,方法二: x=-5:0.2:5; fi
5、gure hold on plot(x,sin(x),k) plot(x,fun(x,1) plot(x, fun(x,5),r) plot(x, fun(x,10),g) plot(x, fun(x,30),y),子函数: function y=fun(x,n) %这是一个正玄函数泰勒展开的子函数 y=0; for i=1:ny=y+(-1)(i-1)*(x.(2*i-1)/prod(1:(2*i-1); end,数学建模工作室 2018/12/6,Matlab软件入门讲义,第11页 mecca_,数学建模工作室 2018/12/6,Matlab软件入门讲义,第12页 mecca_,作出参数
6、方程函数的图象,ezplot(5*cos(t)+6*t,15*sin(t),0 2*pi),数学建模工作室 2018/12/6,Matlab软件入门讲义,第13页 mecca_,作出参数方程函数的图象,ezplot(5*cos(t)+6*t,15*sin(t),0 4*pi),数学建模工作室 2018/12/6,Matlab软件入门讲义,第14页 mecca_,二元函数可视化,MATLAB实现二元函数作图的基本特点是完全矩阵化,即任何二元函数都理解为纯粹数学意义下的矩阵,这个基本理解决定了二元函数作图的典型步骤,即首先给作为自变量的两个变量赋值向量值,其次利用函数关系在前一步得到的矩阵点上计算
7、函数值而得到一个新的矩阵(二元函数),最后,利用这个矩阵画出原来二元函数的图像。,数学建模工作室 2018/12/6,Matlab软件入门讲义,第15页 mecca_,Matlab矩阵运算,二维矩阵操作A = 1,2,3,4; 5 6 7 8; 9,10,11,12A(2,3) = 5B = A(2,1:3)A = A,B /增补一列A(:,2) = /删去第2列A = A; 1 2 3 4 /增补一行A(1,4,:) = /删去1,4行B = reshape( A, 2, 6 ) /将A按列的顺序重新组成2行6列的矩阵。注意,这里要求新矩阵和旧矩阵具有相同的元素个数。A=repmat(4,5
8、 6) /产生一个5行4列的全是4的矩阵,数学建模工作室 2018/12/6,Matlab软件入门讲义,第16页 mecca_,Matlab矩阵运算,基本运算 A+B; A-B; A*B; Aa; A/B(A*inv(B); AB(inv(A)*B);A; A. 另矩阵的数组操作:A.*B; A./B;A.B;A.aA=1 2 3;4 5 6; A*A=30 36 42; 66 81 96;102 126 150; A.*A=1 4 9;16 25 36;49 64 81;,数学建模工作室 2018/12/6,Matlab软件入门讲义,第17页 mecca_,Matlab矩阵运算,矩阵的关系运
9、算 , =, =, = 对矩阵进行关系运算时,对矩阵的每个元素进行比较,运算结果为与原矩阵大小一样的由0和1组成的矩阵 逻辑运算 &, |, , xor,数学建模工作室 2018/12/6,Matlab软件入门讲义,第18页 mecca_,两个变量的标量函数,两个变量的标量函数,比如: z=f(x,y) 每一对x与y的值产生一个z的值。它作为x与y的函数,是三维空间中的一个曲面。为了在MATLAB里面画出这个曲面,z的值存放在一个矩阵中。,数学建模工作室 2018/12/6,Matlab软件入门讲义,第19页 mecca_,先给出x与y的值作为独立变量,z是因变量矩阵,x、y与z的联系就是:z
10、(i,j)=f(x(i,j),y(i,j)当z=f(x,y)能简化表示时,可以方便地用数组运算在单个语句中算出z的所有的值。这样做要求我们以合适的方向创建所有x与y值的矩阵,函数meshgrid正好可以完成这个步骤。例1作出函数 的图形。 X,Y=meshgrid(-3:3, 1:5); Z=(X+Y).2; mesh(X,Y,Z) figure Surf(X,Y,Z),数学建模工作室 2018/12/6,Matlab软件入门讲义,第20页 mecca_,数学建模工作室 2018/12/6,Matlab软件入门讲义,第21页 mecca_,X =-3 -2 -1 0 1 2 3-3 -2 -1
11、 0 1 2 3-3 -2 -1 0 1 2 3-3 -2 -1 0 1 2 3-3 -2 -1 0 1 2 3,Y =1 1 1 1 1 1 12 2 2 2 2 2 23 3 3 3 3 3 34 4 4 4 4 4 45 5 5 5 5 5 5,Z =4 1 0 1 4 9 161 0 1 4 9 16 250 1 4 9 16 25 361 4 9 16 25 36 494 9 16 25 36 49 64,数学建模工作室 2018/12/6,Matlab软件入门讲义,第22页 mecca_,数学建模工作室 2018/12/6,Matlab软件入门讲义,第23页 mecca_,一般说明
12、,当函数不能像上面那样简单表示出来时,便只能用For循环或While循环来计算Z的元素。在很多情况下,有可能按行或按列计算Z。 x,y=meshgrid(a b,c d); for i=1:Mfor j=1:Nz(i,j)=f(x(i,j),y(i,j);%这里的f表示自定义的函数end end,数学建模工作室 2018/12/6,Matlab软件入门讲义,第24页 mecca_,例.作出函数 的图形,X,Y=meshgrid(-4:0.2:4 ); Z=sin(pi*(X.2+Y.2).0.5); mesh(X,Y,Z) fiugre surfl(X,Y,Z) shading interp
13、colormap(copper),数学建模工作室 2018/12/6,Matlab软件入门讲义,第25页 mecca_,数学建模工作室 2018/12/6,Matlab软件入门讲义,第26页 mecca_,数学建模工作室 2018/12/6,Matlab软件入门讲义,第27页 mecca_,作出函数 的图形,数学建模工作室 2018/12/6,Matlab软件入门讲义,第28页 mecca_,作出函数 的图形,数学建模工作室 2018/12/6,Matlab软件入门讲义,第29页 mecca_,教室灯光计算(一),画出距离地面1米各个点的光照强度与位置(横纵坐标)之间的函数关系曲面图.,数学建
14、模工作室 2018/12/6,Matlab软件入门讲义,第30页 mecca_,已知条件,已知一个教室长为20米,宽为15米,在距离地面高2.5米的位置均匀的安放8个光源,假设各个光源到墙壁横纵向之间的距离是相等的,各个光源的光照强度均为一个单位。光源对目标点的光照强度与该光源到目标点距离的平方成反比,与该光源的强度成正比。,数学建模工作室 2018/12/6,Matlab软件入门讲义,第31页 mecca_,以不同的视角观察球面 和圆柱面 所围区域。提示:可以用参数方程的形式。theta fai=meshgrid(0:0.1:2*pi);x=r*cos(theta).*cos(fai);y=r*sin(theta).*cos(fai);z=r*sin(fai);mesh(x,y,z);alpha(0.5) %设置透明度,曲面求交题目(二),数学建模工作室 2018/12/6,Matlab软件入门讲义,第32页 mecca_,行星轨道的计算(三),数学建模工作室 2018/12/6,Matlab软件入门讲义,第33页 mecca_,问题分析,