home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 7 / FreshFishVol7.bin / new / misc / sci / multiplot / rexx / setsplit.mpt < prev   
Text File  |  1994-04-17  |  2KB  |  126 lines

  1. /* This script joins two data sets */
  2.  
  3.  
  4. port= 'MULTIPLOT.01'
  5. RESULT=''
  6. RC=0
  7.  
  8. /* Check Multiplot is running */
  9. options results
  10. if(~show('p',port)) then do
  11.   say "Please start Multiplot first"
  12.   exit 1
  13. end
  14. address value port
  15.  
  16. /* Check a PLOT WINDOW is active */
  17. 'QUERY'
  18. if(rc ~=0) then do
  19.   say "QUERY command failed!"
  20.   exit 1
  21. end
  22. if(compare('PLOWIN',RESULT)<6) then do
  23.   'SAY Please select a PLOT WINDOW first.'
  24.   exit 1
  25. end
  26.  
  27. /* Check one (and no more) Data Set is selected */
  28. 'PEEK 2 NOVALS'
  29. if(rc =0) then do
  30.   'SAY Please select only 1 data set.'
  31.   exit 1
  32. end
  33. 'PEEK 1 NOVALS'
  34. if(rc~=0) then do
  35.   'SAY Please select a data set first.'
  36.   exit 1
  37. end
  38.  
  39. /* Find out point numbers in each Data Set */
  40. 'LAUNCH'
  41. 'QUE'
  42. if(rc ~=0) then do
  43.   'SAY ERROR: Failed to query Data Set.'
  44.   exit 1
  45. end
  46. setno1=word(RESULT,8)
  47. pointno=word(RESULT,4)
  48. 'STOP'
  49.  
  50. 'SETADD'
  51. 'QUERY'
  52. if(rc ~=0) then do
  53.   say "QUERY command failed!"
  54.   exit 1
  55. end
  56. setno2=word(RESULT,4)
  57. if(compare('CUSTPLOT',RESULT)<8) then do
  58.    'SAY SetAdd command failed.'
  59.    exit 1
  60. end
  61. 'POINT 10 PLUS'
  62. 'PLOT BOTH'
  63. 'COLOUR 1'
  64. 'CONTINUE'
  65. 'STOP'
  66.  
  67. 'SELECT SET' setno1
  68. 'SELECT REPLACE'
  69. 'SELECT SET' setno2
  70. 'SELECT ADD'
  71.  
  72. 'PEEK 1 YVALS'
  73. NOVALS=WORDS(YVALS)-pointno+1
  74. 'POKE 2 NOVALS'
  75. YVALS=SUBWORD(YVALS,pointno,NOVALS)
  76. 'POKE 2 YVALS'
  77.  
  78. /* Collect values from set */
  79.  
  80.  
  81. 'PEEK 1 XVALS'
  82. XVALS=SUBWORD(XVALS,pointno,NOVALS)
  83. 'POKE 2 XVALS'
  84.  
  85. 'PEEK 1 EVALS'
  86. tempe=EVALS
  87. EVALS=SUBWORD(EVALS,pointno,NOVALS)
  88. 'POKE 2 EVALS'
  89.  
  90. 'PEEK 1 EDWN'
  91. tempedwn=EDWN
  92. EDWN=SUBWORD(EDWN,pointno,NOVALS)
  93. 'POKE 2 EDWN'
  94.  
  95. 'PEEK 1 XEVALS'
  96. tempxe=XEVALS
  97. XEVALS=SUBWORD(XEVALS,pointno,NOVALS)
  98. 'POKE 2 XEVALS'
  99.  
  100. 'PEEK 1 XEDWN'
  101. tempxedwn=XEDWN
  102. XEDWN=SUBWORD(XEDWN,pointno,NOVALS)
  103. 'POKE 2 XEDWN'
  104.  
  105. 'SELECT SET' setno1
  106. 'SELECT REPLACE'
  107.  
  108. 'PEEK 1 YVALS'
  109. totpoints=WORDS(YVALS)
  110.  
  111. 'SELECT SET' setno1
  112. 'SELECT POINT' totpoints
  113. 'SELECT REPLACE'
  114.  
  115. i=totpoints-1
  116.  
  117. do while(i>=pointno)
  118.   'SELECT SET' setno1
  119.   'SELECT POINT' i
  120.   'SELECT ADD'
  121.   i=i-1
  122. end
  123.  
  124. 'DELETE'
  125.  
  126.