Schrift
[thread]6455[/thread]

Matrix: Matrix erstellen (Seite 4)

Leser: 1


<< |< 1 2 3 4 >| >> 38 Einträge, 4 Seiten
Tim78
 2004-08-06 12:11
#85331 #85331
User since
2004-05-11
14 Artikel
BenutzerIn
[default_avatar]
Habe ich leider beides auch schon geändert... Mal sehen, werde mal ein bisschen "rumspielen". Versuch macht kluch (oder so ähnlich)
renee
 2004-08-06 12:25
#85332 #85332
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hast Du Dir mal die Ausgangsdatei angeschaut?? Poste vielleicht mal ein Teil der Ausgangsdatei (sensible Daten natürlich durch Dummys ersetzt)...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Tim78
 2004-08-12 12:18
#85333 #85333
User since
2004-05-11
14 Artikel
BenutzerIn
[default_avatar]
Hallo, erstmal vielen Dank für die zahlreichen Tipps und Anregungen, hat wirklich weiter geholfen. Bin leider in den letzten Tagen nicht dazu gekommen hier reinzuschreiben.
MfG
Tim
Tim78
 2004-08-12 12:36
#85334 #85334
User since
2004-05-11
14 Artikel
BenutzerIn
[default_avatar]
Hallo alllerseits,
habe nochmal eine andere Frage:
Gibt es eine Möglichkeit von einer Zeile immer den ersten, zweiten, ... Wert einzulesen? Wie stelle ich so etwas an?
Oder gibt es die Möglichkeit nur bstimmte Werte jeder Zeile einzulesen und dann die betreffenden Werte rauszuschreiben, und das für jede Zeile. Also die Werte für Zeile 1 (bspw. 1, 47, 103, ...) in eine Datei, die gleichen Werte für Zeile 2 in eine andere Datei. Ist so etwas möglich?
MfG
Tim
Crian
 2004-08-12 17:11
#85335 #85335
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Klar, schau Dir mal die Funktion split an, damit kannst Du eine eingelesene Zeile aufsplitten. Von diesen aufgesplitteten Werten nimmst Du Dir dann die, die Du brauchst.

-> perldoc -f split
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Tim78
 2004-08-13 14:45
#85336 #85336
User since
2004-05-11
14 Artikel
BenutzerIn
[default_avatar]
Ich kenne die split-Funktion, die Frage bezog sich auch mehr darauf, wie ich die bestimmten Werte einlese. Mit einer for-Schleife? Kann ich da auch bestimmte Elemente auswählen??
Tim
renee
 2004-08-13 15:04
#85337 #85337
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du brauchst keine for-Schleife, wenn Du weißt, welche Elemente Du brauchst.
Wenn Du z.b. das 10., 20. und 45. Element brauchst und die Zeile splittest:
Code: (dl )
1
2
my $zeile = 'irgend was mit 70 Leerzeichen...';
my @wanted = (split(/\s/,$zeile))[10,20,45];
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Tim78
 2004-08-16 13:07
#85338 #85338
User since
2004-05-11
14 Artikel
BenutzerIn
[default_avatar]
Hallo,
so leid es mir tut, aber ich muss nochmal stören, bzw. etwas fragen. Also das Einlesen der Daten klappt jetzt einwandfrei, nur benötige ich halt nicht alle Daten, sondern in diesem Fall nur eine Höhenstufe. Diese Werte liegen jeweils an der ersten Position der jeweiligen Zeile. Nur diese Werte müssen ausgelesen werden...
Ich schicke diesmal das Skript (zumindest den relevanten Teil) mit:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 open FILE, "gzip -cdfq $data|"; 

my @lines = <FILE>;

close FILE;

open(XROH, ">$xroh") || die $!;
open(YROH, ">$yroh") || die $!;

for(my $i=0; $i < $#lines; $i +=2) {

print XROH $lines[$i+1];
print YROH $lines[$i];
}

close XROH;
close YROH;

open(XWERTE, ">$xwerte") || die $!;
open(YWERTE, ">$ywerte") || die $!;

my $werte_x = qx($pickdata -v -t $tmplt_x -p1-31/1- $xroh);
my @werte_x = split(/ /, $werte_x);
print XWERTE @werte_x;

my $werte_y = qx($pickdata -v -t $tmplt_y -p2-32/1- $yroh);
my @werte_y = split(/ /, $werte_y);
print YWERTE @werte_y;

close XWERTE;
close YWERTE;

# x-werte einlesen
open (R_X, "$xwerte") || die $!;
my @lines_x = <R_X>;
close R_X;
chomp(@lines_x);
foreach(@lines_x) {
push(@xwerte,split(/\t/,$_));
}

#y-werte einlesen
open(R_Y, "$ywerte") || die $!;
my @lines_y = <R_Y>;
close R_Y;
chomp (@lines_y);
foreach(@lines_y) {
push(@ywerte,split(/\t/,$_));
}

# Zusammenfügen der Werte

open(GNUPLOT_FILE, ">$gnu_file") || die $!;
select (GNUPLOT_FILE);
for(0..$#xwerte) {
print $xwerte[$_], "\t",$ywerte[$_],"\n";
}
close GNUPLOT_FILE;
}


Vielen Dank schon mal im Voraus.
MfG
Tim
<< |< 1 2 3 4 >| >> 38 Einträge, 4 Seiten



View all threads created 2004-08-03 17:13.