Write a review of the book and indicate that the code therein has bugs! You're the eyeball + 1. Strengthen your power by reporting the bug in a public forum! Help prevent others from falling into the same hole.
--Bruce On 04/07/2013 10:35 AM, Bruce Labitt wrote: > On 04/06/2013 04:58 PM, Michael ODonnell wrote: >>> kmax=1; >>> kfactor=(kmax-1.0)/delta/(orderbc+1.0)/delbc^orderbc; >>> Unless matlab treats floats and ints differently than most other >>> languages, I'd say its a bug because zero over anything is always zero. >> Shame on anybody who'd intentionally code something like >> that without also providing a comment about such a seemingly >> counterintuitive approach. >-/ Let's hope it's simply a bug... >> >> Out of morbid curiosity, how does Octave report the value of >> kfactor after >> >> kmax=1 >> kfactor=(kmax-1.0) >> >> ?? >> >> _______________________________________________ >> gnhlug-discuss mailing list >> gnhlug-discuss@mail.gnhlug.org >> http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss/ >> >> > kfactor = 0 is reported by octave in debug mode. > > That's a long bit of code > > kfactor=(kmax-1.0)/delta/(orderbc+1.0)/delbc^orderbc; > > just to set it to zero. Clearly a bug, or just plain wrong and not > thought through. Drives me nuts, since this construct was used for the > x, y, and z axes. > > Guess I'll have to contact one of the authors of the book. The graduate > student that wrote the code has since graduated. (Got her PhD int > 2010.) Humph, you'd think the code samples for something this > complicated would be better. > > \rant on > The level of commenting in the code sample is not up to teaching > standards, IMHO. If you are doing something tricky, write a descriptive > comment on it! (I can't even remember tricky stuff I did last week > without good comments.) Please, everyone, don't write ultra dense code > like this, spaces are your friend! > > dx(:,2:je_tot,2:ke_tot)=C1ex(:,2:je_tot,2:ke_tot).* > dx(:,2:je_tot,2:ke_tot)+ > C2ex(:,2:je_tot,2:ke_tot).*((hz(:,2:je_tot,2:ke_tot)-hz(:,1:je_tot-1,2:ke_tot))- > (hy(:,2:je_tot,2:ke_tot)-hy(:,2:je_tot,1:ke_tot-1)))./delta; > > Especially if there are 5 more lines just like it, with slightly > differing indices, with no spaces in between! > \rant off > > As you were. :) > > > > _______________________________________________ > gnhlug-discuss mailing list > gnhlug-discuss@mail.gnhlug.org > http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss/ _______________________________________________ gnhlug-discuss mailing list gnhlug-discuss@mail.gnhlug.org http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss/