搜档网
当前位置:搜档网 › matlab导入数据绘图

matlab导入数据绘图

matlab导入数据绘图

Frequency(GHz)S 11(d B )

>> load('xt.csv');

>> plot(xt(:,1),xt(:,2))

>> xlabel('Frequency(GHz)');

>> ylabel('S_{11}(dB)');

另一种绘图方法:

load('xxt.dat');

plot(xxt(:,1),xxt(:,2));

xlabel('Frequency(GHz)');

ylabel('S_{11}(dB)');

hold on

load('xr.csv');

plot(xr(:,1),xr(:,2))

注意:在load 文件xr.csv 之前,应将第一行中的文字删除!!!

实验八MATLAB文件操作与数据导入导出

实验八 Matlab 文件操作与数据接口 一、实验目的 1、熟练掌握工作区变量的文件操作; 2、熟练掌握文本文件的读写操作; 3、熟练掌握格式化文本文件的输入输出语句的执行 4、了解二进制文件、Mat文件的读写操作 二、实验仪器与软件 1. PC计算机 2. Matlab软件 三、实验原理 1. 二进制文件与文本文件的区别: 将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII 码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bi t),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。 从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为: ASCII码:00110101 00110110 00110111 00111000 ↓↓↓↓ 十进制码:5678

MATLAB中plotyy函数详解:matlab双Y轴作图

Matlab plotyy画双纵坐标图实例 x = 0::20; y1 = 200*exp*x).*sin(x); y2 = *exp*x).*sin(10*x); [AX,H1,H2] = plotyy(x,y1,x,y2,'plot'); set(AX(1),'XColor','k','YColor','b'); set(AX(2),'XColor','k','YColor','r'); HH1=get(AX(1),'Ylabel'); set(HH1,'String','Left Y-axis'); set(HH1,'color','b'); HH2=get(AX(2),'Ylabel'); set(HH2,'String','Right Y-axis'); set(HH2,'color','r'); set(H1,'LineStyle','-'); set(H1,'color','b'); set(H2,'LineStyle',':'); set(H2,'color','r'); legend([H1,H2],{'y1 = 200*exp*x).*sin(x)';'y2 = *exp*x).*sin(10*x)'}); xlabel('Zero to 20 musec.');

title('Labeling plotyy'); Q:右边用蓝色圈起来的tick能去掉吗由于用plotyy画图,为了使图尽量地显示出来,用了set(AX(1),'YLimMode','auto'),但这样可能会导致左边AX(1)和右边AX(2)的tick的间距不一样,影响美观。或者说能不能使plotyy画出的图两边的tick间距是一样的,这样在图形右边的tick就会重合在一起. A:如果只是想让plotyy的图美一些,可以使用其如下形式的调用方式: [AX,H1,H2] = plotyy(...) 其中AX(2)就是右边Axes对象的句柄,拿到它以后就可以set或者get来处理了,也可以把其ytick关掉。 A:也可以用line语句来画,就没有左边和上边的线了。 Q:plotyy(X1,Y1,X2,Y2,FUN1,FUN2),FUN1和FUN2应该怎么写 A:这两个FUN代表plotyy不一定要用两个plot,比如下面的例子,一条曲线用plot,一条用semilogy x1=1::100; x2=x1;

将PSCAD中的数据导入MATLAB

如何将PSCAD/EMTDC中的数据导入MATLAB中呢? 以接地极线路单线接地故障(将模型命名为WLDanjiedi01)为例进行详细的介绍:1、模型建立完毕,右击选择“Project Settings”出现如下界面 将”Save channels to disk?”选择为“Yes”,并在后面的“Output file”进行输出文件的命名,如例文件名命名为“WLDanjiedi01.out”(最好与模型名称一致),将模型保存至XX位置。 2、模型仿真完毕,在XX位置会生成一个名为“WLDanjiedi01.emt”的文件夹, 文件夹中后缀为“WLDanjiedi01-01.out到WLDanjiedi01-06.out”的文件储存着仿真所得到的数据;名为“WLDanjiedi01.inf”的文件是所有数据的说明,如果需要在MATLAB中进行编程处理数据,则要根据此文件中的说明在MATLAB中进行变量的定义。 3、在MATLAB中的工作窗口如下,

单击“Import data”找到“WLDanjiedi01.emt”目录,界面如下 下拉文件类型(T)选择“All Files(*.*)”出现如下界面 选择“WLDanjiedi01-01.out到WLDanjiedi01-06.out”中所需要的即可,例如导入“WLDanjiedi01-01.out”,选中后点击打开,经过一定时间会出现如下界面

选择“Next”,接着选择“Finish”即可完成数据的导入,此时MATLAB中的工作窗口如下,出现了“WLDanjiedi01-01”文件夹。 选中“WLDanjiedi01-01”,界面变成如下,单击“Plot(WLDanjiedi01-01)”会生成此文件夹所包含数据的波形图。

MATLAB导入CAD数据

用AutoCAD绘制平面公式曲线(如渐开线、心形线)、空间公式曲线(如螺旋线)以及公式曲面(如马鞍形曲面)是比较困难的,一般情况下,需要用AutoCAD开发程序编程,但多数程序比较复杂,尤其是公式曲面的绘制程序,需要多层嵌套循环,复杂且运行效率低。 快速且精确地绘制各种公式曲线、曲面恰恰是MATLAB的长项,但是MATLAB绘制的图形却不能直接用于机械零件设计。其中非常关键的一点,就是MATLAB绘制的曲线、曲面分别是由有限个点连接而成的折线和空间网格构成的,而在AutoCAD中绘制的曲线、曲面也是如此。因此,只需要把在MATLAB中绘制的公式曲线、曲面上所有的点坐标数据都提取出来,若能让AutoCAD正确识别,那么我们就可以在AutoCAD中精确地绘制这些曲线、曲面了。 本文介绍了一种快速、精确地绘制各种公式曲线、曲面的方法,即在AutoCAD中通过调用经过Excel处理的MATLAB数据实现。 二、AutoCAD和MATLAB的特点 MATLAB是非常优秀的科学计算、信号处理以及图形显示软件,它有自身的语言,与其他高级语言相比,MATLAB提供了一个人机交互的数学环境,并以矩阵作为基本的数据结构,可大大节省编程时间。另外,MATLAB不仅语法规则简单,容易掌握,调试方便,还可以存储中间结果,这使得MATLAB既可以快捷、精确地绘制各种公式曲线、曲面,又可以很方便地提取中间数据。 在工业设计领域,AutoCAD不仅被广泛应用于平面绘图,也可以用于三维建模,但在曲线、曲面造型方面不是很理想。它是开放型的人机交互系统,有多种语言接口,与外界的数据交换很灵活,这些特点使得它与MATLAB的结合成为可能。 三、结合MATLAB在AutoCAD中绘制曲线、曲面的原理及方法 1.原理 MATLAB中的矩阵数据虽然很容易提取,但由于它不是AutoCAD能识别的格式,因此不能直接被AutoCAD调用,需要先用Excel对从MATLAB中提取的数据进行编辑,转换成AutoCAD可以识别的格式,才能在AutoCAD中绘出曲线、曲面。 2.方法 由于在AutoCAD中绘制平面曲线、空间曲线和曲面的绘制命令不同,且数据结构也不同,因此结合MATLAB的绘制方法也稍有区别。这种绘制方法的关键就是把数据格式转换成AutoCAD的绘制命令所需要的数据格式,只要熟悉AutoCAD的数据结构,就可以举一反三。 (1)利用MATLAB得到公式曲面数据 1)在MATLAB中绘制出曲面 在MATLAB中输入如下命令: [th,r]=meshgrid((0:5:360)*pi/180,0:.05:1); %在极坐标系下设置一个73×21的网格矩阵,即圆周方向分为73份,半径方向分为21份,总共分了1533个点,节点越多,图形越精确% [X,Y]=pol2cart(th,r); %转化为笛卡儿坐标系% Z=X+i.*Y;

MATLAB绘图功能大全

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab 还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一、二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 (一)绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基本用法

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x 坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线: >> t=-pi:pi/100:pi; >> x=t.*cos(3*t); >> y=t.*sin(t).*sin(t); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。

导入包含数据的txt文件到MATLAB中

导入包含数据的txt文件到MATLAB中,并绘制图像 (2013-08-07 17:14:49) 转载▼ 标签: matlab 这回把步骤写得详详细细的,再不会忘记了吧,哇呀呀哎呀 第一步:先把txt文件复制到MATLAB的目录,或者在MATLAB中将路径指向txt文件所在路径。 第二步:右键存有数据的txt文件,选择Import Data... 第三步:Import Data之后就能看到txt里的数据被妥善安放好位置了,然后在Range右边的列表中选择Matrix,再点击绿色的对勾√导入数据:

第四步:导入完数据后,在workplace里能看到名为txt文件名的数组变量,就说明导入成功,这里是a:

第五步:最后就是编写语句了:plot(a(:,2),a(:,3),'o'),回车就会出现以o为点的散点图,如果是:plot(a(:,2),a(:,3),'*'),就得到以*为点的散点图;

绘图说明(本节来自互联网资源): 1.将数据表的各列数值分别赋予变量x、y、z等,格式如下:x=sheetname(:,1), y=sheetname(:,2), z=sheetname(:,3); 2.用命令plot(x,y,’XXXX’)绘制图形,单引号中的符号表示点线的属性,如线形、颜色、点的形状等,若用双对数坐标画图则命令为loglog(x,y); 3.在弹出的绘图界面中用菜单View—Property Editor编辑图形属性,如字体大小、数据点形状、横纵坐标名称、绘图区域颜色等; 4.绘图方法2:在数组编辑器上点击Plot Selection按钮,选择图形的类型即可; 5.绘图方法3:菜单File—New—Figure创建新的图形,在图形编辑器中Figure Palette面板点击2D Axes,点击右下角Add Data选择图表类型和坐标轴的数据源,度分布图将坐标轴由线形改为对数即可。 6.hold on/off命令:叠绘命令,切换绘图的保持功能; 7.绘制双纵轴: 7.1 plotyy(x1,y1,x2,y2):分别用左/右侧y轴表示两条曲线; 7.2 plotyy(x1,y1,x2,y2,FUN):FUN是字符串格式,用来指定绘图的函数名,可以由多个。

Matlab的各种数据读取、文件读写等操作汇总

Matlab 的各种数据读取、文件读写等操作汇总 MATLAB 提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。至于选择哪种机制,则根据下面两个因素决定:?用户所执行的 操作是导入数据还是导出数据;?数据的格式为文本格式、 二进制格式还是如HDF 之类的标准格式。将数据导入MATLAB 中最容易的方法就是使用导入数据模板(Import Wizard) ,使用该模板时不需要知道数据的格式,只需指定包含这些数据的文件,然后导入模板会自动处理文件内容。本章重点内容如下:? 文件的打开和关闭? 文本文件的读取?存写ASCII数据?二进制数据的读取? 二进制数据的存写? 使用I/O文件函数进行数据读写?MAT 文件的读写 2.1 文件的打开和关闭2.1.1 文件的打开无论是要读写ASCII 码文件还是二进制文件,都必须先用fopen 函数将其打开,在默认情况下,fopen 以二进制格式打开文件,它的使用语法如下:fopen ('filename', 'mode') 其中filename 表示要读写的文件名称,mode 则表示要对文件进行的处理方式,如下:rt :以只读方式(Reading)打开文件wt:以只写方式(Writing)打开文件at:以追加方式(Appending)打开文件,新内容将从原文件后面续写r+t:以同时读写方式打开文件w+t :以同时读写创建文件,原文件内容被清除

a+t :以同时读和追加(Reading and Appdending) 方式,原文件内容被保留,新内容将从原文件的后面开始At :以读写方式打开或创建文件,适用于对磁带介质文件的操作Wt :以写入方式打 开或创建文件,原文件内容被清除,适用于磁带介质文件的操作fopen 函数有两个返回值,一个是返回一个文件标志(file Identifier) ,它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。如果返回的文件标识是-1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限。另一个返回值就是message ,用于返回无法打开文件的原因。为了安全起见,最好在每次使用fopen 函数时,都测试其返回值是否为有效值。下面以脚本m 文件为例来声明文件的打开。例 2-1 %exam1.m[f,message]=fopen('fileexam1', 'r')if f==-1disp (message); % 显示错误信息end 若文件fileexam1 不存在,则显示如下信息。Cannot open file.existence?permissions?memory?... 例2-2 %exam2.m[f,message]=fopen('fileexam2', 'r');if f==-1disp (message); % 显示错误信息else disp(f);end 若文件fileexam2 存在,则返回f值。 2.1.2 文件的关闭一旦完成文件的读写,最好关闭文件,以便对其进行其他操作。这时就可以使用fclose 函数来关闭文件,其适用语法如下:fclose(f) 。其中 f 为打开文件的标志,若fclose 函数返回值为0 ,则表示成功关闭 f 标志的文件;若返回值为-1,

matlab文件的导入导出

GprMaxV2.0中GprMax2D输入文件的命令(1/2) 原创 修改人 修改时间 版本 微风无尘 微风无尘 2012.3.9 V1.1 实验环境: 操作系统:Windows 7 软件版本:MATLAB 7.1 & GprMaxV2.0 参考文献: GprMaxV2.0软件manual文件夹下的UserGuideV2.pdf。 GprMaxV2.0下载地址:https://www.sodocs.net/doc/5415921997.html,/Download.html 说明:翻译得不好,还望大家见谅,因为我也是边看边译的。 3.1 GprMax2D命令的一般注意事项 为了描述GprMax2D/3D命令及其参数,我们作以下约定: f表示浮点数(如1.5或15e-1、1.5e1) i表示整数

c表示字符 str表示字符串 file表示输入文件名 所有空间距离的基本单位为米 所有时间的基本单位为秒 所有频率参数的基本单位是Hz 3.2 GprMax2D 2.0版本共有32条命令:#title: #domain: #dx_dy: #time_step_stability_factor: #time_window: #messages: #number_of_media: #nips_number: #media_file: #geometry_file: #medium: #abc_type:

#abc_order: #abc_stability_factors: #abc_optimization_angles: #abc_mixing_parameters: #pml_layers: #box: #cylinder: #x_segment: #y_segment: #triangle: #analysis: #end_analysis: #tx: #rx: #rx_box: #snapshot: #tx_steps: #rx_steps: #line_source: #excitation_file:

matlab绘图详解

一.二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plot, semilogx, semilogy, loglog, polar, plotyy (1). 单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) 可以在图形中加标注和网格, 例2:给例1 的图形加网格和标注。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) title('简单绘图举例'); xlabel('单元下标'); ylabel('给定的矢量'); grid (2). 双矢量绘图(Double vector plotting):如x和y是同样长度的矢量, plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi; y=sin(x); plot(x,y) (3). 对数坐标绘图(ploting in logarithm coordinate): x轴对数 semilogx, y轴对数semilogy, 双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; subplot(2,2,1); plot(y); subplot(2,2,2); semilogx(y) subplot(2,2,3); semilogy(y); subplot(2,2,4); loglog(y) (4)极坐标绘图( Plotting in polar coordinate): polar(theta,rho) theta—角度, rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi; polar(t,sin(2*t).*cos(2*t)) 2. 多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a) x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。例1: x=0:pi/50:2*pi; y(1,: )=sin(x); y(2,:) =0.6*sin(x); y(3, :)=0.3*sin(x); plot(x,y) (b) x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例 2: x(1,: )=0:pi/50:2*pi; x(2,: )=pi/4:pi/50:2*pi+pi/4; x(3,: )=pi/2:pi/50:2*pi+pi/2; y=sin(x(1,: )); plot(x,y)

Matlab数据文件的读写

Matlab数据文件的读写 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍MATLAB中文件的读写和数据的导入导出。 了解MATLAB的基本数据操作 掌握MATLAB中文本文件的读写方式 掌握MATLAB通过界面导入导出数据 了解MATLAB中的基本输入输出函数 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。 13.1.1 文件的存储 MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。 1. 保存整个工作区 选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。 2. 保存工作区中的变量 在工作区浏览器中,右击需要保存的变量名,选择Save

As…,将该变量保存为MAT文件。 3. 利用save命令保存 该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下: ● save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。 ● save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。 ● save('filename', 'var1', 'var2', ...):保存指定的变量在filename 指定的文件中。 ● save('filename', '-struct', 's'):保存结构体s中全部域作为单独的变量。 ● save('filename', '-struct', 's', 'f1', 'f2', ...):保存结构体s中的指定变量。 ● save('-regexp', expr1, expr2, ...):通过正则表达式指定待保存的变量需满足的条件。 ● save('..., 'format'),指定保存文件的格式,格式可以为MAT 文件、ASCII文件等。 13.1.2 数据导入

excel中的数据导入matlab中

用Excel Link实现Excel与Matlab混合编程 Excel Link是一个在Windows环境下实现Excel与Matlab进行链接的插件。通过连接Excel 和Matlab,用户可以在Excel工作表空间和宏编程工具中使用Matlab的数值计算,图形处理等功能,不需要脱离Excel环境。同时由Excel Link来保证两个工作环境中的数据交换和同步更新。 1. Excel Link的安装和和设置首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示:安装完Excel Link后还需要在Excel中进行一些设置后才能使用。启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:选中Excel Link项。如果该项不存在,则通过浏览目录,在目录%MATLAB%toolboxexlink下找到excllink.xla文件,如下图示,并确定。选中ExcelLink项并确定后,在Excel中多了一个Excel Link工具条,如下图示: 经过以上的设置后就可以开始使用Excel Link了。 2. ExcelLink连接管理函数 (1) Matlabinit 该函数只能在宏子例程中使用。初始化ExcelLink和启动Matlab进程。只有在MLAutoStart 函数中使用“no”参数,才需要手动使用Matlabinit来初始化ExcelLink和启动Matlab进程,如果使用参数“yes”,则Matlabinit是自动执行的。 使用语法:Matlabinit (2) MLAutoStart 设置自动启动Matlab和ExcelLink。 在工作表中的使用语法: MLAutoStart("yes") MLAutoStart("no") 在宏中的使用语法: MLAutoStart "yes" MLAutoStart "no" 使用“yes”参数,则当Excel启动时,自动启动Matlab和ExcelLink;如果使用参数“no”,则当Excel启动时,不启动Matlab和ExcelLink。如果在此之前它们已经启动,则无任何影响。 (3) MLClose 终止Matlab进程并删除Matlab工作空间的所有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose (4) MLOpen 启动Matlab进程。如果Matlab进程已经启动,则MLOpen函数不进行任何操作。在使用MLClose关闭Matlab进程后使用MLOpen来重新启动Matlab。 在工作表中的使用语法: MLOpen() 在宏中的使用语法: MLOpen

matlab导出数据(fprintf,dlmwrite,xlswrite)

matlab导出数据(fprintf,dlmwrite,xlswrite) 1.用fprintf 函数写数据到txt,xls Example: x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt', 'w'); fprintf(fid, '%6.2f %12.8f\n', y); fclose(fid) tip:执行上述代码执行,肯定不会换行的,换行的问题试一下下面的代码 x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt', 'wt'); fprintf(fid, '%6.2f %12.8f\n', y); fclose(fid); x = 1; fid = fopen('exp.txt', 'w'); fprintf(fid, '%d', x); fclose(fid); 这次就没有问题了,我们要注意fopne的参数wt 而不是 w,这是matlab的在线帮助的东东 fid = fopen(filename, permission_tmode) on Windows systems, opens the file in text mode instead of binary mode (the default). The permission_tmode argument consists of any of the specifiers shown in the Permission Specifiers table above, followed by the letter t, for example 'rt' or 'wt+. On UNIX?systems, text and binary mode are the same. (UNIX is a registered trademark of The Open Group in the United States and other countries). 就是有两种读取模式binary or text. When choosing the binary model,No characters are given special treatment. 所以我们选择要注明text模式。 2. dlmwrite :将一个矩阵写到由分隔符分割的文件中。 在保存整数到文件时使用save存为ascii文件时,常常是文件里都是实型格式的数据(有小数点,和后面很多的0,看着很不方便)。于是要保存此类数据时,我们可以使用此dlmwrite命令。

教你如何用matlab绘图(全面)

强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一.二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 一.绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基本用法 plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:

数据导入和导出

数据导入和导出_01 数据对象 一、序列(Series) Eviews的序列包含了某个变量的一组观察值。在序列中与每个观察值相关联的是日期或者观察值的标签(序号)。对于工作文件中的日期型序列,假定观察值在整个时间区间上是按特定的时间频率(年、季、月、星期和日中之一)有规则地观察得到的;对于非日期型的序列,则假定观察值不遵从任何特定的频率。 1、建立序列(Creating a series) 建立序列的主要方法有几种。 (1)方法一,选择Object/New Objects再选择序列(series),此时允许给序列命名,或者让新序列记作untitled,点击OK。EViews打开新序列的电子数据表观察,新序列所有观察值被赋给了编码为NA的缺失数据。可以对它们进行编辑,或者用表达式给它们赋值。

(2)方法二,用数学表达式生成序列。点击Quick/Generate Series 并键入定义序列的表达式。这种方法的深入讨论参见:Working with Series。

2、编辑序列(Editing a series) 编辑序列,即对序列中的个别观察值进行编辑。步骤: 第一步,打开序列的电子数据表观察。如果序列的观察不显示为电子数据表观察,点击Sheet按钮或从序列的菜单上选择View/Spreadsheet,将观察改为序列缺省观察——电子数据表观察。 第二步,确保电子数据表观察处于编辑模式下。 EViews允许对电子数据表观察进行保护数据模式与编辑数据模式的设置,通过按压Edit +/-按钮在编辑模式与保护模式之间进行切换。 第三步,更改某一个观察值:在编辑模式下,选择单元格,键入数值,然后按EBTER。 注意,有些单元格始终处于保护模式。如果选择了一个处于保护模式下的单元格,EViews在编辑窗口显示信息:“the cell cannot be edi ted.”。EViews不允许对这类单元进行编辑。 第四步,完成数据编辑以后,还应点击Edit +/-,关闭编辑模式,以免数据受到意外的损害。 3、改变电子数据表的显示格式(Changing the Spreadsheet Display) EViews提供了几种不同的格式,在电子数据表中查看序列中的数据。

matlab的各种数据读取(txtdatmat等格式)文件打开关闭

matlab的各种数据读取(txt,dat,mat等格式),文件打开 关闭 MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。至于选择哪种机制,则根据下面两个因素决定:●用户所执行的操作是导入数据还是导出数据;●数据的格式为文本格式、二进制格式还是如HDF之类的标准格式。将数据导入MATLAB中最容易的方法就是使用导入数据模板(Import Wizard),使用该模板时不需要知道数据的格式,只需指定包含这些数据的文件,然后导入模板会自动处理文件内容。本章重点内容如下:●文件的打开和关闭●文本文件的读取●存写ASCII数据●二进制数据的读取●二进制数据的存写●使用I/O文件函数进行数据读写●MAT 文件的读写 2.1 文件的打开和关闭2.1.1 文件的打开无论是要读写ASCII码文件还是二进制文件,都必须先用fopen函数将其打开,在默认情况下,fopen以二进制格式打开文件,它的使用语法如下:fopen ('filename', 'mode')其中filename表示要读写的文件名称,mode则表示要对文件进行的处理方式,可以是表2-1中的任一字符串。表2-1 文本文件打开的

模式mode意义rt以只读方式(Reading)打开文件wt以只写方式(Writing)打开文件at以追加方式(Appending)打开文件,新内容将从原文件后面续写r+t以同时读写方式打开文件w+t以同时读写创建文件,原文件内容被清除a+t以同时读和追加(Reading and Appdending)方式,原文件内容被保留,新内容将从原文件的后面开始At以读写方式打开或创建文件,适用于对磁带介质文件的操作Wt以写入方式打开或创建文件,原文件内容被清除,适用于磁带介质文件的操作fopen函数有两个返回值,一个是返回一个文件标志(file Identifier),它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。如果返回的文件标识是–1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限。另一个返回值就是message,用于返回无法打开文件的原因。为了安全起见,最好在每次使用fopen函数时,都测试其返回值是否为有效值。下面以脚本m文件为例来声明文件的打开。例 2-1 %exam1.m[f,message]=fopen('fileexam1', 'r')if f==-1disp (message); %显示错误信息end若文件fileexam1不存在,则显示如下信息。Cannot open file.existence?permissions?memory?... 例2-2 %exam2.m[f,message]=fopen('fileexam2', 'r');if

MATLAB绘图(第2讲)解析

第四章 MATLAB 绘图 复习: 一 、 MATLAB 绘图的一般步骤 1、 取点。 2、 输入作图命令,绘制图形。 二、二维图形的绘制 直角坐标系中,二维曲线的作图命令有:Plot 、fplot 、ezplot Plot ():plot(X,’s ’),plot(x,y,’s ’),plot(X,Y,’s ’) Fplot ():ezplot(‘f ’),ezplot(‘f ’,[xmin,xmax]), ezplot(‘x(t)’,’y(t)’,[xmin,xmax]),fplot(‘fun ’,lims) ezplot ():polar(theta ,rho ,’s ’),ezpolar(‘f ‘),ezpolar(‘f ‘ ,[a ,b]) 第六讲 二 极坐标系由一条带箭头的射线构成,射线端点称为极坐标的极点,射线称为极轴。在极坐标系中平面内的点可极角theta 、极径rho 确定,一般极径rho 被看作是极角theta 的函数,即rho=f(theta) 命令格式 说 明 polar(theta ,rho ,’s ’) 输入时theta 可换为x ,rho 可换为y ,用法与plot 命令相同 ezpolar(‘f ‘) 在默认区间()π2,0上绘制函数rho=f(theta)的图形,用法与ezplot 命令相同。 ezpolar(‘f ‘ ,[a ,b]) 在区间(a ,b )上绘制函数rho=f(theta)的图形 例:阅读并运行下列程序: 1、心形线: 一般方程形式:)cos 1(θ±=a r , )sin 1(θ±=a r (a 为常数) >> x=0:0.05*pi:2*pi; >> y=2*(1+cos(x)); >> polar(x,y)

示波器CSV波形数据导入Matlab进行FFT分析

示波器CSV波形数据导入Matlab进行FFT分析 1,将CSV文件拖到workspace窗口,弹出的Import Wizard窗口中,点选“Next”,新窗口中选第二项“Create vectors from each column using column names”,点“Finish”。这时workspace 出现2个向量“Volt”和“Second”。 说明:若此时选中“Volt”,右上角的绘图命令变成可选,点“plot(Volt)”则出现如图: 图中横坐标600表示示波器共记录了600个点,纵坐标为示波器的屏幕显示值(未乘探头倍率),因此问题在于改变横坐标为真实时间,改变纵坐标为真实值。结合示波器示数(可另存为图片格式备用)。 下面的步骤即是以Volt替换mdl文件生成的变量u,以便于使用mdl中的powergui的FFT 工具进行分析。注意示波器采样点数600应与真实时间对应,并取时间上的600个时间点。纵坐标表示电压幅值,要显示为真实值时,则要考虑示波器探头倍率或示波器内部是否对采样波形进行了衰减,在程序中应予以对应。 具体可将波形在示波器上保存为wfm格式,实验结束后用示波器调出波形,调速为合适波形后,保持窗口不变,分别另存为图片格式和CSV数据格式,将CSV数据导入Matlab后,plot 出来的图形与上述图片格式相对照,可知是否为真实时间与幅值。

可见,横坐标为120ms,纵坐标为10倍衰减后的值,在编程中应有相应体现。 2,打开forFFT.mdl,并运行仿真,完成后wordspace出现新的变量“u”和“tout”; Mdl文件中scope的设置已设置为保存波形名称为u,Structure with time格式,不限制最后5000个点。 由于powergui自带的FFT功能只能对该mdl文件中的scope保存的变量u进行分析,以下考虑将u中的数据替换为示波器保存的数据,注意横坐标真实时间点数0~0.1198s,(间隔0.0002s 包含两端共计600个点)与采样点数600相对应。 3,打开forFFT.m,并运行该文件,完成后出现FFT窗口如图:

Matlab学习系列-011. 数据的读写、导入及导出

011. 数据的读写、导入及导出 在编写一个程序时,经常需要从外部导入数据,或者将程序运行的结果保存为文件。 一、*.txt或*.dat数据的导入与导出 1.load函数——数值数据(格式一致)导入 注:load函数可以导入.mat文件,也可以导入变量Load(‘1.mat’,’y’) 例1.‘examp01.txt’文件如下: 1.6218e-005 6.0198e-005 4.5054e-005 8.2582e-005 1.0665e-005 8.6869e-005 7.9428e-005 2.6297e-005 8.3821e-006 5.3834e-005 9.6190e-005 8.4436e-006 3.1122e-005 6.5408e-005 2.2898e-005 9.9613e-005 4.6342e-007 3.9978e-005 5.2853e-005 6.8921e-005 9.1334e-005 7.8176e-006 7.7491e-005 2.5987e-005 1.6565e-005 7.4815e-005 1.5238e-005 4.4268e-005 8.1730e-005 8.0007e-005 代码: x1 = load('examp01.txt') ; % 用load函数载入文件examp01.txt中的数据 x1 = load('examp01.txt', '-ascii'); % 用-ascii选项强制以文本文件方式读取数据 load('examp01.txt'); %载入数据给变量examp01 运行结果:x1 = 1.0e-004 * 0.1622 0.6020 0.4505 0.8258 0.1066 0.8687 0.7943 0.2630 0.0838 0.5383 0.9619 0.0844 0.3112 0.6541 0.2290 0.9961 0.0046 0.3998 0.5285 0.6892 0.9133 0.0782 0.7749 0.2599

相关主题