资源描述:
《FDTD中的MATlAB编程基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、FDTD中的MATlAB编程基础一、系统预定义变量pi:圆周率,其值为imag(log(-1))inf,Inf:无穷大nan,NaN:Not-a-Number,一个不定值,如0/0eps:浮点运算相对精度i,j:虚部单位,即应尽量避免给系统预定义变量重新赋值!Matlab中的数默认是双精度实数,表示方法同C语言3,-9,0.4,1.603e-12,3.23e+20浮点运算的相对误差为eps浮点数表示范围为:10-308~10308输出格式Matlab以双精度执行所有的运算,运算结果可以在屏幕上输出,同
2、时赋给指定变量;若无指定变量,则系统会自动将结果赋给变量“ans”Matlab中数的输出格式可以通过format命令指定format只改变变量的输出格式,但不会影响变量的值!各种format格式格式解释例format短格式(缺省显示格式),同short3.1416formatshort短格式(缺省显示格式),只显示5位3.1416formatlong长格式,双精度数15位,单精度数7位3.14159265358979formatshorte短格式e方式(科学计数格式)3.1416e+000formatl
3、onge长格式e方式3.141592653589793e+000formatshortg短格式g方式3.1416formatlongg长格式g方式3.14159265358979formatcompact压缩格式formatloose自由格式format+/formatbank/formatrat/formathex(详情查看联机帮助)二、变量的读取清除当前工作空间中的变量clear清除当前工作空间中的所有变量clearAx清除指定的变量将数据文件中的变量载入当前工作空间loadmydata载入数据文件
4、中的所有变量loadmydataAx从数据文件中提取指定变量三、建立矩阵的函数常用函数有:eye(size(A))产生与A矩阵同阶的单位矩阵zeros(m,n)产生0矩阵ones(m,n)产生幺矩阵rand(m,n)产生随机元素的矩阵Size(a)返回包含两个元素的向量。Length(a)返回向量的长度。常见矩阵生成函数zeros(m,n)生成一个m行n列的零矩阵,m=n时可简写为zeros(n)ones(m,n)生成一个m行n列的元素全为1的矩阵,m=n时可写为ones(n)eye(m,n)生成一个主
5、对角线全为1的m行n列矩阵,m=n时可简写为eye(n),即为n维单位矩阵diag(X)若X是矩阵,则diag(X)为X的主对角线向量若X是向量,diag(X)产生以X为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分triu(A)提取一个矩阵的上三角部分rand(m,n)产生0~1间均匀分布的随机矩阵m=n时简写为rand(n)randn(m,n)产生均值为0,方差为1的标准正态分布随机矩阵m=n时简写为randn(n)其它特殊矩阵生成函数:magic、hilb、pascal可利用冒号提取矩阵
6、的整行或整列。例:>>A(1,:)>>A(:,1:3)>>A(:,:)四、常用命令1.input函数:用于向计算机输入一个参数。调用格式:A=input(提示信息,选项);注:‘s’选项,则允许用户输入一个字符串。例如想输入一个人的姓名,可采用命令xm=input('What''syourname:','s')【例2】求一元二次方程a2+bx+c=0的根。a=input('a=?');b=input('b=?');c=input('c=?');d=b*b-4*a*c;x=[(-b+sqrt(d))/(2
7、*a),(-b-sqrt(d))/(2*a)]将该程序以aa.m文件存盘,然后运行aa.m文件。2.pause函数:暂停程序的执行。调用格式:pause(延迟秒数)注:如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。3.Drawnow函数:将还未处理完的图像实时的显示出来。当代码执行时间长,需要反复执行plot时,Matlab程序不会马上把图像画到figure上,这时,要想实时看到图像的每一步变化情况,需要使用这个语句。Matlab图形可视化的几个命令1.几个基本的绘
8、图命令a.线性坐标曲线plot函数命令plot是MATLAB二维曲线绘图中最简单、最重要、使用最广泛的一个线性绘图函数。它可以生成线段、曲线和参数方程曲线的函数图形。命令格式:plot(X,Y)plot(x1,y1,x2,y2,…):综合调用方式A、二维平面图形与坐标系用命令plot(x,y)绘制函数y=cos(x)在两个周期内的图形。x=0:0.01:2*pi;y=cos(x);plot(x,y)在同一图形窗口中用命令plot(x,y)绘