簡體   English   中英

Perl PDL:點坐標和矩陣構造

[英]Perl PDL : points coordinates and matrix construction

我有一個帶點坐標的文本文件。

X1 Y1
X2 Y2
X3 Y3
...
Xn Yn

我們的想法是建立一個這個坐標的矩陣。

我編寫了第一個讀取X和Y值的版本,將它們分別推入@Xs和@Yx數組,然后使用

$Points = PDL::Matrix->pdl([\@Xs, \@Ys]);

然后我得到一個2 xn矩陣:

[
 [X1, X2, X3, .., Xn]
 [Y1, Y2, Y3, .., Yn]
]

我現在想建立一個焦慮2矩陣:

[
 [X1, Y1]
 [X2, Y2]
 ...
 [Xn, Yn]
]

但我不明白我怎么做,因為PDL :: Matrix似乎不存在推送功能

謝謝您的幫助,

編輯1:

這是我想做的事情:

sub GetCoordinates {
  my (@hl) = @_;
  my $Point;
  my $Points;

  foreach my $v (@hl) 
  {
    my %values = ($v =~ m/${regex_Coordinates}/g);

    if ($values{X} && $values{Y}) 
    {
        $Point = mpdl [$values{X},$values{Y}];
        push($Points, $Point);                  # DOES NOT EXIST
    }
  }
}

你可以打電話

$m->transpose

在2×n矩陣上。

choroba答案有效。 這是另一個有效的解決方案,完全符合我的需求

my @Points

file read loop {
 push(@Points, vpdl [$PointX, $PointY]);
}

my $PointsMatrix = PDL::Matrix->pdl(\@Points); #nx2 Matrix

如果它可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM