《数值分析与Matlab软件.ppt》由会员分享,可在线阅读,更多相关《数值分析与Matlab软件.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数值分析与Matlab 软件Matlab 简介l Matlab 软件是一个功能非常强大的数学软件。包括:科学计算、符号计算、图形处理等功能。l Matlab 是一种类似于Fortran 和C 的一种语言。虽然Matlab 的计算远慢于Fortran 和C,但是它方便且易学易用。Matlab 的特点l 易于编程l 整数、实数、复数之间的统一性l 以矩阵数据类型为基础的数据结构l 丰富的数学函数库和工具包Matlab 入门l 计算前的准备 常用窗口:命令窗口(Command Window)M 文件编辑窗口(Editor)帮助窗口(Matlab Help)常用的基础命令:version、clc、cl
2、ock(fix(clock))、who、path、clear、help 等Matlab 入门Matlab 入门Matlab 入门Matlab 入门l 命令窗口直接执行命令 简单的计算器功能(Matlab 能够实现与Window 自带的计算器相似的功能。)u 语句后加分号(;)表示不显示结果。u 输出格式命令(format)Matlab 入门l Matlab 语言基础 常量:变量名 含 义 值 eps 浮点运算相对精度 2.2204e 16 pi 3.14159.i 和j 虚数单位 inf 无穷大 NaN 非数值Matlab 入门 变量:不需事先声明(定义)变量,Matlab 会跟据变量所涉及到
3、的操作来决定变量的类型。任何以字母开头,包含字母、数字或下划线并且长度少于32 的字符串都可以作为变量名。函数:exist:可用于检测某个名称是否被使用过,从而 避免命名冲突。Matlab 入门 运算符:算术运算符 如:、/、等 关系运算符 如:、=、=、=、=等 逻辑运算符 如:not()、and(&)、or(|)、xor 等Matlab 入门 矩阵的生成:空数组:行向量:1 3 5 7 或1,3,5,7 或1:2:4 列向量:1;3;5;7 二维数组:1 2 3 4;5 6 7 8 或1,2,3,4;5,6,7,8 利用函数生成数组:例如:rand、zeros、ones、transpose
4、()等 Matlab 入门 其他:a=1 2 3 4 c=a;b b=5 6 7 8 A=1,2;3,4 A(3,3)=5 A=1,2;3,4 A(2,:)=注:A(3,3)表示矩阵A 的第三行第三列的元素的值;A(2,:)表示矩阵A 的第二行。Matlab 入门 流程控制语句 条件控制(if、switch)if x 1 y=1;elseif x 2 y=2;elseif x 3 y=3;else y=n;endswitch xcase 1 y=1;case 2,3 y=2;otherwise y=n;endMatlab 入门 流程控制语句 循环控制(for,while)for k=1:2:5
5、 x(k)=1;endk=1;while k 6 x(k)=1;k=k+2;endMatlab 入门 其他控制语句 continue 语句 break 语句 return 语句total=0;for i=1:3 if i=2,continue;end total=total+i;endtotaltotal=0;for i=1:3 if i=2,break;end total=total+i;endtotaltotal=?total=0;returnfor i=1:3 total=total+i;endtotalMatlab 入门 Matlab 的数学函数 初等数学函数:如:sin(x),cos
6、(x),tan(x),asin(x),acos(x),atan(x)等;其他初等函数:如:abs(x),sqrt(x),round(x),exp(x),log(x)等;Matlab 入门l 用M 文件开发程序 脚本(过程)文件 对应与Fortran 和C 语言的过程 函数文件 对应与Fortran 和C 语言的函数注:函数名必须与M 文件名相同!Matlab 入门l 实例1(Scripts)l 实例2(Function)x1=1;x2=2;xmean=(x1+x2)/2;function xmean=mean_(x1,x2)xmean=(x1+x2)/2;a=1;b=2;mean=mean_(
7、a,b);Matlab 入门l 注:1.脚本中的变量为全局变量;而函数中的变量只是局部变量。通过显式的定义,可将函数中的变量定义为全局变量。例如:global x2.M 文件中百分号(%)表示注释行,即本行语句不执行。3.M 文件中符号()表示换行,即本行未结束,其余内容在下一行。Matlab 入门4.在一个函数里调用另一个函数的方法。(feval 函数的使用)function wa=ff(f_name,a)wa=feval(f_name,a);源程序:ff(cos,pi)ans=-1 ff(exp,2)ans=7.3891 Matlab 入门l 递归调用:函数调用的过程中若是直接或间接地调用
8、了该函数本身,function y=fact(n)if n=0|n=1,y=1;else y=n*fact(n-1);end源程序:fact(5)ans=120 Matlab 进阶l Matlab 最大的特点就是矩阵a a注:Matlab 中数组的存放方式是按列优先。Matlab 进阶l 矩阵的运算 算术运算u、/、等u.、.、.、./、.、.等 关系运算u、=、=、=、=等 逻辑运算符u not()、and(&)、or(|)等Matlab 进阶l 以矩阵为参量的函数 数学函数(一)例如:sin(x),cos(x),tan(x),asin(x),acos(x),atan(x)abs(x),sq
9、rt(x),round(x),exp(x),log(x)等 数学函数(二)例如:max,min,sum 等注:对此类函数,当输入参数是二维数组时,输出的是按列运算的结果。数学函数(三)例如:fliplr,flipud,rot90.inv,det,cond,lu,eig,rank,length,size 等Matlab 进阶Matlab 语言编程最重要的技巧:如何将你面对的问题尽量使用矩阵表述,或者说要尽量避免出现太多(两重或以上)的循环嵌套!Matlab 绘图l 简单绘图x=0:0.05:10;y=sin(x).*exp(-0.4*x);%绘图plot(x,y);xlabel(x);ylabe
10、l(y);源程序:Matlab 绘图l 函数介绍:1.cla:将所绘曲线清除并重画坐标轴。2.clf:将图形窗口的全部内容清除。3.figure(n):打开一个新的图形窗口,其中 n 为窗口的编号。4.close:close(n)将关闭编号为n 的图形窗口;close all 将关闭所有的图形窗口。Matlab 绘图5.axis:axis on(off)可使坐标轴和刻度显示(隐藏)。axis square 可使所画图形的纵横坐标刻度比例相同。6.grid:grid on(off)给图形加上(去除)网格。7.title:给图形加上标题。8.xlabel:给x坐标轴加上标注。9.ylabel:给y
11、坐标轴脚上标注。Matlab 绘图10.plot(x,y):画出点集合(,)的图形,其中 为x的第i 个分量,为y的第i 个分量。11.subplot(m,n,k):在同一个图形窗口中绘制mn 个图形,其中k表示第k个子窗口。12.text(x,y,string):表示在坐标(x,y)处显示字符串string。13.hold:hold on 表示在当前窗口继续绘图。hold off 则去除这一设置,即删除当前绘图窗口的内容,然后重新绘制。Matlab 与数值分析相关内容介绍l 多项式 多项式的Matlab 表示Matlab 与数值分析相关内容介绍 相关函数1.roots(p):计算多项式p 的零点。2.polyval(p,x):计算多项式p 在x处的值。3.polyfit(x,y,n):给定n+1 个点的数据,计算n 次插值多项式。4.polyder(p):计算多项式p 的一阶导数。5.conv(p,q):计算多项式p 和q 的乘积。6.b,r=deconvp,q:计算多项式除法。
限制150内