我有从 1 到 180 天的天数,从日期 $epoch='2020-05-11' 开始减少和增加日期。整个周期 = 365.25 天,最后将添加一个幅度、一个频率和一个相位,以创建一个正弦波。这不是附加的全部代码,但我需要每天将其转换为弧度或关联?如何解决这个问题,我通过互联网搜索了从度数到弧度的转换。
数据输入来自 bat 文件,进一步轻松进行更改:
C:\Strawberry\perl\bin\perl.exe D:\perl\ex4444.pl Peri_GPS ZAT1_GPS 2020-05-11 180
pause
和代码本身:
#!/usr/bin/perl
use Math::Random::OO::Normal;
use Time::Local;
use Time::Localtime;
use POSIX qw(strftime);
my $filename = 'D:\perl\program.txt';
open (FH, '>', $filename)
or die $!;
my ($station1, $station2, $epoch, $count_day) = @ARGV;
$day_a2 = -1;
$day_a1 = $day_a2 - $count_day;
$day_a3 = 1;
$day_a4 = $day_a3 + $count_day;
my ($year, $month, $day) = split('-', $epoch);
$epoch = timelocal(0, 0, 0, $day, $month-1, $year-1900);
$day_sec = 60*60*24;
$interval=$count_day*$day_sec;
$epoch1=$epoch-86400;
$epoch2=$epoch1-$interval;
$epoch3=$epoch+86400;
$epoch4=$epoch3+$interval;
@x1=(); @x2=();
for ($d = $day_a1; $d <= $day_a2; $d++){
$epoch2 += $day_sec;
push (@x1, $d);
printf FH scalar(strftime " %Y %m %d %H %M", localtime($epoch2));
printf FH " %14.4f \n";
close $FH;
}
for ($d = $day_a3; $d <= $day_a4; $d++){
$epoch3 += $day_sec;
push (@x2, $d);
print FH scalar(strftime " %Y %m %d %H %M", localtime($epoch3));
printf FH " %14.4f \n";
close $FH;
}