⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlabinputtxt.m

📁 编写的几种matlab中如何读取文本文件的方法
💻 M
字号:
1 11 111 1111 
2 22 222 2222 
3 33 333 3333 
4 44 444 4444 
5 55 555 5555 
" 
这样的文件怎么读入数据呢? 
方法有多种,现举两个比较简单实用的。 

方法一: 

在文件菜单中选择 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.dytrol.com' 

方法二: 

[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4) 
说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%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.dytrol.com 
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 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -