matlab如何一个一个从文件读取数据
现在的文件类似于20.50.60.70.80.91.0第一行是点的个数,剩下的行是xyz坐标。如果在c语言里面,我们可以ifstreamfin("file.txt")fi...
现在的文件类似于
2
0.5 0.6 0.7
0.8 0.9 1.0
第一行是点的个数,剩下的行是x y z坐标。如果在c语言里面,我们可以
ifstream fin("file.txt")
fin>>num;
for(int i=0; i<num; i++)
{
fin>>array[i][0]>>array[i][1]>>array[i][2];
}
那么在matlab里面我们如何实现上面的代码呢? 展开
2
0.5 0.6 0.7
0.8 0.9 1.0
第一行是点的个数,剩下的行是x y z坐标。如果在c语言里面,我们可以
ifstream fin("file.txt")
fin>>num;
for(int i=0; i<num; i++)
{
fin>>array[i][0]>>array[i][1]>>array[i][2];
}
那么在matlab里面我们如何实现上面的代码呢? 展开
展开全部
你这个是保持成.txt文件,还是excel表格。
下面我的这个回答中,有关于txt格式文件读取的函数。你可以看一下。
http://zhidao.baidu.com/question/360172958047097092.html
关于matlab读取txt文件的讨论网上有很多,你搜一下就出来了。一般最常用的就是fopen和textscan函数。
注意:excel文件的读取,要求电脑上必须要装office。我的电脑用的是wps所以不能使用matlab读取excel文件。
下面我的这个回答中,有关于txt格式文件读取的函数。你可以看一下。
http://zhidao.baidu.com/question/360172958047097092.html
关于matlab读取txt文件的讨论网上有很多,你搜一下就出来了。一般最常用的就是fopen和textscan函数。
注意:excel文件的读取,要求电脑上必须要装office。我的电脑用的是wps所以不能使用matlab读取excel文件。
更多追问追答
追问
谢谢您的回答。我的就是txt文件,每读一行,就给数组赋值。
您能不能将我上面的C代码翻译成matlab。
fid=fopen('file.txt');
%接下来我就不会写了,不知道如何逐行读数据。
追答
clear
clc %清除空间
fileid = fopen('C:\Users\Administrator\Desktop\test.txt')
data_n = textscan(fileid,'%f');
data = data_n{1}; %读取数据完毕
n = data(1) %第一个元素保存点的个数
fclose(fileid)
for index = 1:n
x(index) = data((index-1)*3 + 2); %这里由于坐标排成一排,需要这样分别读取坐标
y(index) = data((index-1)*3 + 3);
z(index) = data((index-1)*3 + 4);
end
n %显示结果
x
y
z
结果如下:
n =
2
x =
0.5000 0.8000
y =
0.6000 0.9000
z =
0.7000 1.0000
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询