MATLAB 程序的基本操作.pdf

上传人:椰子壳 文档编号:3787453 上传时间:2019-09-23 格式:PDF 页数:12 大小:584.14KB
返回 下载 相关 举报
MATLAB 程序的基本操作.pdf_第1页
第1页 / 共12页
MATLAB 程序的基本操作.pdf_第2页
第2页 / 共12页
MATLAB 程序的基本操作.pdf_第3页
第3页 / 共12页
MATLAB 程序的基本操作.pdf_第4页
第4页 / 共12页
MATLAB 程序的基本操作.pdf_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《MATLAB 程序的基本操作.pdf》由会员分享,可在线阅读,更多相关《MATLAB 程序的基本操作.pdf(12页珍藏版)》请在三一文库上搜索。

1、 有限元分析基础教程 曾攀 MATLAB程序的基本操作程序的基本操作 A.1 MATLAB 菜单与窗口菜单与窗口 典型的 MATLAB 窗口如图 A-1 所示,主要组件包括: (1)菜单条:包含一些常用的命令,如文件调入、存贮、编辑、调试等操作。 (2)当前目录:显示当前的工具目录,用户可进行修改或重新设置。 (3)当前目录窗口:显示工作目录内所有的文件及其类型。 (4)工作内存状态窗口:显示所定义、赋值或计算得到的所有变量的内容。 (5)命令窗口:用户可直接输入变量及操作 MATLAB 命令。 (6)命令历史记录:显示已进行过的 MATLAB 操作。它还显示当前操作的记录。 图 A-1 MA

2、TLAB 操作界面 几点说明: (1)用户在工作时,相应设定自己的工作目录,并将自己编制的各个子程序(function)及数据 文件都放在该工作目录中。 (2)若需将准备的数据以文件的形式调入,可以使用以下 load 命令,例如 load E:matlabFEMFEM2Dnode.txt (3)注释采用%符号; (4)在输入或运算后,MATLAB 将立即显示出相应的结果,若不需显示,则在命令结尾处使 用“;”符号;例如 x=1 2 3 4; (5)若需要查询 help,用户可以在 MATLAB 命令窗口输入 help 命令即可。 A.2 MATLAB 的工作文件与的工作文件与 M 文件文件 启

3、动 MATLAB 后,首先在 Current Directory 窗口上将工作目录设置到用户指定的位置 上,对一些简单的操作,用户可直接在 MATLAB 的命令窗口输入变量和发布命令。不过, 297 有限元分析基础教程 曾攀 对一些比较长的程序;可能就需要用到 M 文件 用户可用命令 save文件名将工作空间保存到一个文件中。然后,用户可以命令 load+ 文件名从硬盘中将这个文件读入内存中。在一段时间内,用户可能创建了许多的文件,此时 可用命令 dir 列出该目录的所有内容。对于一些简单的操作,用户可直接在命令窗口输入变 量和 MATLAB 命令。不过,当用户写的程序较长时,最好使用 M 文

4、件。 M 文件的后缀为.m, 它是用户根据需要采用文本编辑器或利用 MATLAB 自身的编辑器 将自己的一系列 MATLAB 程序集成的文件。为了建立 M 文件,应先打开 M 文件编辑器, 这时 MATLAB 会打开一个新窗口,用户可在里面输人程序。在输入程序时,用户将注意到 MATLAB 会在窗口的左侧一列赋予行编号,这便于用户调试自己的程序。应注意的是,不 要使自己的文件名与 MATLAB 的命令同名。 可在 MATLAB 的命令窗口中输入 exist(文件名 )来检查是否与 MATLAB 命令同名。 若要运行自己的程序, 可以点击 DebugRun(或 F5 键)。 A.3 数据精度及显

5、示格式数据精度及显示格式 一般情况下, MATLAB 仅显示四位数字,若想显示更多的有效数字, 先输入 format long 命令,再作计算或显示即可,其它的格式见表 A-1。 表 A-1 命令 x=1/6 的显示结果 解释 format short 0.1667 显示四位数字默认模式 format long 0.166666666666667 显示 14 位有效数字 format rat 1/6 显示分式形式 format bank 0.17 显示两位有效数字 format short e 1.6667e-001 显示带有四位有效数字的科学数字表示法 format long e 1.666

6、666666666667e-001 显示带 14 位有效数字的科学数字表示法 format hex 3fc5555555555555 显示十六进制数格式 format + + 根据计算结果的正负或零显示+,-和空格 format compact 抑制输出结果中的空格 MATLAB 提供了用于显示文本或数值的命令 disp;例如,对于数组1 2 3 4 5x =, 有以下的显示命令。 x=1 2 3 4; %数组的赋值 disp(x) %显示 x 的内容 1 2 3 4 5 disp(Results) Results 注意,用户想显示的文本必须用单引号()引起来。 MATLAB 中的 fprin

7、tf 显示命令具有更大的灵活性;既可以用它来显示文本,也可以用 它来显示所需的有效数字,而且还可以用特定的格式字符如n 和t 来控制分行和缩进,例如 x=10; %对 x 赋值 fprintf(The value of x is %g n, x) %显示字符以及 x 值 The value of x is 10 298 有限元分析基础教程 曾攀 A.4 基本的数据定义基本的数据定义 下面给出几种常用的基本数据赋值。 【标量】 x=5 %常数的直接赋值 x = 5 【数组】 y=0:20:100 %在数据范围内的增量赋值 y = 0 20 40 60 80 100 z=10:-2:0 %在数据范

8、围内的减量赋值 z = 10 8 6 4 2 0 【矩阵】 A=5 1 3; 8 3 4;2 6 9 %一个 3X3 矩阵的直接赋值 A = 5 1 3 8 3 4 2 6 9 【字符串】 s=matrix operation %字符串的赋值 s = matrix operation p,q=size(s) %计算字符串(可以看成为数组)的维数 p = 1 q = 16 s(6) %查询第 6 个字符串(可以看成为数组)的内容 ans = x A.5 数据运算数据运算 【常数或变量】【常数或变量】 对于常数或变量,常用的运算操作符见表 A-2。 表 A-2 MATLAB 基本的常量操作符 操作

9、 符号 例如: x=7, y=6 结果 加 + x+y 13 减 - x-y 1 乘 * x*y 42 除 / (x+y)/2 6.5 299 有限元分析基础教程 曾攀 幂 x2 49 【数组的元素运算】【数组的元素运算】 对于数组中的元素,MATLAB 提供了非常方便的直接操作运算功能,常用的运算操作 符见表 A-3。 表 A-3 MATLAB 的元素运算符 操作 数学运算 元素间等价的运算符 加 + + 减 - - 乘 * .* 除 / . / 幂 . 下面给出几个进行数组中对应元素运算的实例。 A=1 2 3 4 5; B=2 4 6 8 10; C=B+A C = 3 6 9 12 1

10、5 D=B.*A %对两个数组的元素之间进行直接的相乘 D = 2 8 18 32 50 E=B./A %对两个数组的元素之间进行直接的相除 E = 2 2 2 2 2 F=A(1:3) B(3:5) %取某一段数组进行赋值 F = 1 2 3 6 8 10 【矩阵运算】【矩阵运算】 对于矩阵, MATLAB提供了非常方便的直接操作运算功能, 常用的运算操作符见表A-4。 表 A-4 MATLAB 的矩阵运算操作符 操作 符号或命令 已知矩阵 A 和矩阵 B 加 + A+B 减 - A-B 乘 * A*B 倒置 矩阵名 A 求逆 inv inv(A) 行列式 det(矩阵名) det(A) 特

11、征值 eig(矩阵名) eig(A) 矩阵左除(用高斯消元法求解线性方程组) AB 300 有限元分析基础教程 曾攀 假设,有一个线性方程组 123 123 123 4264 238 8622 xxx xxx xxx += += += (A-1) 下面给出几个进行矩阵运算以及求解的算法。 A=4 2 6;1 2 3;8 6 2 %输入一个 3X3 的系数矩阵 A = 4 2 6 1 2 3 8 6 2 B=4;8;2 %输入一个 3X1 的系数列阵 B = 4 8 2 x=AB %由方程 A*x=B 求解未知量 x x = -2.6111 3.3889 1.2778 INV_A=inv(A)

12、%求 A 矩阵的逆 INV_A = 0.1944 -0.4444 0.0833 -0.3056 0.5556 0.0833 0.1389 0.1111 -0.0833 y=inv(A)*B %由方程 A*y=B 求解未知量 y=inv(A)*B y = -2.6111 3.3889 1.2778 v,lamda=eig(A) %求 A 矩阵的特征值及向量,v 为特征向量, lamda 为特征值 v = -0.6388 -0.4912 0.6004 -0.2893 -0.2874 -0.7997 -0.7129 0.8223 -0.0063 lamda = 11.6023 0 0 0 -4.87

13、52 0 0 0 1.2729 A.6 MATLAB 函数函数 301 有限元分析基础教程 曾攀 MATLAB 提供了完整的内部函数, 若有一个数组 Mass=1102 115 99 106 103 95 97 102 98 96,利用 MATLAB 内部函数对该数组的处理见表 A-5。 表 A-5 工程分析中常用的一些 MATLAB 函数 函数 说明 举例 结果 Sum 数组求和 sum(Mass) 1013 mean 计算数组的平均值 mean(Mass) 101.3 max 求数组中的最大值 Max(Mass) 115 Min 求数组中的最小值 sin(Mass) 95 std 计算数组

14、的标准差 std(Mass) 5.93 sort 按升序对数组排序 sort(Mass) 95 96 97 98 99 102 103 106 115 pi 圆周率 3.141 592 653 589 7 pi 3.1415926535897 tan 正切函数,单位必须是弧度 tan(pi/4) 1 cos 余弦函数,单位必须是弧度 tos(pi/2) 0 sin 正弦函数,单位必须是弧度 sin(pi/2) 1 其它的 MATLAB 内部函数见表 A-6。 表 A-6 MATLAB 函数 sqrt(x) x 值的平方根 factorial(x) 阶乘函数,例如 factorial (5) =

15、(5) (4) (3) (2) (1) =120 反三角函数 acos(x) 反余弦函数,返回角度值 asin(x) 反正弦函数,返回角度值 atan(x) 访正切函数,返回角度值 指数函数与对数函数 exp(x) 自然指数函数 ex log(x) 自然对数函数,x 必须大于 0 log10(x) 以 10 为底的对数函数 log2(x) 以 2 为底的对数函数 下面给出一个算例。 Weight = 1020 1015 990 1060 1030 950 975 1020 980 960; %赋值一个数组 Weight_Average=mean(Weight) %求数组的平均值 Weight_

16、Average = 1000.00 Weight_Standard_Deviation=std(Weight) %求数组的标准差 Weight_Standard_Deviation = 34.5607 A.7 循环与逻辑运算循环与逻辑运算 MATLAB 提供的逻辑关系运算符见表 A-7。 302 有限元分析基础教程 曾攀 表 A-7 MATLAB 的逻辑关系运算符 关系运算符 含义 大于 = 大于或等于 = 不等于 下面就几种常用的循环运算给出算例。 【for/end 命令】命令】 例如, 要计算 x 等于 2.0,2.5,3.0,3.5 和 4.0 时函数 y = x3+2 的值, 它的计算

17、结果是 10, 17.625, 29.00,44.875 和 66.00;相应的 MATLAB 程序如下。 x = 2.0; %赋初值 for i = 1:1:5 %给出循环计数器的起始值,增量,结束值 y = x3+2; %计算函数值 disp (x y ) %显示 x 及 y 值 x = x + 0.5; %自变量累加 end 显示的结果为 2 10 2.5000 17.6250 3 29 3.5000 44.8750 4 66 【while/end 命令】命令】 x = 2.0; %赋初值 while xscores = 65 82 40 87 80 59 65 77 72 59 ; %

18、输入数据(数组) 303 有限元分析基础教程 曾攀 for i=1:1:10 %给出循环的起始值,增量,结束值 if scores ( i ) 60 %设定条件(60) fprintf (t %g t t t t t PASSINGn, scores(i) ; %满足条件(60)时的输出 else fprintf (t %g t t t t t FAILINGn, scores(i) %不满足条件(format compact % x = 1:0.5:3; %以竖排的形式输入 x 的数据 y = 4.8 7.6 9.6 12.8 15.6; %以竖排的形式输入 y 的数据 Coefficien

19、ts= polyfit ( x,y,1) %进行一次函数的拟合,并得到拟合系数 c0 及 c1 304 有限元分析基础教程 曾攀 Coefficients = 5.3600 -0.6400 f = polyval(Coefficients,x) %再根据拟合的函数来计算函数值 f = 4.7200 7.4000 10.0800 12.7600 15.4400 table = x y f y-f %将原始的数据点,拟合后的函数计算值,函数的计算差进行列表 table = 1.0000 4.8000 4.7200 0.0800 1.5000 7.6000 7.4000 0.2000 2.0000

20、9.6000 10.0800 -0.4800 2.5000 12.8000 12.7600 0.0400 3.0000 15.6000 15.4400 0.1600 plot(x,y,o,x,f,-) %对数据点(符号 o)以及拟合的函数计算值(符号-)进行图形显示 axis(1 3 4 20) %调整坐标轴的取值范围 得到的图形见图 A-2。 图 A-2 数据点(符号 o)以及拟合的函数计算值(符号-)的图形显示 最后得到的系数为,则拟合函数为 01 5.36,0.64cc= 5.360.64yx= (A-3) A.9 符号运算符号运算 下面给出一个函数,表 A-9 给出相应的 MATLAB

21、符号操作的结果。 305 有限元分析基础教程 曾攀 2 1 2 2 3 4 ( ) 56 ( ) 3 ( ) (5) ( ) 52 f xxx fxx fxx fxxyxy =+ = =+ =+ (A-4) 表 A-9 MATLAB 的符号操作 函数 说明 例子 结果 sym 建立一个符号函数 F1x = sym(x2-5*x+6) F1x = x2 - 5 *x+ 6 F2x = sym (x-3) F2x = x - 3 F3x = sym( (x+5) 2) F3x = (x+5)2 F4x =sym(5*x-y+2*x-y) F4x = 5*x-y+2*x-y factor 因式分解

22、factor(F1x) (x - 2) * (x - 3) simplify 函数简化 simplify(F1x/F2x) x - 2 expand 将函数展开 expand(F3x) x2+10*x+25 collect 表达式化简合并 collect(F4x) 7*x-2*y solve 求解表达式 solve(F1x) x= 2 和 x= 3 ezplot(f,min,max) 在 min 和 max 范围 ezplot(F1x,0,2 ) 绘制函数图 F1x A.10 图形绘制图形绘制 这里仅就最常用的 2D 函数图形显示进行介绍,MATLAB 提供的命令 plot (x,y),可以

23、在平面上绘制 x 和 y 点值。 用户可用 plot(x, y, s)命令来设置不同的线型、 绘图符号或颜色, 其中 s 是一个定义线型、绘图符号或线颜色的一个字符串,它取值如表 A-10所示。 例如, 使用命令 plot(x,y, k * -)时, MATLAB 绘出的曲线是黑色实线, 每一数据点用 “o” 符号,如果不指定线颜色,MATLAB 自动为它指定一个。 表 A-10 MAILAB 的图形显示的符号表 s 颜色 s 数据符号 s 线类型 b 蓝色 点 - 实线 g 绿色 o 圆 : 点 r 红色 x x 记号 - . 点划线 c 紫色 + 加号 - - 虚线 m 品红色 * 星号

24、y 黄色 s 方框 k 黑色 d 菱形符 v 下三角符 上三角符 由三角符 下面给出用图形进行数据点的显示,结果见图 A-3。 x = 1:0.5:3; %输入 x 的数据 y = 4.8 7.6 9.6 12.8 15.6; %输入 y 的数据 306 有限元分析基础教程 曾攀 plot(x,y,o) %对数据点(符号 o)进行图形显示 若给定一个函数 ( )(15 5 ) (103 )zf xxxx= (A-5) 下面对该函数进行图形显示,相应的 MATLAB 程序如下,结果见图 A-4。 x = 0:0.1:5; %设置自变量的取值点(数组形式) z= (15-5*x).*(10-3*x

25、 ).*x; %定义函数,并计算函数值(数组元素的计算) plot (x,z) %就 x 及 z 进行图形显示 title(z as a function of x ) %在图形的上方给出总标题 xlabel (x(cm) %对 x 轴给出标题 ylabel (z(cm3) %对 y 轴给出标题 grid minor %打开细密的网格线 图 A-3 数据点的图形显示 图 A-4 函数的图形显示 A.11 求解方程求解方程 对于线性方程组,可以采用矩阵的方法进行求解,见 A.5;下面用 MATLAB 的符号求 解器来获得线性方程组的解 123 123 123 10210 238 5227 xxx

26、 xxx xxx += += += (A-6) 首先对每一个方程进行定义, 然后利用 solve 命令来获得它们的解。 solve 命令的基本形 式为 solve (eqnl,eqn2,.,eqnn);相应的 MATLAB 程序如下。 eql=10*x1-x2 +2*x3=10; %定义方程 1 eq2=2*x1+x2-3*x3=8; %定义方程 2 eq3=5*x1-2*x2+2*x3=7; %定义方程 3 x1, x2, x3 = solve(eql,eq2,eq3) %求取解的表达式 x1 = 49/39 x2 = -128/39 x3 = 307 有限元分析基础教程 曾攀 -38/13 vpa(x1;x2;x3) %使用变量精度进行计算 ans = 1.2564102564102564102564102564103 -3.2820512820512820512820512820513 -2.9230769230769230769230769230769 参考文献:Moaveni S(美)著,有限元分析ANSYS 理论与应用(第 3 版,王崧等译),北京:电子工业出版 社,2008 308

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1