20100302 MATLAB入门与数学建模初步_第1页
20100302 MATLAB入门与数学建模初步_第2页
20100302 MATLAB入门与数学建模初步_第3页
20100302 MATLAB入门与数学建模初步_第4页
20100302 MATLAB入门与数学建模初步_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、课程简介与教学流程课程性质:专业必修课完成课时:48学时,68周考核形式:考试,试卷+上机编程选用教材:重庆大学组编,国家十五规划教材先修课程:数学分析/ 高等代数/ 微分方程 概率论/ 数学建模/ 数值分析/ C语言/ 数据结构实验环境:PC机+Matlab 6.5上机安排:周二/周五下午78节集中课堂教学 周三晚6:30-9:30分组上机实践基本原则:出勤、课堂、实验、成绩、考试!课程简介与教学流程考核形式:考试,试卷+上机编程课程简介与教学流程作为课程的延伸如何学习数学实验课程学习基于Matlab的数学实验需要: 1、熟悉Matlab基本操作和指令; 2、熟悉Matlab联机帮助系统;

2、3、熟悉Matlab语言流程控制; 4、具备一定的数学基础和知识准备; 5、具备解决实际的应用问题的能力; 6、保障 预习-听课-实践 的完整过程;命令窗口 command window命令窗口是用户与Matlab交互的主要场所:指令输入和结果返回都在这里进行基本技巧:切换输入法至En并清空变量空间workspace!赋值“=” 缺省变量“ans” 结果显示开关“;”指令回调“” 命令行提示符“ ” 注释符“%”表达式继行符“” 清除指令 “clear、clc和clf”“error”和“warning”反馈信息,format显示精度必备程序:cc.mclc; clear; closereq;变

3、量空间work的工作机制简单说变量空间就是:临时供Matlab执行运算使用的一块内存空间,所以具有“即擦即写”的特性系统变量与用户变量(命名规则): p215变量的查看、擦除、保存与载入 who whos clear save load saveSaving to: matlab.mat load matlab.mat联机帮助系统(进阶钥匙)提高Matlab运用水平的必经之路:擅于利用联机帮助系统查询已知或未知函数的语法、描述、范例及关联Help与Lookfor的区别:前者针对函数名;后者针对关键词更直观更详尽的查询方式:帮助窗口Help demo演示程序lorenz 洛仑兹混沌吸引子附近轨道

4、的图象演示xpklein 克莱因瓶演示最基本的数据对象:数组创建矩阵(2维数组)的途径:输入矩阵也就是直接定义(元素取值、赋值)注意列用“,”或“空格”隔开;行用“;”隔开生成矩阵由函数生成的矩阵(矩阵函数)zeros ones eye rand randn 常见1维数组生成函数:“:”和“linspace” p216数组(矩阵)的下标控制!对于1维数组(行向量或列向量):A(i)表示它的第i个元素对于2维数组(矩阵):A(i)表示A的按列数的第i个元素A(:)表示A的所有元素逐列构成的列向量A(i,j)表示A的第i行j列元素A(:,j)表示A的任意行j列元素构成的数组A(i,:)表示A的i行

5、任意列元素构成的数组 p220矩阵的裁减和拼接裁减:自一个矩阵中取出若干行(列)构成新的矩阵。(前述)拼接:将若干矩阵联接在一起构成新矩阵。拼接实施原则:横拼行相等,符号“,”竖拼列相等,符号“;” p218219数组运算(留意点运算)数组运算要特别注意“点乘,点除,点乘幂”可以这样理解:.* ./ .都是“点对点”(或称“元素对元素”)的运算。函数对数组的作用方式也类似于“点对点”式比如:sin sqrt p220221矩阵运算(留意左除右除)矩阵运算和数组运算大同小异,需要注意左除“”右除“/”的区别:设A可逆:AX=B A-1AX=A-1B X=AB A左除BXA=B XAA-1=BA-

6、1 X=B/A A右除B关系和逻辑运算符 = = = =&逻辑与 |逻辑或 逻辑非p239函数(系统函数和用户函数)常用数学函数(p221-222查阅):三角函数;幂指对函数;整值函数;绝对值注意:自然对数log(x)等价于ln(x)数组操作函数(p222):size(A) length(A) max() min() sort()diag(A) diag(v)(比如diag(1 2 3))矩阵函数(p223更多函数可查阅资料):det() inv() eig() poly() rank() 用户函数? 适合你的函数ToolboxMatlab的Toolbox几乎无所不能Matlab强大的数据可视

7、化能力首先来观察几个绘图实例 %空间中扭曲的矩阵A=zeros(32); A(14:16,14:16)=ones(3);y=fft2(A);surf(abs(y);%玲珑剔透球x,y,z=sphere(30); surf(x,y,z); hold on; axis off ; shading interp; mesh(2*x,2*y,2*z); colormap(hot); hidden off ; axis equal; %以及更多的演示help/demos/MATLAB/Graphics/Map of Complex FunctionsMatlab强大的数据可视化能力 MATLAB也能够绘

8、制较复杂的图形 Matlab基本绘图/控制指令figure(n) clf viewaxis equal axis square axis(x1 x2 y1 y2) hold on/off grid on/off box on/off xlabel(xstr) ylabel(ystr) title(tstr) legend(, )text(x,y,str) text(3,5,sin(omegat+beta)举例:x=-pi:pi/100:pi; y1=sin(x); y2=exp(x);plot(x,y1;y2); grid on; ylabel(sin(x) and exp(x);x=-pi:

9、pi/10:pi; plot(x,cos(x), -ro,x,sin(x), -b*);legend(cos,sin,2); text(2, cos(2),point)Matlab基本绘图/控制指令plot(x,y,r-) plotyy(x1,y1,x2,y2) subplot(2,2,1) fplot(fname,lims,tol,options) 自适应采样绘图函数fplot(sin(1/x),-1, 1) fplot(cos(tan(pi*x), 0,1,1e-4)ezplot(f, a,b) 隐函数绘图函数ezplot(x3+y3-5*x*y+1/5)ezplot(8*cos(t),4

10、*sqrt(2)*sin(t),0,2*pi)Matlab基本绘图/控制指令bar(bar3) pie(pie3) stairs stem(stem3) area补充:彗星图t=-pi:pi/5000:pi; y=tan(sin(t)-sin(tan(t);comet(t,y)Matlab基本绘图/控制指令plot3 meshgrid mesh/meshc/meshz surf /surfc contour/contour3 cylinder sphere hidden off补充:曲面裁剪p=peaks; p(30:32,1:49)=nan*p(30:32,1:49); surf(p)Mat

11、lab基本绘图/控制指令meshgrid 为三维绘图产生网格坐标矩阵meshgrid Generate X and Y matrices for three-dimensional plots:X,Y = meshgrid(1:3,4:6)MATLAB被称为“演算纸语言” MATLAB中各种命令可以完成许多单一的任务,对于某些较为复杂的问题,仅靠现有的命令或函数来解决,往往是难以达到目的 。为此,要运用MATLAB编程语言编制程序,形成M-文件。 M-文件一般包含:数据输入,数据处理和结果输出三部分,其中数据处理是核心。程序编写调试完成后,需要存盘,形成永久性文件,可以随时对它进行调用或修改。

12、文件名以字母开头,但不能用专用变量名,如pi等。MATLAB中每一个命令都是一个M-文件。M文件编辑环境(主要工具)两种不同的M文件,M指令文件和M函数文件的区别:前者只是一系列命令(指令)的组合,既不输入参数也不返回参数,且过程中产生的变量在外部变量空间也起作用;后者在文件开头有function声明,有函数名,且可被其他函数调用,一般有输入参数和返回参数,过程变量在外部变量空间不起作用(函数执行完毕即消逝) p237238M文件编辑环境(主要工具)两种不同的M文件,M指令文件和M函数文件的区别:M指令文件:jiafa.mx=2;y=3;z=x+y;M函数文件:xjiay.mfunction

13、z=xjiay(x,y)z=x+y;M-文件中输入、输出命令直接赋值输入: 提示对话输入(input命令)x=2; x=input(请输入参数 x=); A=1,2;3,4; a=input(请输入字串 a=,s); s= any string!; s=input(Please input s=); 直接输出: 格式控制输出(fprintf命令)x fprintf(x=%.0f, y=%.5fn,pi,pi);disp(a,b); fprintf(x=%5g, y=%10.5gn,N,pi);补充:鼠标坐标获取函数 ginput / ginput(n)图像读入函数 imread声音读入函数 w

14、avreadM-文件中输入、输出命令文本文件的写出和读入:A=1,2,3;4,5,6;7,8,9;fid=fopen(B.txt,w);fprintf(fid,%4.2f %4.2f %4.2fn,A);fclose(fid);load B.txt; %也可以使用textread函数导入含有字符串和数值的文本文件info=textread(info.txt,%q)email=char(info(3)%元胞对象字符化post=numeric(char(info(2)%元胞对象数值化M-文件中选择控制命令单项选择:格式: if (condition is true) commands; end 作

15、用:若条件成立,则执行命令集 commands. 否则,不执行。M-文件中选择控制命令求n个实数中最大的数M.A=100*rand(3,4)m,n=size(A(:);M=A(1);for i=2:m if M0 sn=1;elseif x=0 sn=0;else sn=-1;enddisp(answer is ,num2str(sn)M-文件中选择控制命令多项选择:格式: switch express case condition commands; . . . otherwise commands; end 作用:若条件成立,则执行对应命令集commands,随后跳出; 否则执行other

16、wise 对应命令集commands 。M-文件中选择控制命令选择身份信息%name = tony;name=input(请输入姓名,s);switch lower(name) case tom,tony disp(The boy is ,name) case linda disp(The girl is ,name) otherwise disp(Unknown!)endM-文件中循环控制命令步进循环:格式: for i=n1:(step):n2 commands; end 作用:重复执行命令集commands.条件循环:格式: while (condition is true) comma

17、nds; end 作用:重复执行命令集commands.中断语句break只跳出当次循环,不跳出整个循环M-文件中循环控制举例 求和:s=1+2+nn=input(请输入 n=);s=0;for i=1:n s=s+i; fprintf(i=%.0f, s=%.0fn,i,s);end 求和:s=1+2+n3000s=0;k=1;while s%将sx.jpg和map.m拷贝到work目录,随后执行map即可M-文件编程综合实例2: 寻找水仙花数 数153有一个特殊的性质, 即153=13+53+33,那 么有没有其他这样的数呢? 把任一数各位数字的立方和求出 ,再求所得的各位数字的立方和 ,依次进行下去 ,总可以得到一个水仙花数.如把76按这样的运算进行下去:M-文件编程综合实例2: 经典的水仙花数算法(如何改写为通用程序?) %方法一:三层循环clear;tic;for a=1:9 f

温馨提示

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

评论

0/150

提交评论