matlab导出数据(fprintf,dlmwrite,xlswrite).doc_第1页
matlab导出数据(fprintf,dlmwrite,xlswrite).doc_第2页
matlab导出数据(fprintf,dlmwrite,xlswrite).doc_第3页
matlab导出数据(fprintf,dlmwrite,xlswrite).doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

matlab导出数据(fprintf,dlmwrite,xlswrite)1.用fprintf 函数写数据到txt,xlsExample:x = 0:.1:1;y = x; exp(x);fid = fopen(exp.txt, w);fprintf(fid, %6.2f %12.8fn, y);fclose(fid)tip:执行上述代码执行,肯定不会换行的,换行的问题试一下下面的代码x = 0:.1:1;y = x; exp(x);fid = fopen(exp.txt, wt);fprintf(fid, %6.2f %12.8fn, y);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, followedby the letter t, for example rt or wt+. On UNIX systems, text and binary mode are the same. (UNIX is a registered trademark of TheOpen 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命令。使用方法:dlmwrite(filename, M)使用默认分隔符“,”将矩阵M写入文本文件filename中;dlmwrite(filename, M, D) 使用分隔符D分割数据,“t”表示tab分割,“,”为默认分割符;dlmwrite(filename, M, D, R, C)从矩阵M的第R行、第C列开始,作为要写矩阵块的左上角,将数据用D分割写入文件。其他用法有:dlmwrite(filename, M, attrib1, value1, attrib2, value2, .)dlmwrite(filename, M, -append)dlmwrite(filename, M, -append, attribute-value list) 例如: a = 1 2 3; 4 5 6; 7 8 9;dlmwrite(test.txt, a);则test.txt中的内容为:1,2,34,5,67,8,9而使用save a = 1 2 3; 4 5 6; 7 8 9;save tst.txt a -ascii;文本文件里的内容为: 1.0000000e+000 2.0000000e+000 3.0000000e+000 4.0000000e+000 5.0000000e+000 6.0000000e+000 7.0000000e+000 8.0000000e+000 9.0000000e+0003.xlswrite 写入excel4.fprintf和dlmwrite区别MATLAB在图像处理中的应用,实际是对图像矩阵的操做运算,MATLAB在图像处理中的常用的命令有:imread(): 从图像文件夹中读取图像的函数;imwrite(): 输出图像的函数;imshow(), image(): 图像显示于屏幕的函数;imcrop(): 对图像进行裁剪的函数;;imresize(): 实现对图像的插值缩放的函数;imrotate(): 用实现对图像的旋转。im2double(),double(): 将图像数组转化为double类型; im2uint8(),uint8(): 将图像数组转化为uint8类型;im2uint16(),uint16(): 将图像数组转化为uint16类型;关于上述的命令使用方法可以参考一些MATLAB方面的书籍或者用MATLAB自带的帮助(help or doc)命令.如 我想知道dwt2()命令的使用方法 可以执行下面的命令 help dwt2 或 doc dwt2系统就会告诉你它的使用要求和方法,如果系统说找不到对应的帮助文件,那就可能是你装的MATLAB里面没有这个命令,那很可能这个命令就不能使用.在图像数组的输出到文件的操作上,我发现fprintf比dlmwrite明显快很多,但这两个输出的数据格式有些差别,见下面操作: a=1 2 3;4 5 6;7 8 9a = 1 2 3 4 5 6 7 8 9fid = fopen(exp.txt,w); fprintf(fid,%2.0fn,a); fclose(fid); type exp.txt 1 4 7 2 5 8 3 6 9 fprintf输出是一列一列的从左到右输出。 dlmwrite(eg2.dat,a,n); type eg2.dat123456789dlmwrite输出是一行一行的从上到下输出。下面是一个比较简单的图像处理程序:clear;%清除当前工作区所有变量data=imread(E:2D前处理eg1.bmp);%从图像文件夹中读取图像eg1.bmpdata=double(data);%将图像数组data转化为double类型x,y=size(data);%求数组大小,x是data数组有多少行,y是data数组有多少列data1=imresize(data,x,y*2/1.732);%实现对图像的左右插值放大2/1.732倍x,y=size(data1);%求放大后图像数组大小fid = fopen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论