我有一个简单的问题。我正在编写自己的脚本来计算Fortran中两个信号之间的互相关(每个信号可以表示为一维数组)。作为任何互相关,我必须相对于另一个延迟一个信号,并且仅比较它们之间的交叉元素。这意味着对于每个延迟,其中一个信号将改变其大小,因为交叉元素将减少。
问题是代码中数组的大小调整。我展示了一个非常简单的例子来说明情况,其中第二个信号相对于另一个延迟。我只需要知道如何定义function upload_a_sound($user_id, $file_temp, $file_extn, $name, $uploader, $keywords) {
$timecode = substr(md5(time()), 0, 10);
$mp3name = 'beats/' . $timecode . '.mp3';
$wavname = 'beats/' . $timecode . '.wav';
$file_path = 'beats/' . $timecode . '.' . $file_extn;
//$date = date('m-d-Y');
move_uploaded_file($file_temp, $file_path);
shell_exec('ffmpeg -i ' . $wavname . ' -vn -ar 44100 -ac 2 -ab 192k -f mp3 ' . $mp3name . '');
require ('classAudioFile.php');
$AF = new AudioFile;
$AF->loadFile($file_path);
$AF->visual_width=200;
$AF->visual_height=200;
$AF->visual_graph_color="#c491db";
$AF->visual_background_color="#000000";
$AF->visual_grid=false;
$AF->visual_border=false;
$AF->visual_graph_mode=0;
$AF->getVisualization ('images/song/' . $timecode . '.png');
$imageloc = 'images/song/' . $timecode . '.png';
mysql_query("INSERT INTO `content` VALUES ('', '', '$name', '$uploader', '$keywords', '$file_path', '$imageloc', '$mp3name')");
和s1
以保持此功能,因为我在s2
语句中放置的内容不起作用:
allocatable
例如,如果我在循环中添加program test_corr
! Defining variables:
integer :: i, max_delay
real, dimension(5) :: signal_1, signal_2
real, allocatable :: s1(:), s2(:)
! Signals to correlate:
signal_1 = (/ 1, 2, 3, 4, 5 /)
signal_2 = (/ 6, 7, 8, 9, 10 /)
! Loop along delays:
max_delay = 3
do i=1,max_delay
! Applying delay to the second signal:
s1 = signal_1(1:size(signal_1)-1)
s2 = signal_2(i+1:size(signal_2))
end do
end program
语句,则它不会显示任何内容。我希望第二个信号的输出如下:print *, s2
然后7 8 9 10
进行前两次迭代。
我正在使用ifort 15,我编译为
8 9 10