matlab文件格式|在matlab中如何控制数据的输出格式

matlab文件格式|在matlab中如何控制数据的输出格式的第1张示图

Ⅰ matlab读取带格式文本文件

fid=fopen('路径face.txt');a=textscan(fid,'%d%*s%s%*s%s%*s%s%*s%s%*s%*s');fclose(fid);data=nan(length(a{1}),5);data(:,1)=a{1};data(strcmp(a{2},'male)'),2)=0;data(strcmp(a{2},'female)'),2)=1;data(strcmp(a{3},'child)'),3)=0;data(strcmp(a{3},'teen)'),3)=1;data(strcmp(a{3},'alt)'),3)=2;data(strcmp(a{3},'old)'),3)=3;data(strcmp(a{4},'white)'),4)=0;data(strcmp(a{4},'black)'),4)=1;data(strcmp(a{5},'smiling)'),5)=0;data(strcmp(a{5},'serious)'),5)=1;data(strcmp(a{5},'funny)'),5)=2;

按你给的数据例子运版行结果权

Ⅱ 在matlab中如何控制数据的输出格式

1、第一步复在我们的电脑上打开制matlab,在命令行窗口中创建了一个变量str=12345.1123456789;,使用 format;str显示出来,可以看到默认是short格式,short是短整式,显示小数点后四位,如下图所示:

Ⅲ matlab能读取什么格式文件格式

1、用matlab读取avi 视频(只能读一定压缩各式的avi 电影,这是因为avi视频文件的编码有很多,而matlab只支持部分编码格式。可见blog.csdn.net/IdoIwill/article/details/2125838) aviinfo('d:\abc.avi'); %显示存在d 盘文件abc.avi 的信息,在matlab2010 版本中,该函数可以换成mmreader mov=aviread('abc:.avi'); %读入电影abc.avi movie(mov); %放映电影 2、将avi视频转成图片序列 mov=aviread('d:\abc.avi'); %读入 Vframes=size(mov,2); %读取视频的帧数,mov 为1*1179 struct,struct就是第4点所介绍的 for i=1: Vframes strtemp=strcat('d:\转换的图片\',int2str(i),'.','jpg'); %将每帧转成.jpg 的图片 imwrite(mov(i).cdata(:,:,), mov(i).colormap, strtemp); % 把图像写入磁盘 end 3、读取avi视频第index帧有三种使用方式(不适用于索引图): 第一种:mov=aviread(filename); % 读入视频 frame=mov(index); %读取avi 文件的第index 帧图像; img = frame.cdata; % 读取图像的颜色信息 第二种:frame = aviread(filename, index); img = frame.cdata; 第三种:mov = aviread(filename); frame = mov.cdata; img = mov{index}; 例:%读取第一帧图像 mov = aviread('highwayI_raw.AVI'); frame=mov(index); imshow(frame.cdata); 4、读取avi视频第index帧图像后,所储存帧格式是一个结构体(struct),该结构体有两个元素:cdata 和colormap 例: frame = aviread('highwayI_raw.AVI', i); frame.cdata 表示了一个数据数组,彩色图像就是3 维的,灰度图像就是2 维的。也就是相当于I=imread(‘abc.jpg’)后的数组I frame.colormap 见(help aviread) %%%%%了解了以上四点,处理视频文件就可以相当于图像文件一样处理了%%%% 5、将彩色图像转换为灰度图像,很简单: frame = aviread('highwayI_raw.AVI', i); f_gray = rgb2gray(frame.cdata); 这样就可以将文件的第i帧转换为灰度图像。 6、 创建avi视频文件 aviobj = avifile(filename) aviobj = avifile(filename, 'Param1', Val1, 'Param2', Val2,…) 描述: aviobj = avifile(filename) 创建一个AVI文件,其名称为filename,AVI文件对象的所有属性均取默认值。如果文件名中并不包含扩展名,则avifile为filename自动添加扩展名.avi。AVI是一种存储声音和图像数据的文件格式。 avifile返回一个指向AVI文件对象aviobj的句柄,使用该对象在其他函数中可以引用该对象。AVI文件对象支持控制被创建的AVI文件的各方面属性和方法。 aviobj = avifile(filename, 'Param1', Val1, 'Param2', Val2,…)使用指定的参数设置创建一个AVI文件。 参数说明表:用户也可以使用结构语法来设置AVI对象的属性。Avifile对象的所有属性名字和参数表中的名字一样,并且要完整(除了keyframe这个参数)。例如,设定质量属性为100可以使用如下的语法格式: aviobj = avifile('myavifile'); aviobj.quality = 100; 实例 这一实例显示如何使用函数avifile创建AVI文件example.avi。 t = linspace(0,2.5*pi,40); fact = 10*sin(t); fig=figure; aviobj = avifile('example.avi') [x,y,z] = peaks; for k=1:length(fact) h = surf(x,y,fact(k)*z); axis([-3 3 -3 3 -80 80]) axis off caxis([-90 90]) F = getframe(fig); aviobj = addframe(aviobj,F); end close(fig) aviobj = close(aviobj); 7、mmreader 类—创建一个视频文件读取对象 其实在 matlab2010 中,会建议采用mmreader、mmfileinfo等函数,如果使用aviread会出现警告如下: Warning: AVIREAD will be removed in a future release. Use MMREADER instead. 这是由于aviread接口需要要求avi文件时没有压缩的,这回导致其应用受到很大的 具体的mmreader 类描述可见matlab的help,以下摘自一些重点: mmreader类 是为了创建一个读取视频文件的多媒体读取对象 描述: 函数 mmreader可以读取所有的多媒体文件,返回值为一个结构体;然后可以用read 函数进行读取文件 mmreader 支持的文件格式由各个操作系统平台决定 Window: AVI(.avi)/MPEG-1(.mgp)Window Media Video(.wmv,.asf,.asx) Macintosh: AVI(.avi)/MPEG-1(.mpg)/MPEG(.mp4,.m4v)/苹果Quick Time movie(.mov) 以及被QuickTime在苹果系统上所支持的视频格式 Linux: 支持系统中所安装的GStreamer 0.10 支持的视频格式,包括AVI/Ogg Theora(.ogg) mmreader创建视频文件有两种 obj = mmreader(filename); obj = mmreader(filename, ‘PropertyName’, ‘PropertyValue’); 第一种只需提供(默认路径名)+文件名,就可以返回一个视频对象;使用第二种方法,可以设置属性名以及属性值obj具有的属性如下: BitsPerPixel (只读) 视频的每个像素的位数 Duration (只读) 每秒的总长度 FrameRate (只读) 每秒的帧率 Height (只读) 视频每帧图像的高度 Name (只读) 对象所对应的视频文件名 NumberOfFrames (只读) 视频流中的总帧数 Path (只读)视频文件所在的路径名 Tag 定义视频对象的标签(默认’’) Type (只读) 对象的类名—mmreader UserData 给用户自定义数据的区域 VideoFormat (只读) 视频文件压缩格式 Width (只读)视频每帧图像的宽度 通常obj对象配合read方法使用;read的使用方法如下: video = read(obj); video = read(obj,index); 或 video = read(obj, [index1,index2]) 其实第一种默认是read(obj, [1,inf]) 第一种方法读入obj视频对象的所有帧; 第二种方法读入obj视频对象的第index帧. 第一种方法返回的video对象是个4维数组,H-W-B-F H: 图像帧的高度 W: 图像帧的宽度 B: 图像帧的颜色通道 F: 图像帧的数目 第二种方法返回就是图像帧的数据,灰度图像返回二维数组,RGB24图像返回三维数组。 读取第一帧图像例子如下 obj = mmreader('abc.avi'); video = read(obj); img = video(:,:,:1); imshow(img);

Ⅳ 如何从matlab中读取"*.txt"文本文件的格式

根据你文本文件内容的不同可以有很多不同的读取方法,详见一、纯数据文件(没有字母和中文,纯数字)对于这种txt文档,从matalb中读取就简单多了例如test.txt文件,内容为“17.901 -1.1111 33.045 17.891 -1.1286 33.045 17.884 -1.1345 33.045”可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data……/next/finish 也可产生一个叫test的数据文件。二、中英文和数据如test1.txt“你好欢迎来到振动论坛vib.hit.e.cn1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555”这样的文件怎么读入数据呢?方法有多种,现举两个比较简单实用的。方法一:file/import data……/next/finish >> whosName Size Bytes Classdata 5×4 160 double arraytextdata 4×1 300 cell arrayGrand total is 54 elements using 460 bytes>> datadata = 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555>> textdatatextdata = '你好' '欢迎来到' '振动论坛' 'vib.hit.e.cn'方法二:[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。这里%s的个数和[a1,a2,a3,a4]对应。>> [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)a1 = '1' '2' '3' '4' '5'a2 = '11' '22' '33' '44' '55'a3 = '111' '222' '333' '444' '555'a4 = '1111' '2222' '3333' '4444' '5555'因以字符串的形式读入,所以有''。————————————————————————————————三、中文 数据 英文 混乱如test.txt你好1 11 111 1111欢迎来到2 22 222 2222振动论坛3 33 333 3333vib.hit.e.cn4 44 444 44445 55 555 5555说明:这种内容格式的文件用上面的方法是不行的。以下是由chinamaker编写的一种方法:fidin=fopen('test.txt'); % 打开test2.txt文件 fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值 fprintf(fidout,'%s\n\n',tline); % 如果是数字行,把此行数据写入文件MKMATLAB.txt continue % 如果是非数字继续下一次循环 endendfclose(fidout);MK=importdata('MKMATLAB.txt'); % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来 >> MKMK = 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555

Ⅳ matlab有几种文件类型

m文件.mmodel文件.mdlfigure文件.figdata文件.matstateflow文件.cdrreport generator文件.rpt

Ⅵ matlab 文件格式如何转换呢跪求大神指导

fidr=fopen('读文件名.txt','r');fidw=fopen('写文件名.txt','w');tr=fgetl(fidr);whileischar(tr)a=cellfun(@str2num,regexp(tr,'[s:]','split'));num=a(1);datar=reshape(a(2:end),2,[]);dataw=[];dataw(datar(1,:))=datar(2,:);tw=sprintf('%g,',dataw);tw=[tw(1:end-1)''num2str(num)];fprintf(fidw,[tw'']);tr=fgetl(fidr);endfclose(fidr);fclose(fidw);

如果你原有的文件每一行都是1 1:1 3:0.99539 4:-0.05889 这种格式

那么以上代码可以将每一行转为1,0,0.99539,-0.05889 1格式

第一第二行中,改为你原文件的文件名,和转格式后保存成的文件名

Ⅶ matlab 数据显示格式

如果以短整式显示(默认),则为如下:>> x = 1215.678978234756;>> format;x可以看到,数据显示时以科学计数法显示为: x = 1.2157e+03说明:在数据计算与显示输出时,常需要控制数据显示格式,matlab默认的数据显示格式是短整式(short),当数据为实数时,以小数点后4位的长度显示;当数据为整数时则以整数显示。数据显示格式以format指令控制。如果要以长格式(long)显示,那么可以输入如下指令:>> format long;x回车后输出如下: x = 1.215678978234756e+03如果需要短紧缩格式,也就是我们习惯的书写格式,可采用如下指令:>> format short g;x输出数据如下: x = 1215.7当然,也可以采用有理格式显示(近似分数)指令:>> format rational;x输出: x = 34039/28 需要知道的是,数据显示格式,并不会影响数据的实际数值大小,不会影响计算的精度,在计算过程中matlab是以约16位有效数字的。

Ⅷ MATlab可以读什么格式的视频文件

读视频文件一般用VideoReader命令,它支持的视频格式文件有:.avi,.mj2,.mpg,.wmv, .asf, .asx,.mp4, .m4v,.mov为后缀的文件,以及内Microsoft Media Foundation软件支持的所有格容式。

Ⅸ matlab程序如何输入特定格式数据

可以将存有数据的文件载入到MATLAB中,例如,所有的数据存在.xls或者.txt文件中,那么可以将他们直接载入到MATLAB中Data=xlsread('data.xls');Data=load('data.txt');这样,所有数据将以矩阵Data存在MATLAB中了,程序直接调用矩阵Data就可以了 出现这个错误是因为你的data.txt不在你MATLAB的当前工作目录下,你可以将data.txt拖到MATLAB的工作目录下,或者在当前工作目录下新建一个。总之是让MATLAB能找得到data.txt

Ⅹ matlab可以打开什么格式的文件

cmd窗口输入-guide 打开如下窗口: 切换到已经存在的gui,点击浏览便可打开fig文件,并能进行fig的修改编辑。

未经允许不得转载:山九号 » matlab文件格式|在matlab中如何控制数据的输出格式

赞 (0)