problem with fitting data using lsquares



I replaced plot2d (mse1, [a, 0, 100]); by plot2d(mse1(a), [a,0,100]);
but I still get the same error-message:
(%i5)
gnuplot> plot [0.:100.]'/home/coolens/maxout.gnuplot_pipes' index 0 
notitle with lines 3

^
          line 0: warning: Skipping data file with no valid points

gnuplot> plot [0.:100.]'/home/coolens/maxout.gnuplot_pipes' index 0 
notitle with lines 3

^
          line 0: all points y value undefined!

Hugo


On Mon, 14 Jun 2010, Leo Butler wrote:

>
>
> On Mon, 14 Jun 2010, Hugo Coolens wrote:
>
> < Thank you for this useful suggestion Robert, I tried it out, unfortunately a
> < problem with Gnuplot now pops up:
> < This is my input:
> < m:matrix([100,16000],[200,8000],[500,3636],[1000,1818],[2000,870],[5000,323],[10000,160],[20000,83],[50000,33],[100000,20]);
> < lsquares_estimates (m, [x, y], y = sqrt(a^2 + (10e7/(2*%pi*x*b))^2),[a, b],
> < initial=[10, 10]);
> < /* => [[a = 19.2898942613692, b = 9.89381119455951]]*/
> < /* b = 10 is the exact value for b.*/
> < /* I'll construct the mean square error as a function of a alone*/
> < /* and then plot it. */
> < mse : lsquares_mse (m, [x, y], y = sqrt(a^2 + (10e7/(2*%pi*x*b))^2));
> < mse1 (a) := ''(subst (b=10, mse));
> < plot2d (mse1, [a, 0, 100]);
>
> Try:
>
> plot2d(mse1(a), [a,0,100]);
>
> since plot2d expects an expression and not a function.
>
> Leo
>
> < This is the error message:
> < gnuplot> plot [0.:100.]'/home/coolens/maxout.gnuplot_pipes' index 0 notitle
> < with lines 3
> <
> < ^
> <          line 0: warning: Skipping data file with no valid points
> <
> < gnuplot> plot [0.:100.]'/home/coolens/maxout.gnuplot_pipes' index 0 notitle
> < with lines 3
> <
> < ^
> <          line 0: all points y value undefined!
> <
> < I'm using using Gnuplot 4.5 patchlevel 0 and Maxima 5.13.0 on a Debian Lenny
> < system
> <
> < Any idea how to modify the input-file to make Gnuplot do what it should do?
> <
> < hugo
> <
> <
> < On Mon, 14 Jun 2010, Robert Dodier wrote:
> <
> < > On 6/13/10, Hugo Coolens <coolens at kahosl.be> wrote:
> < >
> < > > m:matrix([100,16000],[200,8000],[500,3636],[1000,1818],[2000,870],[5000,323],[10000,160],[20000,83],[50000,33],[100000,20]);
> < >
> < > With these data (the last one has been corrected, right?)
> < > and the original model I get the following.
> < >
> < > lsquares_estimates (m, [x, y], y = sqrt(a^2 + (10e7/(2*%pi*x*b))^2),
> < > [a, b], initial=[10, 10]);
> < > => [[a = 19.2898942613692, b = 9.89381119455951]]
> < >
> < > I gather that b = 10 is the exact value for b. (If that's not so,
> < > just substitute the correct value in the following.)
> < > I'll construct the mean square error as a function of a alone
> < > and then plot it.
> < >
> < > mse : lsquares_mse (m, [x, y], y = sqrt(a^2 + (10e7/(2*%pi*x*b))^2));
> < > mse1 (a) := ''(subst (b=10, mse));
> < > plot2d (mse1, [a, 0, 100]);
> < >
> < > In the plot there is a very shallow minimum around a = 20.
> < > So at this point I have two observations; one is that a is not very
> < > strongly determined by the available data (since the MSE is almost
> < > the same for a wide range of a values), and anyway the lsquares
> < > estimates can't be too far off the mark (in the neighborhood of a = 20).
> < >
> < > You might try to make a contour plot of MSE as a function
> < > of both a and b.
> < >
> < > Hope this helps in some way.
> < >
> < > Robert Dodier
> < >
> < _______________________________________________
> < Maxima mailing list
> < Maxima at math.utexas.edu
> < http://www.math.utexas.edu/mailman/listinfo/maxima
> <
> <
>
> -- 
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.
>
>