Re: Creating Objects
- To: mathgroup at smc.vnet.net
- Subject: [mg122302] Re: Creating Objects
- From: Armand Tamzarian <mike.honeychurch at gmail.com>
- Date: Mon, 24 Oct 2011 05:14:04 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j80qhd$afd$1@smc.vnet.net>
On Oct 23, 9:33 pm, Gabriel Landi <gtla... at gmail.com> wrote:
> Dear MathGroup (and perhaps some Wolfram employees),
>
> Does anyone know how to create Objects in Mathematica, such as those produced by LinearModelFit or NDSolve`ProcessEquations?
> For instance, let data be a set of statistical data. Then data["Mean"] would give me the mean, data["Values"] would return me the original values, etc.
>
> Here is an example from LinearModelFit:
>
> data = {{0, 1}, {1, 0}, {3, 2}, {5, 4}};
> lm = LinearModelFit[data, x, x];
> Save["Model.txt",lm];
>
> The saved output is
>
> lm = FittedModel[{"Linear", {0.18644067796610198, 0.6949152542372881},
> {{x}, {1, x}}, {0, 0}}, {{1., 1., 1., 1.}}, {{0, 1}, {1, 0}, {3, 2},
> {5, 4}}, {{1., 0.}, {1., 1.}, {1., 3.}, {1., 5.}},
> Function[Null, Internal`LocalizedBlock[{x}, #1], {HoldAll}]]
>
> Which has, basically, only the data and the fitted parameters. Nonetheless, by doing lm["FitResiduals"] it computes the residuals for me.
>
> In my impression, this is as close as one can get to object-oriented programming in Mathematica, and would be a quite useful feature to use.
> I haven't found any documentation on this. Anyone knowns?
>
> Sincerely,
>
> Gabriel Landi
Darren Glosemeyer provided some info on how to do this
http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_thread/thread/96759ba9dbce4c/0827f0d03f5abbd9
Might be useful if this was part of a HowTo in the documentation.
Mike