|
perl处理矩阵程序,处理方阵,矩阵元素不能为空,必须都有数字或字符,可以用array[$i][$j]调用,慢慢的再写些类似matlab的处理矩阵比较方便的函数。
#!/usr/bin/perl
use strict;
use warnings;
my($num,@array1,@array,$row_num,$col_num,$i,$j);
open (MYFILE1,'D:\aa.txt') or die '$!'; #待处理的输入文件
open OUT,'+>D:\bb.txt'; #输出文件
$col_num=0;
while(<MYFILE1>){ #或while (defined($x=<MYFILE1>)){chomp($x);}
chomp($_);
@array1 = split/\s+/; #文件分割
if ($#array1>$col_num) {
$col_num= $#array1;
}
push @array,[@array1]
}
$row_num=$#array+1; #矩阵的行数
$col_num=$col_num+1; #矩阵的列数
print "$row_num \n $col_num";
##使用矩阵处理##
for ($i=0;$i<$row_num;$i++) {
for ($j=1;$j<$col_num;$j++){
print OUT "$array[$i][$j] " ;
}
print OUT "\n" ;
}
|
|