Matlab的一个数据读取问题

2024-05-06 05:40

1. Matlab的一个数据读取问题

因为load这个函数的参数要求如下:

1 如果用命令行方式调用,load filename,则filename必须是不加引号的文件名。比如load nav
  所以,当你load d的时候,实际上matlab试图读取文件"d.mat",当然就找不到所以出错了。

2 如果用命令行方式调用的时候在文件名上加了引号,变成字符串了,matlab也能正确读取。

说明:由于无法跟踪进load的代码,所以不知道为什么加引号和不加的效果一样,不过我的推测是因为matlab的处理办法是把参数自动加上引号变成字符串,如果已经有引号的则不必重复加,然后在把这个字符串作为文件名处理。

3 如果用函数方式调用,load(filename,...),则filename必须是字符串。比如load('nav')或者load(d)都对。

Matlab的一个数据读取问题

2. matlab怎么读取文本文件中的数据?

方法一:
A=importdata(file,space,line)
其中,file是所读取的文件名,space是特定的分隔符,line是一个数字,指文本中字符串文字的行数,如上文的数据中line=4。
此代码的含义是,line行是title,line+1行到end是数据,按特定分隔符space读取数据。此方法可以读取文本在上和数据在下的文件。
A是一个sturct,其中A.data就是所需的数据了。
exapmle:
A=importdata('test.txt','
',4);%运行即可取得数据A.data
此方法也可以按以下操作获取:
在文件菜单中选择
file/import
data,按照提示进行操作至结束。
在
command
窗口中输入
>>
whos
Name
Size
Bytes
Class
data
5x4
160
double
array
textdata
4x1
300
cell
array
Grand
total
is
54
elements
using
460
bytes
>>
data
data
=
1
11
111
1111
2
22
222
2222
3
33
333
3333
4
44
444
4444
5
55
555
5555
>>
textdata
textdata
=
'你好'
'欢迎来到'
'百思论坛'
'www.baisi.net'
方法二:
[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)
说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%d,%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'
因以字符串的形式读入,所以有''。
文件内容形式二(假定文件名为test2.txt):
你好
1
11
111
1111
欢迎来到
2
22
222
2222
百思论坛
3
33
333
3333
www.baisi.net
4
44
444
4444
5
55
555
5555
说明:这种内容格式的文件用上面的方法是不行的。
方法三:
以下是由chinamaker编写的一种方法,但是需要重新建一个文本。
fidin=fopen('test2.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
%
如果是非数字继续下一次循环
end
end
fclose(fidout);
MK=importdata('MKMATLAB.txt');
%
将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来
>>
MK
MK
=
1
11
111
1111
2
22
222
2222
3
33
333
3333
4
44
444
4444
5
55
555
5555

3. matlab中怎样读取excel数据

读取sheet1中的所有数据
我们以03版excel为例,假设excel中数据为
默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。输入以上命令,回车
NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。
读取指定sheet中的数据
假如我们想读取第二个sheet中的数据,这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsread('example',2),回车
结果如下:
读取指定单元格中的数据
以sheet2中的数据为例
假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车,结果如下:
如果以上经验有用,请点击下方的有用按钮支持我的工作,谢谢!

matlab中怎样读取excel数据

4. 如何用matlab读取excel里面的数据

情形一:读取Excel文件


1
如果数据文件为excel文件(xls或者xlsx格式的文件),如下图所示的数据文件


2
我们只需要使用MATLAB中提供的系统函数xlsread函数即可,其主要的调用形式为:
a=xlsread('filename.xls');
其中a表示读入文件所保存的变量名称,filename.xls(或者filename.xlsx)表示excel数据文件,help帮助文档中对xlsread函数的介绍如下图所示:

3
对于上图所示的数据文件,我们只需要使用下面的命令进行读取即可:
A = xlsread('data.xlsx');

4
如果数据文件保存在excel的某个sheet中,我们的使用方式为:
 A = xlsread('data.xlsx','Sheet1');
END
情形二:写入Excel文件


如果需要把某个变量的存储的数据写入到excel文件(xls或者xlsx格式的文件),如下图所示的变量

我们只需要使用MATLAB中提供的系统函数xlswrite()函数即可,其主要的调用形式为:
xlswrite('filename.xls',variable);
其中variable表示需要写入Excel文件的变量名称,filename.xls(或者filename.xlsx)表示excel数据文件,help帮助文档中对xlswrite()函数的介绍如下图所示:

对于上图所示的数据文件,我们只需要使用下面的命令进行读取即可:
xlswrite('output.xlsx',A);

Excel数据文件

5. 如何用matlab读取excel里面的数据

下面我就通过实例介绍一下MATLAB如何导入excel数据。

读取sheet1中的所有数据

我们以03版excel为例,假设excel中数据为



默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。输入以上命令,回车



NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。

读取指定sheet中的数据

假如我们想读取第二个sheet中的数据,这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsread('example',2),回车



结果如下:



读取指定单元格中的数据

以sheet2中的数据为例


假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车,结果

如何用matlab读取excel里面的数据

6. matlab怎么读取excel的数据

读取sheet1中的所有数据
我们以03版excel为例,假设excel中数据为
默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。输入以上命令,回车
NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。
读取指定sheet中的数据
假如我们想读取第二个sheet中的数据,这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsread('example',2),回车
结果如下:
读取指定单元格中的数据
以sheet2中的数据为例
假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车,结果如下:
如果以上经验有用,请点击下方的有用按钮支持我的工作,谢谢!

7. matlab 数据读取问题

我们可以把这条语句分成两步来看:(1)首先,将矩阵按列排成一个列向量
data = data(:)这句话的意思是,将data中的所有数据按列排成一个列向量,原来data的大小是8×1500,排列之后就成为了12000×1。(2)其次,将矩阵进行转置
data=data(:)'注意,语句的最后一个字符是撇号(')。它表示将矩阵进行转置,原来的大小是12000×1,那么转置之后就为1×12000。
示例结果如下:

matlab 数据读取问题

8. 在matlab 中怎样读取矩阵中的数据

在matlab中怎样读取矩阵中的数据的方法。
如下参考:
1.打开原始的图图形文件,在matlab命令窗口中输入以下指令:图”)。

2.要查看图中包含的数据系统和相关属性,请在matlab命令窗口中输入以下代码,查看图中包含的数据和属性。

3.从上图可以看出,图中包含9个向量数据,如下图所示。

4.双击该部分,弹出相应的属性窗口,如下图所示。双击窗口中标记部分的黑线,x轴对应的坐标值将弹出。

5.双击数据,在matlab窗口中显示存储在对应变量中的数据,如下图所示。

6.最后,可以看到数据,如下图所示。