关于matlab读取.dat文件的数据,利用textread读取之后为cell,cell2mat转换时出错,
部分数据如下(2_2.dat):X坐标观测值0-7.99852-6.664-5.28186-3.98478-3.488910-1.0282%%数据读取代码:clear;c...
部分数据如下(2_2.dat):
X坐标 观测值
0 -7.9985
2 -6.66
4 -5.2818
6 -3.9847
8 -3.4889
10 -1.0282
%%数据读取代码:
clear;clc;
[x,y]=textread('2_2.dat','%s%s','headerlines',1);
n=length(x);
%%希望可以利用该数据进行计算和plot成图要将其转换为数据型,
M = cell2mat(x);
%%出现错误提示
%错误使用 cat
%串联的矩阵的维度不一致。
%出错 cell2mat (line 83)
% m{n} = cat(1,c{:,n});
%出错 Untitled (line 4)
%M = cell2mat(x)
%利用load读取时
load 2_2.dat;
%提示错误
错误使用 load
ASCII 文件 2_2.dat 的行号 1 中的文本未知
"X坐标"。
急!新人求助, 展开
X坐标 观测值
0 -7.9985
2 -6.66
4 -5.2818
6 -3.9847
8 -3.4889
10 -1.0282
%%数据读取代码:
clear;clc;
[x,y]=textread('2_2.dat','%s%s','headerlines',1);
n=length(x);
%%希望可以利用该数据进行计算和plot成图要将其转换为数据型,
M = cell2mat(x);
%%出现错误提示
%错误使用 cat
%串联的矩阵的维度不一致。
%出错 cell2mat (line 83)
% m{n} = cat(1,c{:,n});
%出错 Untitled (line 4)
%M = cell2mat(x)
%利用load读取时
load 2_2.dat;
%提示错误
错误使用 load
ASCII 文件 2_2.dat 的行号 1 中的文本未知
"X坐标"。
急!新人求助, 展开
展开全部
其实你原来的代码已经成功读取数据了,只需修改一个地方即可:
[x,y]=textread('2_2.dat','%s%s','headerlines',1); 中 '%s%s'表示读取字符串,如果改为'%f%f'则是读取浮点数,那么就不需要cell2mat转换了,修改后为:
[x,y]=textread('2_2.dat','%f%f','headerlines',1); % 此时x为第一列数,y为第二列数
plot(x,y) % 可以直接使用x,y
追问
原来是这样啊,真是太感谢了,可惜不能采纳你的回答了,那么如果我要用load来读取数据该怎么做呢
追答
load可以读取规则的数据,你去掉数据的第一行文本就可以读入了。
展开全部
% 用 dlmread
% Read ASCII-delimited file of numeric data into matrix
% Syntax
% M = dlmread(filename)
% M = dlmread(filename, delimiter)
% M = dlmread(filename, delimiter, R, C)
% M = dlmread(filename, delimiter, range)
fn = '2_2.txt';
dt = dlmread(fn,' ',1,0); % 读第2行开始的所有列
x = dt(:,1);
y = dt(:,2);
plot(x,y,'r-');
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询