Re: Manipulating List Elements In Programs
- To: mathgroup at smc.vnet.net
- Subject: [mg23972] Re: [mg23940] Manipulating List Elements In Programs
- From: BobHanlon at aol.com
- Date: Sun, 18 Jun 2000 03:00:55 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 6/16/2000 1:26:13 AM, buz at sys-j25.demon.co.uk writes: >I'm trying to write a program in Mathematica to automatically plot graphs >from text files that I've generated with a C program. It looks in the >working directory, and retrieves a list of all files with a .dat extension; > >files = FileNames["output*.dat"] > >Then, it gets the number of entries in that list; > >l = Length[files] > >And then uses this information to import each file individually and do >a >ListPlot with each list; > >For[i = 1, i <= l, i++, > z = Import[ files[[i]]]; > title = z[[1]]; > lab = z[[2]]; > Delete[z, {1, 2}]; > ListPlot[z, AxesLabel -> lab, PlotLabel -> title] ] > >At the top of each output file there is a heading that I want to use as >the >plot's title and two column headings that I want to use to label the axes. >Unfortunately, I can retrieve them and label the plot, but I can't delete >them, so when I include the title, I can't produce the plot. > >Does Mathematica prevent the programming calls deleting things, or am I >missing something? > test = Range[5]; The correct form of Delete to remove the first two elements is Delete[test, {{1}, {2}}] {3, 4, 5} However, this does not change the contents of test test {1, 2, 3, 4, 5} If you want the contents of test to change: test = Delete[test, {{1}, {2}}] {3, 4, 5} test {3, 4, 5} You might want to consider using Drop test = Range[5]; test = Drop[test, 2] {3, 4, 5} Bob Hanlon