数学建模-The MATLAB Notebook v1
- 格式:doc
- 大小:40.50 KB
- 文档页数:2
第四章MATLAB的图视化功能1.M ATLAB的图视化概论数据图视化能使人们用视觉器官直接感受到数据的许多内在本质。
因此,数据可视化是人们研究科学、认识世界所不可缺少的手段。
MATLAB不仅数值计算方面是一个优秀的科技应用软件,在数据可视化方面也具有上佳表现。
MATLAB具有二维、三维乃至四维的图形表现能力。
可以从线型、边界面、色彩、渲染、光线、视角等方面把数据的特征表现出来。
MAT LAB的图视化功能是建立在一组“图形对象”的基础之上的。
“图形对象”的核心是图形的句柄(Granhics Handle)操作。
MATLAB的有两个层次的绘图指令:(1)底层(Low-leve)绘图指令:是直接对句柄进行操作。
底层绘图指令控制和表现数据图形的能力比高层绘图指令强。
特点是灵活多变,较难掌握。
(2)高层(High-level)绘图指令:建立在底层指令上的绘图指令。
最常用的是高层绘图指令。
高层绘图指令简单明了容易掌握,本章介绍高层绘图指令。
本章内容按“前易后难”的原则安排。
最常用的二个绘图指令是: plot ;mesh2.二维图形(1)plot函数以下例子用来体会plot 的基本的绘图原理。
例:绘向量得折线图:hold onx=[2.3,4.3,3,4,4.9,1.5,2.8,4.6,5.5];plot(x)plot(x,'ro')注1:plot 绘图的基本素材是二维点组(xi,yi)(1=1,2,….n)。
二维点组(xi,yi)(1=1,2,….n)的定义形式: *1) x=[2.3,4.3,3,4,4.9,1.5,2.8,4.6,5.5];*2) y=0:0.1:5这种定义方法,默认横坐标是自然数(1,2,3,4…..)*3) t=0:pi/100:2*pix=sin(t)*4) x=[1.5,2.3,2.8,3,4,4.3,4.6,4.9,5.5];y=x.^2这种定义方法,要注意自变量保持升序。
数据基本操作一般要处理的数据量都比较大,所以需要将数据导入。
读入图片:[X,map]=imread('filename.后缀');X 是一个三维的数据阵。
显示图片:imshow(X);将真彩转换成灰度:x1=grb2gray(X);将三维转化成二维。
翻转图片(翻转矩阵):x2=flipud(x1);上下翻转ud x3=fliplr(x1);左右翻转lr例:x1 = 1 2 3 4 5 6 7 8 9 x3 =3 2 1 6 54 9 8 7从Excel 中导入数据:b=xlsread('filename.xls');载入ASC 码文件(txt or six)并赋值给X: X=load('filename.后缀'); 导入同时赋值给X ,如果不想赋值可以这样写:load filename.后缀; 上述导入数据的前提是事先将数据文件放入matlab 的work 文件夹下。
如果没有放在work 文件夹下还可以这样:X=load('文件路径');设定观察区域:axis([-2 8 -6 12])横坐标最小值为-2,最大值为8;纵坐标最小值为-6,最大值为12fzero 的用法: x=fzero(@cos,[1,2]) 求cos(x)在区间[1,2]区间内的零点。
clear all ,clc;x=fzero(@cos,[1 2]) 结果:x =1.5708如果函数非系统内置,则需自己编写函数文件,格式如下: function y=myfun(x)%函数声明 y=x.*sin(x)+exp(x);%函数定义写完后保存并运行,文件名默认为函数名,不要更改,本例文件名即为myfun 函数求导:diff()(x f ,n); n 表示n 阶导数。
求不定积分: int ()(x f ); 求定积分:quad (fun ,n ,m );fun 为被积函数句柄(被积函数写成函数文件),m 、n 分别为积分上下限。
N=8;n=0:N-1; %FFT的变换区间N=8x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k8=fft(x4n,8); %计算x4n的8点DFTX5k8=fft(x5n,8); %计算x5n的8点DFTN=16;n=0:N-1; %FFT的变换区间N=16x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k16=fft(x4n,16); %计算x4n的16点DFTX5k16=fft(x5n,16); %计算x5n的16点DFTsubplot(2,2,1);stem(abs(X4k8)); %绘制8点DFT的幅频特性图title('(4a) 8点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');subplot(2,2,3);stem(abs(X4k16)); %绘制16点DFT的幅频特性图title('(4b)16点DFT[x_4(n)]');xlabel('ω/π');ylabel('幅度');subplot(2,2,2);stem(abs(X5k8)); %绘制8点DFT的幅频特性图title('(5a) 8点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');subplot(2,2,4);stem(abs(X5k16)); %绘制16点DFT的幅频特性图title('(5b)16点DFT[x_5(n)]');xlabel('ω/π');ylabel('幅度');Fs=64;T=1/Fs;N=16;n=0:N; %FFT的变换区间N=16x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T); %对x6(t)16点采样X6k16=fft(x6nT,16); %计算x6nT的16点DFTX6k16=fftshift(X6k16); %将零频率移到频谱中心Tp=N*T;F=1/Tp; %频率分辨率Fk=-N/2:N/2-1;fk=k*F; %产生16点DFT对应的采样点频率(以零频率为中心)subplot(3,1,1);stem(fk,abs(X6k16),'.');box on %绘制8点DFT的幅频特性图title('(6a) 16点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');N=32;n=0:N; %FFT的变换区间N=16x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T); %对x6(t)32点采样X6k32=fft(x6nT,32); %计算x6nT的32点DFTX6k32=fftshift(X6k32); %将零频率移到频谱中心Tp=N*T;F=1/Tp; %频率分辨率Fk=-N/2:N/2-1;fk=k*F;subplot(3,1,2);stem(fk,abs(X6k32),'.');box on %绘制8点DFT的幅频特性图title('(6b) 32点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');N=64;n=0:N; %FFT的变换区间N=16x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T); %对x6(t)64点采样X6k64=fft(x6nT,64); %计算x6nT的64点DFTX6k64=fftshift(X6k64); %将零频率移到频谱中心Tp=N*T;F=1/Tp; %频率分辨率Fk=-N/2:N/2-1;fk=k*F; %产生16点DFT对应的采样点频率(以零频率为中心)subplot(3,1,3);stem(fk,abs(X6k64),'.'); box on%绘制8点DFT的幅频特性图title('(6a) 64点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度');。
第四讲 MATLAB 的Notebook1 Notebook简介Notebook把Matlab和Microsoft word 集成为一体,为文字处理、科学计算和数据可视化提供一个统一的环境.它利用Word进行文字处理,利用Matlab进行计算,在前台Word环境下输入Matlab命令,交给后台的Matlab运行,并将所得结果送回前台Word环境.2 Notebook安装Matlab5.3以前的版本在安装过程中需提示告知winword.exe所在的目录和template的路径Matlab5.3的版本会自动搜索所需的目录安装完后会在生成\matlab\notebok的目录,在\Microsoft Office\Template下存在两个模块文件M-book.dot也可在 Matlab的命令窗口进行设置notebook('-setup')Welcome to the utility for setting up the MATLAB Notebookfor interfacing MATLAB to Microsoft WordChoose your version of Microsoft Word:[1] Microsoft Word for Windows 95 (Version 7.0)[2] Microsoft Word 97[3] Microsoft Word 2000[4] Exit, making no changesMicrosoft Word Version: 3You will be presented with a dialog box. Please use it to selectyour copy of the Microsoft Word 2000 executable (winword.exe).Press any key to continue...You will be presented with a dialog box. Please use it toselect a Microsoft Word template (.dot) file in one of yourMicrosoft Word template directories. We suggest that you specifyyour normal.dot file.Press any key to continue...Notebook setup is complete.在Windows 2000 or XP下,MATLAB6.5的Notebook的设置比较简单notebook -setupWelcome to the utility for setting up the MATLAB Notebookfor interfacing MATLAB to Microsoft WordChoose your version of Microsoft Word:[1] Microsoft Word 97[2] Microsoft Word 2000[3] Microsoft Word 2002 (XP)[4] Exit, making no changesMicrosoft Word Version: 2Notebook setup is complete.在Windows XP下,MATLAB7.01的Notebook的设置>> notebook -setupWelcome to the utility for setting up the MATLAB Notebookfor interfacing MATLAB to Microsoft WordChoose your version of Microsoft Word:[1] Microsoft Word 97[2] Microsoft Word 2000[3] Microsoft Word 2002 (XP)[4] Microsoft Word 2003 (XP)[5] Exit, making no changesMicrosoft Word Version: 2Notebook setup is complete.在Windows XP下,MATLAB7.10的Notebook的设置(Word2003)>> notebook -setupWelcome to the utility for setting up the MATLAB Notebookfor interfacing MATLAB to Microsoft WordSetup complete3 启动notebook两种启动方式:一是在MATLAB Command窗口运行notebook,另一种在Windows下启动word file菜单新建 M-book.dot4 Notebook的菜单定义输入细胞定义自初始化细胞定义计算区将细胞转换成文本删除M-book 文件中的所有输出细胞定义细胞群将细胞群转换为单细胞隐藏细胞标志输出细胞嵌入图形运行当前细胞或细胞群运行当前计算区运行M-BOOK中所有的细胞循环运行细胞将MATLAB从后台送到前台Noebook参数设置5 Notebook基本使用方法5.1 文档输入5.2MATLAB命令的输入、运行和输出* 输入合法的MATLAB的命令和注系的文本* 通过命令define input cell 将其定义为输入细胞define autoint cell将其定义为自活细胞(启动M-BOOK时能自动送去运算) * 运行输入细胞和自活细胞* 其结果为输出细胞,包括数据、图形和错误A=[1,2,3;4,5,6;7,8,0],inv(A)A = 1 2 34 5 67 8 0ans =-1.7778 0.8889 -0.11111.5556 -0.7778 0.2222-0.1111 0.2222 -0.1111A=[9,2,3;4,5,6;7,8,0],B=fliplr(A)A =9 2 34 5 67 8 0B =3 2 96 5 40 8 75.3 细胞群及其作用细胞群:多行输入细胞或自活细胞组成一个整体用途:为保证MATLAB命令结构(如循环结构、条件结构)的完整,必须使用细胞群为保证输出结果(如图形)的完整,必须使用细胞群clear Array x=0:10;for k=1:10plot(x,y)hold onendhold offclearclft=0:pi/100:2*pi;x=sin(t);y=cos(t);plot(t,x)hold onplot(t,y)5.4 计算区及作用计算区:由一个由文本、输入细胞和输出细胞组成的连续区,用于描述某个具体作业或问题其定义和执行是define calc zoneEvaluate calc zone5.5 细胞文本化及目的细胞文本化是将输入细胞或细胞群,通过undefine cells命令转化为文本目的是切断了与输出细胞的联系,不会因为输入细胞的改变而改变5.6 Notebook的参数设置主要指数据输出格式和图形输出参数的设置6 注意事项* 工作空间初始化(用clear清除内存的变量和函数,防止相互干扰)* MATLAB指令必须在英文状态下输入,包括标点符号* Notebook与中文Word的冲突M-book.dot属于英文模板,可以通过菜单“格式”“样式和格式”“新样式”“格式”“字体”将英文模板变为具备中文处理能力的中文M-book.dot,最后保存该模板。