matlab与科学工程计算

上传人:jiups****uk12 文档编号:45509599 上传时间:2018-06-17 格式:PPT 页数:90 大小:2.76MB
返回 下载 相关 举报
matlab与科学工程计算_第1页
第1页 / 共90页
matlab与科学工程计算_第2页
第2页 / 共90页
matlab与科学工程计算_第3页
第3页 / 共90页
matlab与科学工程计算_第4页
第4页 / 共90页
matlab与科学工程计算_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《matlab与科学工程计算》由会员分享,可在线阅读,更多相关《matlab与科学工程计算(90页珍藏版)》请在金锄头文库上搜索。

1、matlab科学学工程计计算同济济大学数学系 陈陈雄达1teapotdemo2目录录matlab入门 matlab基础编 程 matlab作图 matlab工具箱 matlab上机操作 matlab综合训练 matlab命令速查3matlab入门matlab是什么 matlab不是什么 matlab集成环境 matlab ABC4matlab入门没有matlab就没有乐趣。M.N. NachtigalS.C. ReddyL.N. Trefethen关于迭代法的Copper Mountain 论文集19905matlab是什么 一个可视化的计算程序, 广泛使用于从个人计算机到超级计算 机范围内的

2、各种计算机上 包括命令控制、可编程,上百个预先定义命令和函数 有许多强有力的命令, 能完成大量的高级矩阵处理 强有力的二维、三维图形工具 能与其他程序一起使用 25个(不断增加中)不同的工具箱应用于特殊的应用领域 工业研究与开发 的有力工具 数学教学 , 尤其线代, 数值分析, 科学计算方面的教研工具 电子学, 控制理论, 物理学等工程科学方面的教研工具 经济学, 化学和生物学等有计算问题的所有领域中的教学与研 究 名字取自矩阵实验 室(matrix laboratory)6matlab不是什么 不是万能的解决工具 不是最高性能的编程语言 受计算条件限制, 不能解决超大型实际问 题 不能解决工

3、具箱之外的问题种类 - 需要编写 接口、算法甚至工具箱7集成环境窗口系统 View Desktop Layout Five Panel 历史命令 / 变量和文件管理 / 命令窗口 菜单系统 File / Edit / View / Web / Window / Help 按钮8matlab ABC提示符 注释释符 % 续续行 . 123 + 45 - 67 + 8 9 x = 3 * sin(pi/4) 2 向量(数组数组 ) v =1 3 5 2 4 6; 矩阵阵(二维数组维数组 )A =1 3; 5,24 6;9matlab基础编程 数据结构 冒号(:) 矩阵操作入门 标识 符 初等函数(

4、elfun) 初等函数(exp) 函数fix,round, ceil,floor 逻辑 判断 关系运算 运算的级别 matlab帮助 结构化编程 脚本文件 函数文件10数据结构最基本的数据结构 - 矩阵 数和向量看成为特殊的矩阵 矩阵以 为定界符,与多维数组 等同 字符串看成为每个元素都是单个 字符的向 量,也可以有字符矩阵 高维数组 细胞 (cell) 结构 体 (struct)11冒号(:)冒号号a:s:b 从从a开开始, 步长为长为 s, 界为为b 例如1:2:10 1 3 5 7 97:-2:0 7 5 3 11:6 1 2 3 4 5 66:2 (空矩阵阵)12标识符 文件名、变变量

5、名、函数数名 标识标识 符的规规定 最长长不超过过19个个字符 为为配合matlab的风风格,采用见见名知意的小写写短名称称 以字母开头开头 ,包含数数字、大小写写字母、下划线划线 变变量命名规则规则 常用从简从简 ,专专用从从繁 矩阵阵大写写 A, B, C 向量小写写 u, v, w, x, y, z 函数数小写写 f, g, h, fun, f1, f2 常量小写写 alpha, beta, a, b, c13内部变量pi 圆圆周率=3.1415926 i,j 虚根 inf 无限大 eps 2.2204460e-16 NaN 不定型(Not a Number)内部变变量的运算规则规则 i

6、nf 参与的运算 NaN 参与的运算14点运算(向量运算) a = 1 2 3 4; b = 0 1 2 3; a + b ans =1 3 5 7 b./a ans =0 0.5000 0.6667 0.7500 b.*a ans =0 2 6 12 a.b ans =1 2 9 6415矩阵操作入门 矩阵阵的抽取 A = 8 1 6; 3 5 7; 4 9 2 ; A(2,3) 得到 7 A(2, 3 2 1) 得到 7 5 3 A(3 2,2:-1:1) 得到 9 4; 5 3 A(2,:) 得到 3 5 7 A(:,end) 得到 6; 7; 281635749216赋值语 句A(2)

7、= A(n-1,:)= A(2+3, 2*3)= x= A(sqrt(4),x-3)= A(:)= v(end)=A(2) + 2 = x2 + x = A(sqrt(4),x)-3 = A = inv(A) = (x=0) = 左值值表达式: 指向某一存储储空间间的表达式,放在赋值语赋值语 句左边边。17初等函数(elfun)三角函数数(sin,sinh,asin,asinh) 指数对数数对数 (exp,log,log10,sqrt) 复变复变 函数数(abs,conj,real,imag) 取整取余(floor,ceil,round,mod)全部都具有向量功能:输输入向量, 返回对应对应

8、函数值组数值组 成的向量18初等函数(exp) x = 0:0.2:1 x = 0 0.2 0.4 0.6 0.8 1.0 y = exp(x) y = 1.00 1.22 1.49 1.82 2.22 2.71向量功 能19函数fix,round,ceil,floorfixroundceilfloor功能朝零取整四舍五入向上取整向下取整3.141533430.61800110-2.7181-2-3-2-3-1.4142-1-1-1-220简单矩阵操作rand(n), eye(n), zeros(n) 生成 n 阶阶随机、单单位、零矩阵阵 rand(2) ans =0.9501 0.60680

9、.2311 0.4860 rand(3,2) ans =0.8913 0.01850.7621 0.82140.4564 0.4447 eye(2,3) ans =1 0 00 1 0 zeros(3) ans =0 0 00 0 00 0 021diag diag(1 2 3; 4 5 67 8 9) ans = 159 diag(1 2 3; 4 5 67 8 9,1) ans = 26 diag(1 5 9) ans = 1 0 00 5 00 0 9 diag(4 8,-1) ans = 0 0 04 0 00 8 022triu/tril A = magic(3) A = 8 1 6

10、3 5 74 9 2 U = triu(A,-1) U = 8 1 63 5 70 9 2 L1 = tril(A,-1) L1 = 0 0 03 0 04 9 0 L2 = tril(A) L2 = 8 0 03 5 04 9 223字符运算 char(4,1,8,8,11+100) ans = hello abs(matlab) ans = 109 97 116 108 97 98 eval(exp(-pi*i) ans = -1 + 0i feval(sin,pi/2) ans =1 fun = cos; feval(fun,pi/2) ans =0字符串24字符运算for k = 1:

11、9,st = fun .num2str(k);x(k) = .feval(st, x(k); endfunction y = fun1(x) function y = fun2(x)str2num(2*pi) ans =6.2832 str2num(cos(2*pi) ans =1 eval(cos(2*pi) ans = 125逻辑判断真值真值 逻辑真逻辑真 (true,1)或假(false,0) 逻辑运逻辑运 算 , =, pi = sqrt(10)ans = 0 1:5 = pi ans = 0 0 0 1 1向量功 能26关系运算 关关系运运算有: 与与(and) and(a,b) a

12、 flag = 0; while flag,nn = n;rn = 0;while nn=0,d = mod(nn,10);rn = rn * 10 + d;nn = floor(nn/10);enddisp(rn)if rn=n,flag = 1;elsen = rn + n;end end输输入n设设置迭代指标为标为 0当迭代不成功时时(=0),保留当前n计计算n的逆序为为rn显显示rn重新设设置迭代指标标或n z,p = fun(15) z = 24 p = 4 x = fun(6) x = 12 fun(28) ans = 56 p,z = fun Input argument n i

13、s undefined. p,z = fun(20,18) Too many input arguments. p,t,b = fun(15) Too many output arguments.function p,t = fun(n)40函数的相互调用寻寻找亲亲和数对对, 即这样这样 两个数, 它们们的真因子之和等于对对方。 function X = amic(n)s = 1;for k = 2:n,if k=fun(fun(k),X(s,1 2) = k, fun(k);s = s + 1;endend function p = fun(n)k = 1:n-1;z = mod(n,k);

14、p = sum(k(z=0);调调用子函数41递归调 用函数调调用自己称为递归为递归 因此必须须有停止自调调用的时时刻 。01例:Frayer级级数, 即0,1上分母不超过过n的既约约真分数从小 到大排列。14131223453411152535 每一次把新出现现的分数, 放在两个已有分数中, 这这两个 分数的分子和分母各自的和就是新分数的分子和分母。42递归调 用function p,q = frayer(n)if n1,p,q = frayer(n-1);ind = find(q(1:end-1)+q(2:end)=n);for k = ind(end:-1:1),q = q(1:k) n q(k+1:end);p = p(1:k) p(k)+p(k+1) p(k+1:end);endelseif n=1,p = 0,1;q = 1,1;end43递归调 用function v = fact(n)if n=0|n=1,v = 1;elsev = n * fact(n-1);end v = prod(1:n);阶阶 乘44算法的复杂度s = 0; for k = 1:n,p = 1;for j = 1:k,p = p * j;ends = s + 1/(p+1); endop = 0; for k = 1:n,op = op + 1;fo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号