acer

32747 Reputation

29 Badges

20 years, 113 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are replies submitted by acer

@David88 Don't use Units:-Natural. It will interpret many simple letters as being units, even when you don't think that you are entering them as units. (...that's why it's called "Natural", seriously). Instead, use Unit:-Standard which is appropriate for your usage where you are specifically entering units as such.

Also, it appears that you might be confused as to the dimensions of the unit `poundforce`. It is a unit of force, not of mass. (See here.)

Perhaps you meant to type something else instead of `poundforce`, such as just `pound`? (...and in which case the result of that amended example would have dimension of length^3, not length^4)

> convert(poundforce,dimensions);

                             force

> convert(poundforce/inch^2,dimensions);

                            pressure

> convert(lb*ft,dimensions);

                          mass length

> convert((lb*ft)/(poundforce/inch^2),dimensions);

                               2     2
                         length  time 

> convert(pound/inch^2,dimensions);

                             mass  
                            -------
                                  2
                            length 

> convert((lb*ft)/(pound/inch^2),dimensions);

                             volume

@David88 Don't use Units:-Natural. It will interpret many simple letters as being units, even when you don't think that you are entering them as units. (...that's why it's called "Natural", seriously). Instead, use Unit:-Standard which is appropriate for your usage where you are specifically entering units as such.

Also, it appears that you might be confused as to the dimensions of the unit `poundforce`. It is a unit of force, not of mass. (See here.)

Perhaps you meant to type something else instead of `poundforce`, such as just `pound`? (...and in which case the result of that amended example would have dimension of length^3, not length^4)

> convert(poundforce,dimensions);

                             force

> convert(poundforce/inch^2,dimensions);

                            pressure

> convert(lb*ft,dimensions);

                          mass length

> convert((lb*ft)/(poundforce/inch^2),dimensions);

                               2     2
                         length  time 

> convert(pound/inch^2,dimensions);

                             mass  
                            -------
                                  2
                            length 

> convert((lb*ft)/(pound/inch^2),dimensions);

                             volume

Nobody wrote that interface(rtablesize) does not affect all interfaces. Nobody wrote that the difference between Vectors and Arrays is just how they are printed. These aspects are simply germane to the issues at hand and that is all. Maybe I misread the tone.

acer

Nobody wrote that interface(rtablesize) does not affect all interfaces. Nobody wrote that the difference between Vectors and Arrays is just how they are printed. These aspects are simply germane to the issues at hand and that is all. Maybe I misread the tone.

acer

The problem is the trailing semicolon in the first line, as has been mentioned in answers below.

However, note that in 1D Maple notation the following also generates an error, in both the Standard GUI and the commandline interface of Maple 14. (In Maple 13 the following worked in 2D, but that bug was "fixed" for Maple 14, to conform with 1D's error.)

> u:=proc();
> local k;
> end proc:
Error, unexpected local declaration in procedure body

Similar errors are generated using full colon, or for `global` declaration or `option` statements. [edited: the explanation for this may be quite different from the explanation for the top Question in this thread. Maybe I ought to have kept quiet here.]

acer

This is at least the third posting of this question. (One was deleted.) Please stop posting duplicates.

If you have extra detail to add (like this Matrix info) then you could put it in a Comment/Answer to your earlier Question.

acer

@hirnyk This seems to work in 1D notation in Maple 13.02, 12.02, or 11.02 using the default interface(prettyprint) level of 3 in a Standard Worksheet,

> proc () local t; t := proc () debugopts('callstack')[9] end proc; printf("%s;\n",eval(t)()) end proc();
proc () local t; t := proc () debugopts('callstack')[9] end proc; printf("%s;\n",eval(t)()) end proc();

I wonder if these are suitable for inclusion here? By coincidence, a work colleague recently wrote a paradox using the term quine on my whiteboard, when I was expressing my liking of some works of the late philosopher W.V.Quine.

@hirnyk This seems to work in 1D notation in Maple 13.02, 12.02, or 11.02 using the default interface(prettyprint) level of 3 in a Standard Worksheet,

> proc () local t; t := proc () debugopts('callstack')[9] end proc; printf("%s;\n",eval(t)()) end proc();
proc () local t; t := proc () debugopts('callstack')[9] end proc; printf("%s;\n",eval(t)()) end proc();

I wonder if these are suitable for inclusion here? By coincidence, a work colleague recently wrote a paradox using the term quine on my whiteboard, when I was expressing my liking of some works of the late philosopher W.V.Quine.

@hirnyk Which language did you have in mind, 1D or 2D?

In the 2D Math, where a trailing semicolon is not required, here are two examples (rendered here as plaintext, but can be keyed in as seen here),

proc() Typesetting:-Typeset(thisproc()) end proc()

proc() 'thisproc'() end proc()

And for 1D Maple Notation (keeping interface(prettyprint) at its default value of 3, and operating in a Worksheet in the Standard GUI),

> proc () printf("%a;\n",('thisproc')()) end proc();
proc () printf("%a;\n",('thisproc')()) end proc();

At interface(prettyprint=1) in a Worksheet, or in the commandline interface, one of the earlier 1D notation examples works,

> proc() print(eval(thisproc)); end proc;
proc() print(eval(thisproc)); end proc;

@hirnyk Which language did you have in mind, 1D or 2D?

In the 2D Math, where a trailing semicolon is not required, here are two examples (rendered here as plaintext, but can be keyed in as seen here),

proc() Typesetting:-Typeset(thisproc()) end proc()

proc() 'thisproc'() end proc()

And for 1D Maple Notation (keeping interface(prettyprint) at its default value of 3, and operating in a Worksheet in the Standard GUI),

> proc () printf("%a;\n",('thisproc')()) end proc();
proc () printf("%a;\n",('thisproc')()) end proc();

At interface(prettyprint=1) in a Worksheet, or in the commandline interface, one of the earlier 1D notation examples works,

> proc() print(eval(thisproc)); end proc;
proc() print(eval(thisproc)); end proc;

Is your Matrix symmetric? The CLAPACK function dsyevx does this.

If you are using Linux (and maybe OSX or Solaris) then I can likely write a define_external that does it straight from stock Maple. I don't know offhand whether it'd be as simple for MS-Windows, since I'm unsure whether the symbol `dsyevx_` is an export of clapack.dll as bundled with Maple. (...still possible with a little C work, though.)

You wrote of "large" Matrices. How large is that? How long are you prepared to wait? I was able to compute all eigenvectors of a nonsymmetric float[8] 2000x2000 Matrix, and sort the complex eigenvalues and select the eigenvector corresponding to one of those. That took about 2 minutes on a fast machine. Do you need it much faster?

acer

Using a Plot Component and a nice choice of Manipulator you can quickly click along a country's border to get the simple data for your POLYGONs. (It's really convenient when adjusted to set clickx,clicky to the value of the "Nearest datum".

coastplotter.mw

There's probably some slick, purely programming approach too. I liked this because it reminded me of watching Geography students doing the same thing by hand, decades ago...

nb. I chose the "Matlab" format, at that website you cited.

acer

What do you mean by, "a better figure aspect"?

Are you saying that the rendered curve is not smooth enough for your liking, or that some other part of the generated plot is not adequate? (I mean your actual plot, not the linear example posted, naturally.)

acer

Ideally, surfdata would handle a Matrix automatically.

And of course, one could create an Array in the first place. Or use rtable_options(G1,subtype=Array) to alter a Matrix G1 inplace.

G1:=Array(1..101,1..93,(i,j)->evalhf(sin(i/7)+cos(j/5)),datatype=float[8]):
plots:-surfdata(G1, axes=boxed);

acer

Ideally, surfdata would handle a Matrix automatically.

And of course, one could create an Array in the first place. Or use rtable_options(G1,subtype=Array) to alter a Matrix G1 inplace.

G1:=Array(1..101,1..93,(i,j)->evalhf(sin(i/7)+cos(j/5)),datatype=float[8]):
plots:-surfdata(G1, axes=boxed);

acer

First 447 448 449 450 451 452 453 Last Page 449 of 600