matlab的IO操作复习
1.xlswrite或xlsread
报错:错误使用 xlswrite (line 219);错误: 服务器出现意外情况。
解决办法:在excel选项中把com加载项中的复选框全部去掉勾选,如下图。
进入excel选项中的加载项,选择com加载项,点击转到;
把com加载项中的复选框全部去掉勾选,然后‘确定’;
最后还要打开任务管理器,在进程中把带有EXCEL字样的进程全部关掉,否则还会报错。
关闭进程完毕后,再次执行xlswrite或xlsread语句就不会报错了。
2.imfinfo、print
imfinfo查看图片信息;
print输出图像,输出图片的大小与页面设置有关,可以通过命令printpreview调用页面设置对话框;
3.fopen
格式:fid = fopen(filename,mode),mode最常见三种‘r\’、’a‘、’w+‘;返回文件标识符;
返回值为-1、3、4、5等等,-1代表失败,1代表标准输出(到屏幕)不需要fopen,2代表标准错误无需fopen打开,3、4…代表代开文件成功;
最后fclose(fid);
4.使用r+、w+、a+模式操作文件时,文件指针不会回到文件的开头
使用fseek函数重新定位指针位置,status = fseek(fid,offset,origin):
fseek函数的寻找范围不能超过文件尾部EOF。
5.ftell、feof和frewind
ftell函数返回文件指针当前位置,position = ftell(fid);
frewind函数是设置文件指针到文件的首部,frewind(fid);
feof(fid)判断文件指针是否指向EOF,为真返回1,否则返回0;
fid = fopen(\'file1.dat\',\'w+\'); A = 1:10; fwrite(fid,A); fseek(fid,3,\'bof\'); fwrite(fid,11); fseek(fid,-2,\'eof\'); fwrite(fid,12);%注意,写一次(一个数)指针就会向后移动一个位置 pos = ftell(fid);%获取指针当前位置 % fseek(fid,-3,pos); fseek(fid,-3,\'cof\');%cof代表指针当前位置 fwrite(fid,13); frewind(fid);%指针移向文件首部 data = fread(fid); fclose(fid);
6.fscanf
data = fscanf(fid,\’%3d\’),按行读取,输出列向量;
data = fscanf(fid,\’%3d\’,[m,n]),输出m*n矩阵,但是这里要注意m和n的值保证合理性;
7.fprintf
fid = fopen(\'a.txt\',\'w\'); a = [1 2 3;4 5 6;7 8 9]; fprintf(fid,\'%d %d %d\n\',a); fclose(fid);
8.%*代表跳过
9.命令行关闭窗口
h = findall(0,\’type\’,\’figure\’);
delete(h);
close all force:强制关闭所有GUI窗口;