计算方法预备实验matlab使用练习
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
Байду номын сангаас
MATLAB的特点
一种语言之所以能如此迅速地普及,显示出如此旺盛的生命 力,是由于它有着不同于其它语言的特点,正如同 FORTRAN和C等高级语言使人们摆脱了需要直接对计算机 硬件资源进行操作一样,被称作为第四代计算机语言的 MATLAB,利用其丰富的函数资源,使编程人员从繁琐的 程序代码中解放出来.MATLAB最突出的特点就是简 洁.MATLAB用更直观的,符合人们思维习惯的代码,代替 了C和FORTRAN语言的冗长代码。MATLAB给用户带来的 是最直观,最简洁的程序开发环境。以下简单介绍一下 MATLAB的主要特点。
14
1.1.3 矩阵的裁剪与拼接
> > > > > > >
A(3,:) A(:,2) A(2:5,:) A(:,1:2:5) A(2:4,1:3) C=(A,B) D=(A;B)
显示A的第3行 显示A的第2列 显示A的第2到5行 显示A的第1、3、5列 显示A的第2到4行、1到3列的元素 A、B并列构成新矩阵C A、B上下构成新矩阵D
6
MATLAB的发展过程
Cleve Moler给这个接口程序取名为MATLAB,该名为矩阵 (matrix)和实验室(labotatory)两个英文单词的前三个字母 的组合。在以后的数年里,MATLAB在多所大学里作为教学 辅助软件使用,并作为面向大众的免费软件广为流传。 1983年春天,Cleve Moler到Standford大学讲学, MATLAB深深地吸引了工程师John Little。John Little敏 锐地觉察到MATLAB在工程领域的广阔前景。同年,他和 Cleve Moler,Steve Bangert一起,用C语言开发了第二 代专业版。 1984年,Cleve Moler,John Little和Steve Bangert成 立了Math Works公司,正式把MATLAB推向市场。
20
例如: > rats(pi) ans=355/113, >rats(sqrt(2)) ans=1393/985 > x=(0:0.2:1)*pi; y=sin(x) y = 0 0.5878 0.9511 0.9511 0.5878 0 round(y) 0 1 1 1 1 0; floor(y) 0 0 0 0 0 0; 另一个计算函数值的命令: feval(F,x), 其中 F:字符串,x:变量. 如上面的x: z=feval('sin',x), 同z=sin(x).
15
1.1.4 矩阵运算 A+B, A-B, A', A*B, A^3, B/A (即BA+), A\B (即A+B), A+3(矩阵加常数,即每个元素加此常数)
16
1.2 数组及其运算
数组运算MATLAB中一种特定的计算,可视为两 个同型矩阵间对应项的运算,运算符号为矩阵运算符 号前加“.”。由于矩阵的加、减本身就是对应项间的 运算,故不必再加“.”。 例如, x=t^2, y=sin(t), 0<=t<=pi, z=xy=t^2*sin(t)。 在MATLAB中,往往要用函数的一组值来表示此函数 (如作图时)。 t=0:0.1*pi:pi; x=t.^2; y=sin(t); z=x.*y (or z=t.^2.*sin(t)); 则t, x, y, z都是维数相同的向量,且有 x(k)=t(k)^2, y(k)=sin(t(k)), z(k)=x(k)*y(k)=t(k)^2*sin(t(k)). 17
9
MATLAB的特点
1)语言简洁紧凑,使用方便灵活,库函数极其丰富.MATLAB程序 书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务, 压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写, 用户不必担心函数的可靠性。 例如,如果用户想求解一个线性代数方程,用FORTRAN和C这样 的高级语言编写,至少需要四百多行,调试这种几百行的计算程序 可以说很困难。首先编写一个程序块读入数据,然后再使用一种求 解线性方程的算法(例如高斯消去法)编写一个程序块来求解方程, 最后再输出计算结果。
4
Matlab的发展过程
20世纪70年代 1983年 1984年 Cleve Moler Cleve Moler John Little Cleve Moler John Little Steve Bangert Fortran语言编写 C语言编写内核 MathWorks公司
5
MATLAB的发展过程
1.3 语句、变量和表达式
1.3.1 语句形式 一般为 变量=表达式:>a=[1 2 3 4]; b=a+1; c=a.*b; d=a*b'; e=a'*b; 1.3.2 变量 变量名由字母、数字和下划线组成,区分大小写字 母,最多31个字符,第一个字符必须是字母. 不必说明 类型和维数,自动分配内存空间. 几个特殊量:pi 圆周率, eps 可分辨最小正数, inf 正无穷大, NaN 不定值,i、j 复数虚单位. 以上几个量有 其特殊值,但若赋予其它值后,则不再有其特殊性. 但 用clear可恢复其固有的特殊值. 例如:pi = 5; clear pi;(这时pi的值又为3.1416)
10
例:利用MATLAB求解下列方程,并求矩阵A的特征值。 Ax=b,其中 解:在MATLAB命令窗口中输入: >> A=[32, 13, 45, 67; 23, 79, 85, 12; 43, 23, 54, 65; 98, 34, 71, 35]; b=[1; 2; 3; 4]; x=A\b e=eig(A) 此时,系统返回:
3
MATLAB简述
当前流行的MATLAB 7.0/Simulink 7包括拥有数百个内部函 数的主程序和六十几种工具箱(Toolbox)。工具箱又可以分为 功能性工具箱和学科工具箱。功能工具箱用来扩充MATLAB的 符号计算,可视化建模仿真,文字处理及实时控制等功能。学 科工具箱是专业性比较强的工具箱,控制工具箱,信号处理工 具箱,通信工具箱,图像处理工具箱等都属于此类。 代码的开放性使MATLAB广受用户欢迎。除内部函数外,所有 MATLAB主程序文件和各种工具箱都是可读可修改的文件,用 户通过对源程序的修改或加入自己编写程序可以构造新的专用 工具箱。
11
预备实验 MATLAB使用练习
MATLAB MATrix LABoratory 矩阵实验室
特点: 编程效率高 计算功能强 特别是矩阵计算 使用简便 易于扩充 可建立M文件定义过程和函数以供调 用,可与其它语言(C, Fortran等)混合编程。
12
§1 矩阵、数组与函数
1.1 矩阵的输入与运算 > A(2,1)=7 A=1 2 3 756 > A(3,4)=1 A= 1 2 3 0 7560 0001
注:n阶Hilbert矩阵为: 1/ 2 1/ n 1 1/ 3 1 /( n 1) 1 / 2 1 / n 1 /( n 1) 1 /( 2n 1) 3阶幻方矩阵为:
8 1 6 magic(3) = 3 5 7 4 9 2
2
MATLAB简述
MATLAB是一种功能非常强大的科学计算软件。我们在本 课程中将利用这个软件作为我们的实验平台,因此,在正式 使用它之前,我们对这个软件作一个介绍,以便使用者对软 件有一个整体的认识。 MATLAB源于Matrix Laboratory,原意为矩阵实验室, 经过近三十几年的发展,目前除具备卓越的数值计算能力外, 它还提供了专业水平的符号计算,文字处理,可视化建模仿 真和实时控制等功能。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、 工程中常用的形式十分相似,故用MATLAB来解算问题要 比用C,FORTRAN等语言完成相同的任务简捷得多。
1.1.1 矩阵的直接输入 > A=[1,2,3;4,5,6] 或 >A=[1 2 3;4 5 6] 或 > A=[1 2 3 4 5 6] 显示矩阵元素: > A(2,1) ans=4
13
1.1.2 函数生成矩阵
> w=zeros(2,3) > u=ones(2,3) > v=eye(3,4) 前三列为单位矩阵,后一列为 零 > x=rand(1,3) 13 (0,1)均匀分布随机矩阵, randn(m,n) : m n标准正态 分布矩阵, hilb(n): n阶Hilbert矩阵, magic(n): n阶幻方矩阵
计算方法预备实验 Matlab使用练习
常用数学类科技应用软件简介
在当今几十个数学类科技应用软件中,就软件数学处理的原始内 核而言,可分为两大类。一类是数值计算型软件,如MATLAB, Xmath,Gauss等,这类软件擅长于数值计算,对处理大批数据 效率高;另一类是数学分析型软件,Mathematica,Maple等, 这类软件以符号计算见长,能给出解析解和任意精确解,其缺点 是处理大量数据时效率较低,MathWorks公司顺应多功能需求 之潮流,在其卓越数值计算和图形显示功能的基础上,又率先在 专业水平上开拓了其符号计算、文字处理、可视化建模和实时控 制功能,开发了适合多学科,多部门要求的新一代科技应用软件 MATLAB。
在70年代中期,Cleve Moler博士和其同事在美国国家科 学基金的资助下开发了调用EISPACK和LINPACK的 FORTRAN子程序库。EISPACK是特征值求解的 FORTRAN程序库,LINPACK是解线性方程的程序库。在 当时,这两个程序库代表矩阵运算的最高水平。 到70年代后期,身为美国New Mexico大学计算机系系主 任的Cleve Moler,在给学生讲授线性代数课程时,想教 学生使用EISPACK和LINPACK程序库,但他发现学生用 FORTRAN编写接口程序很费时间,于是他开始自己动手, 利用业余时间为学生编写EISPACK和LINPACK的接口程 序。
18
1.3.3 字符串 > s1='Hello'; s2='every'; s3='body'; >s=[s1,',',s2,' ',s3] , 则 s= Hello,every body > ss=s(1:5), 则 ss=Hello
19
1.4 函数 1.4.1 标量函数
三角函数: sin, cos, tan, cot, sec, csc, asin, acos, atan, acot, asec, acsc, sinh, cosh, tanh, asinh, acosh, atanh 其它基本函数: sqrt, exp, log, log10, abs, round(四舍五入取整), floor(向左方向取整), ceil(向右方向取整), fix(向0方向 取整), sign, real(取实部), imag, angle, rats(有理逼 近)
7
MATLAB的发展过程
MathWorks公司1993年推出了MATLAB 4.0版,1995年 推出4.2C版(for win3.X)1997年推出5.0版。1999年 推出5.3版.MATLAB 5.X较MATLAB 4.X无论是界面还是 内容都有长足的进展,其帮助信息采用超文本格式和PDF 格式,在Netscape 3.0或IE 4.0及以上版本,Acrobat Reader中可以方便地浏览。 时至今日,经过MathWorks公司的不断完善,MATLAB 已经发展成为适合多学科,多种工作平台的功能强大的大 型软件。在国外,MATLAB已经经受了多年考验。
1
MATLAB可以做什么
我们先来看一下MATLAB的强大功能 数值计算 函数定义 函数求值 线性代数 矩阵运算 特征向量 图形绘制 二维图形 三维图形 图像处理 优化计算 线性规划 概率统计 复变函数 微分方程 更多工具箱 控制理论 金融函数 不动点计算 信号处理 样条函数 偏微分方程