建模培训matlab教程之二图像及其补充

上传人:wm****3 文档编号:52188471 上传时间:2018-08-19 格式:PPT 页数:95 大小:2.11MB
返回 下载 相关 举报
建模培训matlab教程之二图像及其补充_第1页
第1页 / 共95页
建模培训matlab教程之二图像及其补充_第2页
第2页 / 共95页
建模培训matlab教程之二图像及其补充_第3页
第3页 / 共95页
建模培训matlab教程之二图像及其补充_第4页
第4页 / 共95页
建模培训matlab教程之二图像及其补充_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《建模培训matlab教程之二图像及其补充》由会员分享,可在线阅读,更多相关《建模培训matlab教程之二图像及其补充(95页珍藏版)》请在金锄头文库上搜索。

1、MATLAB 软件及其应 用王林君 江苏大学理学院Application of Matlab Language*1数据和函数的可视化*2引言 n世界顶级的数值计算工具软件MATLAB 具有极其强大的数据可视化功能,可制作具有出 版质量图形。n详细介绍MATLAB这一部分的内容可以 写一本书。n我们只能介绍MATLAB数据可视化的基 础,2-D数据可视化、3-D数据可视化初步。n二维图形是将平面坐标上的数据点连接起 来的平面图形。可以采用直角坐标系、对数坐标 、极坐标等形式。数据点可以用向量或矩阵形式 给出,类型可以是实型或复型。Date3Application of Matlab Langua

2、geDate4Application of Matlab LanguageDate5Application of Matlab Language3.1 二维曲线绘图的基本操作nplot指令的基本调用格式 (1)plot(x) nx为向量时,以该元素的下标为横坐标、元素值为纵坐标绘 出曲线 nx为实数二维数组时,则按列绘制每列元素值相对其下标的 曲线,曲线数等于x数组的列数。 nx为复数二维数组时,则按列分别以数组的实部和虚部为横 、纵坐标绘制多条曲线 (2)plot(x, y) nx、y为同维数组时,绘制以x、y元素为横纵坐标的曲线 nx为向量,y为二维数组、且其列数或行数等于x的元素数时 ,

3、绘制多条不同颜色的曲线 nx为二维数组,y为向量时,情况与上相同,只是y仍为纵坐 标。 (3)plot(x1, y1, x2, y2, ) n绘制以x1为横坐标、y1为纵坐标的曲线1,以x2为横坐标、 y2为纵坐标的曲线2,等等。 n其中x为横坐标,y为纵坐标,绘制y=f(x)函数曲线。 Date6Application of Matlab Language例3.1使用直角坐标系在0,2区间内,绘制曲线 x = 0:pi/100:2*pi; y = 2*exp(-0.5*x).*sin(2*pi*x); plot(x,y)Date7Application of Matlab Language例

4、3.2 使用参数方程绘制曲线绘制曲线t = -pi:pi/100:pi; x = t.*cos(3*t); y = t.*sin(t).2; plot(x,y)Date8Application of Matlab Language例3.3 绘制复杂曲线用图形表示连续调制波形 及其包络线。t=(0:pi/100:pi);%长度为101的时 间采样列向量 y1=sin(t)*1,-1;%包络线函数值, 是(101x2)的矩阵 y2=sin(t).*sin(9*t); %长度为101的调制波 列向量 t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3); plot(t,y1,r:,

5、t,y2,b,t3,y3,bo) axis(0,pi,-1,1)%控制轴的范 围 Date9Application of Matlab LanguageMatlab作图通过描点、连线实现,故在画一个曲线 图形之前,必须先取得该图形上的一系列的点的坐标( 即横坐标、纵坐标),然后将该点集的坐标传给Matlab 函数画图。 命令: PLOT(X,Y,S)PLOT(X,Y)-画实线 PLOT(X1,Y1,S1,X2,Y2,S2,Xn,Yn,Sn)-将多条线画在一起X,Y:向量,分别表示点集的横坐标和纵坐标线型y 黄色 . 点 - 连线 m 洋红 o 圈 : 短虚线 c 蓝绿色 x x-符号 -. 长

6、短线 r 红色 + 加号 - 长虚线1.曲线图Date10Application of Matlab Language解例 在0,2*pi用红线画sin(x),用绿圈画cos(x).x=linspace(0,2*pi,30); y=sin(x); z=cos(x); plot(x,y,r,x,z,g0)Date11Application of Matlab Language2.符号函数(显函数、隐函数、参数方程)画图(1)ezplotezplot(x(t),y(t),tmin,tmax) : 在区间tmin后输入变量名,检查变量的值。可以分析判断程序 的 正确性。 选择Debug菜单中的Con

7、tinue命令,程序继续运行,在断点处又暂停,再 检查变量的值,一直到发现问题为止。 切换工作空间,结束对程序的调试。打开编辑窗口中的Stack下拉列表框 ,从中选择Base,即将工作空间切换到主工作空间。然后选择Debug菜单中 的SetClear Breakpoint 命令清楚已设置的断点,在选择Continue命令,去除 白色箭头,完成调试。Date81Application of Matlab Language矩阵求逆与线性方程组求解5.6.1 矩阵的逆对于一个方阵A,如果存在一个与其同阶的方阵B ,使得:(I为单位 矩阵) 则称B为A的逆矩阵,当然,A也是B的逆矩阵。求方 阵A的逆矩

8、阵可 调用函数inv(A)。 例5.18 求方阵A的逆矩阵,且验证。A = 1,-1,1;5,-4,3;2,1,1;B = inv(A);A*Bans =1.0000 0 0-0.0000 1.0000 0-0.0000 0 1.0000Date82Application of Matlab Language用矩阵求逆方法解线性方程 组将包含n个未知数,由n个方程构成的线性方程组表示 为:其矩阵表示形式为:其中:Date83Application of Matlab Language求逆矩阵的方法解线性方程 组命令如下:A = 1,2,3;1,4,9;1,8,27;b = 5,-2,6;x =

9、 inv(A)*b %x = Abx =23.0000-14.50003.6667 也可以运用左除运算符求解。Date84Application of Matlab Language矩阵行列式值把一个方程看做一个行列式,并按行列式的规则求 值,称为行列式的值。在Matlab中,使用函数det(A)得到 。 例如:A = rand(5)A =0.9501 0.7621 0.6154 0.4057 0.05790.2311 0.4565 0.7919 0.9355 0.35290.6068 0.0185 0.9218 0.9169 0.81320.4860 0.8214 0.7382 0.4103

10、 0.00990.8913 0.4447 0.1763 0.8936 0.1389B = det(A)B =-0.0071 Date85Application of Matlab LanguageMatlab数值计算*86多项式(polynomial) 问题n 多项式的MATLAB表达n多项式由一个行向量表示该向量元素是该多项式的系数且按降幂次序排列 如:多项式x412x325x116由 行向量:p=1 -12 0 25 116表示。注意,必须包括具有零系数的项。 n 求解多项式的根?roots指令Date87Application of Matlab Language多项式(polynomi

11、al)问题n 举例:求解多项式x412x325x116的根p=1 -12 0 25 116p =1 -12 0 25 116r=roots(p)r =11.7473 2.7028 -1.2251 + 1.4672i-1.2251 - 1.4672iu MATLAB按惯例规定,多项式是行向量,根是列向量Date88Application of Matlab Language多项式(polynomial)问题n 已知多项式的根,求解多项式 ?n能!n使用poly指令 n 举例:由上例所得的根求其多项式 pp=poly(r)pp =1.0000 -12.0000 -0.0000 25.0000 11

12、6.0000即:x412x325x116Date89Application of Matlab Language多项式(polynomial)n 多项式的乘法(conv指令) n 举例:多项式a(x)=x32x23x4和b(x)= x34x29x16的乘 积。 a=1 2 3 4 ; b=1 4 9 16; c=conv(a, b) c =1 6 20 50 75 84 64u两个以上的多项式的乘法需要重复 使用conv. Date90Application of Matlab Language多项式(polynomial)n多项式加法: MATLAB没有提供进行加法运算的函数。 n如果两个多

13、项式向量大小相同,标准的数组加法有效。 把多项式a(x)与上面给出的b(x)相加。 d=a+b d =2 6 12 20 结果: d(x)= 2x36x212x20 n当两个多项式阶次不同,低阶的多项式必须用首零填补,使其 与高阶多项式有同样的阶次。 考虑上面多项式c和d相加: e=c+0 0 0 d e =1 6 20 52 81 96 84 结果: d(x)= x6+6x5+20x4+52x3+81x2+96x+84Date91Application of Matlab Language多项式(polynomial)n 多项式的除法(deconv) n 举例说明: c(x)=x66x520

14、x450x375x284x 64 除以b(x)= x34x29x16 c=1 6 20 50 75 84 64; b=1 4 9 16; q , r=deconv(c , b) q =1 2 3 4 r =0 0 0 0 0 0 0Date92Application of Matlab Language多项式(polynomial)n 多项式的导数 (polyder) n 举例:求b(x)= x34x29x16的导数。 b=1 4 9 16; d=polyder(b) d =3 8 9 结果为: 3x28x9 另外两种形式为:p = polyder(P,Q):求P*Q的导函数p,q = pol

15、yder(P,Q):求P/Q的导函数,导 数分子存入p,分母存入qDate93Application of Matlab Language多项式(polynomial)n 多项式的估值(polyval) n 举例:绘制p(x) = x34x27x10在-1, 3 段上的曲线。x=linspace(-1, 3); % choose 100 data points between -1and 3. p=1 4 -7 -10; v=polyval(p, x);plot(x, v); title(x3+4x2-7x-10); xlabel(x)Date94Application of Matlab Language多项式(polynomial)p

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

当前位置:首页 > 生活休闲 > 社会民生

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