x [m] y [m] u [m] v [m]
-536.7353 -1444.5032 -486.6158 1518.5392
1054.0186 785.0653 -343.8835 -1310.6087
511.5855 -1624.7199 -1452.1901 991.2996
1087.9215 101.6176 -810.4654 -778.3841
1731.4143 121.3769 -1319.3822 -1207.7298
1890.9634 1444.5592 -598.7016 -2382.8830
-1231.8866 -60.5867 965.8078 843.2822
matlab如何读取txt文件
答案:3 悬赏:70
解决时间 2021-03-24 09:16
- 提问者网友:房东的猫
- 2021-03-23 15:08
最佳答案
- 二级知识专家网友:伤口狠精致
- 2021-03-23 15:41
N=load(路径/文件名.txt)
全部回答
- 1楼网友:陪伴是最长情的告白
- 2021-03-23 16:28
A=importdata('XXX.txt') XXX为你的路径和文件名字.
- 2楼网友:浪者不回头
- 2021-03-23 16:09
我这里有一个读取的实例你可以看一下
%% 格式化文本的读操作
%只读形式打开txt文件
file_t = fopen('mytxt.txt','r');
%以十进制读取,且读取的数据自动排成一列,排的顺序为:先从第一行左边到第一行右边,然后排第二行
a = fscanf(file_t,'%d');
%关闭文件
fclose(file_t);
%% 使用textscan读取多列数据
file_t = fopen('mytxt.txt','r');
%将原来的两列数据以数组原包(cell)的形式读取,cell共有两个元素
a = textscan(file_t,'%d %d');
%c和上面a一样,d返回位置信息
[c,d] = textscan(file_t,'%d %d');
fclose(file_t);
a{1} %原包数据的第一个元素对应第一列
a{2}
c
d
%% textread函数读取,现在不常用
%这种形式将每一列分别给a,b
[a,b] = textread('mytxt.txt','%d %d');
a
b
%这种形式将txt文件排成一列赋给c
c = textread('mytxt.txt','%d');
c
%% 忽略标题
file_t = fopen('headline.txt','r');
%忽略掉第一行的标题信息
a = textscan(file_t,'%d %d','headerlines',1);
a
%% 使用textscan扫描字符串中的数据
clc
str_1 = 'the number is 1 2 3 4 5';
%首先使用textscan获取第一个前14个字符
[str1,position1] = textscan(str_1,'%14c',1);
str1{:}; %the number is
position1; %14
%获取字符串的长度
[temp1,temp2] = size(str_1);
%然后读取后面的数字字符串
str_2 = textscan(str_1(position1+1:temp2),'%9c',1);
%将字符串转化为数值
num = str2num(str_2{1})
%% 格式化文本的写操作
%使用fprintf向文件中写入数据
%写形式打开文件,存在就打开,不存在新创建一个文件开始写
file_1 = fopen('text_w.txt','w');
%以数字形式写入数据
fprintf(file_1,'%d',1225);
%关闭文件,返回0表示关闭成功
fclose(file_1);
%% 每写入一次换行或插入想要的字符
file_1 = fopen('text_w.txt','w');
%\r回车符 \n换行符 这里必须回车换行连用
fprintf(file_1,'%d\r\n',[32;34]);
%每写入一个数字,后加一个空格,多列按列输出
temp = randint(4,2);
fprintf(file_1,'%d ',temp);
fclose(file_1);
%% fprintf在命令空间输出
str_1 = 'hello! world!';
%这里fid = 1;这时输出换行只需\n就行,%c为输出单个字符,%s为输出字符串
fprintf(1,'%c\n',str_1);
%% 扫描字符串2
clear
clc
str = '1985 112 -10.53';
%将 替换为0
a = find(str == 32);
str(a) = 48;
%下面这这一句相当于+198501120-10.53
%不是你给的+19850112-010.53
str2num(str)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯