使用 MATLAB 从 txt 文件中的表格数据设置数组

发布于 2024-12-10 09:52:23 字数 223 浏览 0 评论 0原文

所以基本上,我在文本文件中有数据,如下所示:

100 5 10 20 someval someval
200 6 20 12 someval someval
300 7 30 13 someval someval

前 3 个标记将用作 (x, y, z) 坐标,而第四个数字将用于创建颜色以使用 surf(x,y, x,c) 函数。我也希望能够存储该行中的其他值。

So basically, I have data in a text file like so:

100 5 10 20 someval someval
200 6 20 12 someval someval
300 7 30 13 someval someval

The first 3 tokens would by used as (x, y, z) coordinates, while the fourth number will be used to create a color to use the surf(x,y,x,c) function. I like to be able to store the other values in the line too.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

扎心 2024-12-17 09:52:23

尝试使用 TEXTSCAN 函数:

fid = fopen('file.txt','rt');
A = textscan(fid, '%f %f %f %d %s %s', 'Delimiter',' ');
fclose(fid);

XYZ = [A{1:3}]
clr = A{4}
valsStr = [A{5:6}]

结果:

XYZ =
   100     5    10
   200     6    20
   300     7    30
clr =
          20
          12
          13
valsStr = 
    'someval'    'someval'
    'someval'    'someval'
    'someval'    'someval'

其中

>> whos XYZ clr valsStr
  Name         Size            Bytes  Class     Attributes

  XYZ          3x3                72  double              
  clr          3x1                12  int32               
  valsStr      3x2               444  cell                

Try using the TEXTSCAN function:

fid = fopen('file.txt','rt');
A = textscan(fid, '%f %f %f %d %s %s', 'Delimiter',' ');
fclose(fid);

XYZ = [A{1:3}]
clr = A{4}
valsStr = [A{5:6}]

the result:

XYZ =
   100     5    10
   200     6    20
   300     7    30
clr =
          20
          12
          13
valsStr = 
    'someval'    'someval'
    'someval'    'someval'
    'someval'    'someval'

where

>> whos XYZ clr valsStr
  Name         Size            Bytes  Class     Attributes

  XYZ          3x3                72  double              
  clr          3x1                12  int32               
  valsStr      3x2               444  cell                
獨角戲 2024-12-17 09:52:23

如果您只需要执行一次此操作,并且您正在使用带 GUI 的 matlab,那么您只需使用 File->import data 即可,这对于表格格式来说非常聪明。

但如果您需要重复执行此操作,或者将其作为程序的一部分,则可以调用命令行版本 importdata。

If you need to do this one time only, and you are using matlab with GUI, then you can just use File->import data , which is pretty smart about tabular formats.

But if you need to do this repeatedly, or make it part of your program, then you call the command line version importdata.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文