Message Boards Message Boards

0
|
3709 Views
|
2 Replies
|
0 Total Likes
View groups...
Share
Share this post:

Roots in the intervals

Help me please to fix the line! The line "For.." works and prints intervals which don't contain roots. And I have to output the remaining intervals which include roots. (I know that these intervals should be 2) I tried the ! But it is somehow wrong :(

X = {-2, 6}
spx = {-2, -1.90577, -1.81153, -1.59327, -1.375, -1.35785, -1.3407,    -1.24655, -1.22941, -1.11811, -0.934054, -0.80167, -0.75, -0.625,-0.5, -0.25, -0.0981238, 0.303752, 0.651876, 0.94833, 1, 1.5, 1.75,2.11731, 2.5, 2.5625, 2.625, 3.3125, 3.75, 4, 4.00964, 4.01928,4.25964, 4.36731, 4.5, 4.75, 5, 5.25, 5.5, 5.75, 6}
spfw = {33.3632, 43.263, 51.6709, 55.5421, 57.1266, 57.2511, 57.3756,58.059, 58.0778, 58.1995,56.846,55.1903,54.5739,53.0828,51.1542,48.9959,48.0325,42.2533, 36.408,30.7952,30.1551,28.6446,23.138,19.4168,6.47053,5.90328,5.32951,-0.513959, -0.750527, -6.38895, -6.39157, -6.39418,-6.36456, -6.09357, -6.28599, -5.25369, -4.19539, -2.18625, -0.133803,2.90414, 6.171}
spfn = {33.3632, 40.2933, 46.5882, 51.9781, 55.5583, 55.5708, 55.5762, 55.4604, 55.4393, 55.0045, 530116, 51.1309, 50.4546, 48.1226, 45.6012, 43.402, 42.066, 37.5522, 32.6864, 28.1979, 28.0685,25.7067, 17.5943,13.5547, -2.97428, -3.21054, -3.36422, -5.05466, -5.1301, -6.4392,-6.76879, -6.48231, -7.20196, -7.00719, -7.53373, -6.00246, -4.41058,-2.8187, -1.16621, 2.35765, 6.04694}
For[i = 1, i < Length@spfn, i++,
If[((0 < spfn[[i]]) && (0 < spfn[[i + 1]])) || 
((spfw[[i]] < 0) && (spfw[[i + 1]] < 0)),
   Print["1) exist no roots on: {", spx[[i]], ";", spx[[i + 1]], "}"];
]]
POSTED BY: Julia Ilkiv
2 Replies

Why don't you use the else of your If?

For[i = 1, i < Length@spfn, i++,
 If[((0 < spfn[[i]]) && (0 < spfn[[i + 1]])) || ((spfw[[i]] < 
       0) && (spfw[[i + 1]] < 0)), 
  Print["1) exist no roots on: {", spx[[i]], ";", spx[[i + 1]], 
   "}"], (* else *)
   Print["2) exists a root on: {", spx[[i]], ";", spx[[i + 1]], "}"]
  ]
 ]

1) exist no roots on: {-2;-1.90577}
1) exist no roots on: {-1.90577;-1.81153}
1) exist no roots on: {-1.81153;-1.59327}
1) exist no roots on: {-1.59327;-1.375}
1) exist no roots on: {-1.375;-1.35785}
1) exist no roots on: {-1.35785;-1.3407}
1) exist no roots on: {-1.3407;-1.24655}
1) exist no roots on: {-1.24655;-1.22941}
1) exist no roots on: {-1.22941;-1.11811}
1) exist no roots on: {-1.11811;-0.934054}
1) exist no roots on: {-0.934054;-0.80167}
1) exist no roots on: {-0.80167;-0.75}
1) exist no roots on: {-0.75;-0.625}
1) exist no roots on: {-0.625;-0.5}
1) exist no roots on: {-0.5;-0.25}
1) exist no roots on: {-0.25;-0.0981238}
1) exist no roots on: {-0.0981238;0.303752}
1) exist no roots on: {0.303752;0.651876}
1) exist no roots on: {0.651876;0.94833}
1) exist no roots on: {0.94833;1}
1) exist no roots on: {1;1.5}
1) exist no roots on: {1.5;1.75}
1) exist no roots on: {1.75;2.11731}
2) exists a root on: {2.11731;2.5}
2) exists a root on: {2.5;2.5625}
2) exists a root on: {2.5625;2.625}
2) exists a root on: {2.625;3.3125}
1) exist no roots on: {3.3125;3.75}
1) exist no roots on: {3.75;4}
1) exist no roots on: {4;4.00964}
1) exist no roots on: {4.00964;4.01928}
1) exist no roots on: {4.01928;4.25964}
1) exist no roots on: {4.25964;4.36731}
1) exist no roots on: {4.36731;4.5}
1) exist no roots on: {4.5;4.75}
1) exist no roots on: {4.75;5}
1) exist no roots on: {5;5.25}
1) exist no roots on: {5.25;5.5}
2) exists a root on: {5.5;5.75}
1) exist no roots on: {5.75;6}

Counter of "2)" Events is 5, not 2. So still you have to fix something with the conditions.

POSTED BY: Udo Krause

Many Thanks!

POSTED BY: Julia Ilkiv
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract