[LON-CAPA-users] gnuplot problem

raeburn at msu.edu raeburn at msu.edu
Tue Apr 7 08:49:49 EDT 2020


Gene,

>
>  Two of them work fine, and the other two, which both have sine expressions 
> inside a sqrt function, do not.
>

My guess would be that gnuplot is encountering an issue because floating point arithmetic results in evaluation of the square root of a negative number (very close to zero), which should really be 0.

In that case an alternative would be to explicitly evaluate the components of the function within a perl script block in LON-CAPA, and test that they will not result in a negative number before applying LON-CAPA's sqrt() function to the result (rom which you would then add the value to an array (@Y) of y values for the plot).  The array (@X) will contain the corresponding x values, which you would have generating within the loop you use to generate the y values (in the @Y) array.

You would then replace use of the <function></function> tag with         
<data>@X</data>
<data>@Y</data>

where @X and @Y are arrays containing x and y values for the points on the plot.

See the: "Data Plot with Numerical Response" example in the problem templates.

Stuart Raeburn
LON-CAPA Academic Consortium
________________________________________
From: LON-CAPA-users <lon-capa-users-bounces at mail.lon-capa.org> on behalf of Harding, Gene L <glhardin at purdue.edu>
Sent: Monday, April 6, 2020 7:35 PM
To: Discussion list for LON-CAPA users
Subject: Re: [LON-CAPA-users] gnuplot problem

Thanks Stuart. I do not have access to those directories (as far as I can tell), so have reached out to some IT folks to see if they can help me. I realized later that, apparently, "dynamically generated plot" is just the alt tag for the gnuplot.

I am baffled about what is going on. I have four functions for this problem. Two of them work fine, and the other two, which both have sine expressions inside a sqrt function, do not. I have tried using the ternary operator to zero out values outside of the axis limits. In all of the playing/troubleshooting I have done, it appears to not like the sqrt(bla bla sin(stuff)). I am not sure what version of gnuplot we are using.

I think I am just going to do the problem using Geogebra and forget about gnuplot, but it would be nice to know what's going on with the gnuplot. Hopefully, my IT guys can help...

BR,

Gene L. Harding, PE
Associate Professor of ECET
Purdue University
574-520-4190
https://urldefense.com/v3/__https://polytechnic.purdue.edu/south-bend/__;!!HXCxUKc!jTjoyEwsimPmL2daj4jh1wXvO-ThMXDm58g_FiI6994pTe0-lVckSwwcNawAEA$

-----Original Message-----
From: LON-CAPA-users <lon-capa-users-bounces at mail.lon-capa.org> On Behalf Of Raeburn, Stuart
Sent: Monday, April 6, 2020 3:11 PM
To: Discussion list for LON-CAPA users <lon-capa-users at mail.lon-capa.org>
Subject: Re: [LON-CAPA-users] gnuplot problem

Hello Gene,

If the text: "dynamically generated plot" is displayed instead of an image, when using gnuplot, then it means gnuplot was unable to process the data file generated by LON-CAPA for your plot.

That data file will have been written to /home/httpd/perl/tmp/ on your server's filesystem with a file name that includes your username, and ends _plot.data. and there will also be an error message in the web server's error log file, e.g., /var/log/httpd/ssl_error_log, with your problem listed as the referer.  (You'd need to ask your system administrator to look in the log files).

I was able to successfully generate plots for both functions:
$fnct_rms_halfwave="1/$pi * &sqrt(1/2*($pi-x) + 1/4*sin(2*x))";
$fnct_rms_fullwave="&sqrt(2/$pi) * &sqrt(1/2*($pi-x) + 1/4*sin(2*x))";

in a problem in my Authoring Space (gnuplot version: 4.4.2).

You might double check that there is not a typo in the problem XML, where you refer to the function, e.g., <function>$fnct_rms_halfwave</function>

Otherwise, there could be an issue with other attributes defined for the plot, aside from the functions themselves (although in most cases, LON-CAPA replaces invalid values with valid ones, before creating the _plot.data file passed to gnuplot).

Stuart Raeburn
LON-CAPA Academic Consortium
________________________________________
From: LON-CAPA-users <lon-capa-users-bounces at mail.lon-capa.org> on behalf of Harding, Gene L <glhardin at purdue.edu>
Sent: Monday, April 6, 2020 11:22 AM
To: Discussion list for LON-CAPA users
Subject: [LON-CAPA-users] gnuplot problem

Hi everyone,

I am having trouble generating a gnuplot using the following two functions in LON-CAPA:
   $fnct_rms_halfwave="1/$pi * &sqrt(1/2*($pi-x) + 1/4*sin(2*x))";
   $fnct_rms_fullwave="&sqrt(2/$pi) * &sqrt(1/2*($pi-x) + 1/4*sin(2*x))";

Instead of rendering a plot, LON-CAPA just displays a message that says "dynamically generated plot". It plots fine in Geogebra. Does anyone know what's going on with the gnuplot?

Best regards,

Gene L. Harding, PE
Associate Professor of ECET
Purdue University
574-520-4190
https://urldefense.com/v3/__https://polytechnic.purdue.edu/south-bend/__;!!HXCxUKc!jTjoyEwsimPmL2daj4jh1wXvO-ThMXDm58g_FiI6994pTe0-lVckSwwcNawAEA$

_______________________________________________
LON-CAPA-users mailing list
LON-CAPA-users at mail.lon-capa.org
http://mail.lon-capa.org/mailman/listinfo/lon-capa-users
_______________________________________________
LON-CAPA-users mailing list
LON-CAPA-users at mail.lon-capa.org
http://mail.lon-capa.org/mailman/listinfo/lon-capa-users


More information about the LON-CAPA-users mailing list