okay so my job is requiring me to learn perl and i have never had any type of programming language... ever.
So i need to take a file that has data (nodes/points) with x, y, and z components.
Example of what the file contains is below:
i need to somehow open this file, grab the data for Node, x position, y pos, and z pos and from this data be able to calculate which node is closest to a given position by a user defined input.
so if the user enters a position of lets say 10 for the x pos, 10 for the y pos, and 10 for the z pos. (just keeping it simple) the code needs to be able to loop through the data and find the node with the closest corresponding positions.
RANDOM TEXT
RANDOM TEXT
Node # x pos ypos zpos
5948 50.24 125.35 5.79
(there are over 200 lines of this data)
RANDOM TEXT
RANDOM TEXT
1. Please post few lines from the input file spanning few lines from random text, few lines of node data, and few more lines of random text. The simplest way to loop through the nodes and positions is by checking if the line starts with a number (unless no other random text starts with a number too)
Quote:
Originally Posted by dets34
i need to somehow open this file, grab the data for Node, x position, y pos, and z pos and from this data be able to calculate which node is closest to a given position by a user defined input.
so if the user enters a position of lets say 10 for the x pos, 10 for the y pos, and 10 for the z pos. (just keeping it simple) the code needs to be able to loop through the data and find the node with the closest corresponding positions.
2. When you say grab the closest point, do you mean the point from file nearest to the user inputted data:
dist = sqrt ((x_input - x)^2 + (y_input - y)^2 + (z_input - z)^2)
I dont have the file with me right now but yes, it contains other sets of numbers (which i don't need) along with other information that was gathered from a simulation.
and when i say grab the closest point (node), i mean that i want to find a node that is closest to a user inputted position. So if the user inputs values for x,y,z as 10,10,10 and my data set only contains 2 nodes with positions 11,11,11 and 50,50,50 i want it to tell me that the node with the 11,11,11 position is closest to the user inputted position of 10,10,10
It'd be helpful if you can post sample input data.
And, I'm sure the co-ordinates are not as simple as (11,11,11) and (12,12,12).
If user inputs (10,10,10) and the file contains (9,10,11) and (11,9,10), then which point will you choose? (If you plot these points on a graph and measure the distance between (10,10,10) from the other two points, it'd measure the same.)
What logic are you following to determine the closest point?
Last edited by balajesuri; 05-25-2012 at 02:13 AM..
That answers the first question. Second question is how would you want to find the nearest node given the input co-ordinates?
From my understanding, this looks like the Finite Element Analysis of a bar. And you might want to use the distance formula (mentioned in post #2) to determine the nearest node.
To open a file, you can use this: open FH, "< /path/to/file";
Use this filehandle 'FH' in a loop to read each line of file.
That answers the first question. Second question is how would you want to find the nearest node given the input co-ordinates?
From my understanding, this looks like the Finite Element Analysis of a bar. And you might want to use the distance formula (mentioned in post #2) to determine the nearest node.
To open a file, you can use this: open FH, "< /path/to/file";
Use this filehandle 'FH' in a loop to read each line of file.
You are correct about the FEA. My current code looks as followed: (all it dose is output the entire file from above post into my command screen)
And i guess the distance formula would work if it allows me to input a position, and from there it calculates the closest node.
Hi. I have 2 arrays, @result and @comment.
Result contains
1
2
3
and comment contains
a
b
c
my code is below
my @multi = (@result, @comment);
foreach (@multi)
{
print array;
}
For this I am getting result
1
2 (2 Replies)
Hi all,
Not sure if this should be in the programming forum, but I believe it will get more response under the Shell Programming and Scripting FORUM.
Am trying to write a customized df script in Perl and need some help with regards to using arrays and file handlers.
At the moment am... (3 Replies)
I have an array and two variables as below,
I need to check if $datevar is present in $filename.
If so, i need to replace $filename with the values in the array.
I need the output inside an ARRAY
How can this be done.
Any help will be appreciated. Thanks in advance. (2 Replies)
Hi everyone
I have one question about using array in perl. let say I have several log file in one folder.. example
test1.log
test2.log
test3.log
and the list goes on..
how to make an array for this file? It suppose to detect log file in the current directory and all the log file will... (3 Replies)
I have a list of items in array say @array1=(apple=2,orange=3,peas=15,spinach=50);
Another array has values say @array2=(apple,orange,plums,pineapple);
I need to display a list if @array2 values is present in @array1 .else I need to print of the form(The final o/p may look like this.)
OUTPUT... (5 Replies)
Hi Everyone,
#!/usr/bin/perl
use strict;
use warnings;
my @test=("a;b;qqq;c;d","a;b;ggg;c;d","a;b;qqq;c;d");
would like to split the @test array into two array:
@test1=(("a;b;qqq;c;d","a;b;qqq;c;d"); and @test2=("a;b;ggg;c;d");
means search for 3rd filed.
Thanks
find the... (0 Replies)
Hi,
Is there any way I can grep an array against another array?
Basically here's what I need to do.
There will be an array containing some fixed texts and I have to check whether some files contain these lines. Reading the same files over and over again for each different pattern doesnt seem... (1 Reply)
I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows:
$count = 0;
while ( $count < $#test )
{
`sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`;
`cat 0 >... (2 Replies)
Hi,
I have a set of file names say:
file1
file2
file3
..
filen
I may just do a ls -l or however it works to read this list into an array...
I need to pick the last file name that is "filen" from the list...
your help is greatly appreciated.....hope im clear on my question... (7 Replies)