matlab基础学习-文件操作

一、 EXCEL文件读写操作

1.1 读操作

命令:

<pre name="code" class="cpp"><span style="font-size:24px;">[data,text]  = xlsread(FileName, SheetName, Range);</span>
 

参数说明:

输入参数:

FileName : 要读取的文件名,如果不在当前目录下,要加上路径。

SheetName : 要读取的sheet名,不加默认读取sheet1。

Range : 要读取的范围,不加默认读取整个文件。

参考示例 :

示例1

sheet1:

123
456
abc
def
789

sheet2:
789
adc
101112


<pre name="code" class="cpp"><span style="font-size:24px;">[fp_num, fp_txt] = xlsread('matlab_test.xlsx','sheet1');
fp_num
fp_txt

fp_num =

     1     2     3
     4     5     6
   NaN   NaN   NaN
   NaN   NaN   NaN
     7     8     9

fp_txt = 

    'a'    'b'    'c'
    'd'    'e'    'f'</span>
 
 

 

示例2

<pre name="code" class="cpp"><span style="font-size:24px;">[fp_num, fp_txt] = xlsread('matlab_test.xlsx','sheet1','A1:C1');
fp_num
fp_txt

fp_num =

     1     2     3

fp_txt = 

     {}</span>
 
 

 

示例3

<pre name="code" class="cpp"><span style="font-size:24px;">[fp_num,fp_txt] = xlsread('matlab_test.xlsx','sheet2','A1:C1');
fp_num
fp_txt
fp_num =

     7     8     9

fp_txt = 

     {}</span>
 

1.2 写操作
命令:
 [STATUS,MESSAGE] = xlswrite(FILE,ARRAY,SHEET,RANGE)
 参数说明
STATUS : 
MESSAGE : 
FILE : 文件名,若该文件不在当前matlab目录下,要加上路径
ARRAY : 要写入的数值或者字符(字符串)
RANGE : 要写入的位置或范围


示例1:
<span style="font-size:24px;">a = 1:5;
xlswrite('matlab_test.xlsx',a,'sheet1','A8');</span>
表示从EXCEL文件中的A8位置开始写,由于a是行向量,因此1:5共5个数分别写入A8:E8五个单元格
<span style="font-size:24px;">a = a'
xlswrite('matlab_test.xlsx',a,'sheet1','A8');</span>
则a为列向量,1:5共5个数值从EXCEL文件的A8开始写,分别写入A8:A12五个单元格
行向量只能在EXCEL文件中按行来写,列向量也只能在EXCEL文件中按列来写
<span style="font-size:24px;">a = 1:5;
xlswrite('matlab_test.xlsx',a,'sheet1','A8:A12');</span>
则A8:A12中写入的内容都是1
原因如下:
1:5在EXCEL中写的时候只能按行来,所以指定a占据A8:A12,则表示占据了5行
数据是这么排列的
   A   B   C   D   E
8  1   2   3   4   5
9  1   2   3   4   5 
10 1   2   3   4   5
11 1   2   3   4   5
12 1   2   3   4   5
由于只能写入A8:A12这5个单元格,所以最后的结果就是A8:A12都写入了1,其余单元格没有写入任何值.
要想使一个矩阵写入的话,可以只指定一个开始的单元格作为左上角的数据存入的位置。
要想使一个行向量或者列向量重复写入在单元格中,如下:
1  2  3  4  5
1  2  3  4  5
1  2  3  4  5
则可以在写入的时候指定一个矩阵,则行(列)向量在写入的时候就会自己重复写,最终填满整个矩阵,
这样写比使用循环执行效率更高,指定矩阵的方法是给出左上角和右下角的坐标就可以了。如:B8:F12
<span style="font-size:24px;">xlswrite('matlab_test.xlsx',a,'sheet1','B8:F12');</span>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值