nmacsai

260 Reputation

9 Badges

4 years, 65 days

MaplePrimes Activity


These are questions asked by nmacsai

Unit_vectors_from_different_coordinate_systems.mw
 

restart

NULLNULL

with(Physics)``

with(Vectors)

NULL

It's common in mathematical physics to use cartesian unit vectors to describe the position of a point in space.

 

r_(t) = x(t)*_i+y(t)*_j

r_(t) = x(t)*_i+y(t)*_j

(1)

Sometimes it neccessary to convert a position vector like `#mover(mi("r"),mo("→"))`(t) to another cartensian coordinate system with different unit vectors, I call the primed system. In the primed system the position vector looks like:

"(r')(t)=x'(t) (i')+y'(t) (j')"

When using Physics[Vectors] and the unit vector hat notations to define vectors in cartesian space, can I define more than one cartesian space such as:

`#mover(mi("r"),mo("→"))`(t) = x(t)*`#mover(mi("i"),mo("∧"))`+y(t)*`#mover(mi("j"),mo("∧"))`

NULL

and

  "(r')(t)=x'(t) (i')+y'(t) (j')"?

Another way to ask the same thing: Can I define the position vector in different coordinates, each system having a distinct pair of orthogonal unit vectors?

 

The short answer I think is no. Given the current implementation it's not clear how one would go about defining the relationships between unit vectors from different coordinate systems. See below.

 

In 2D the transformation corresponds to a rotation of a vector the plane. The tranformation is characterized by the rotation angle α.

 

 

 

The unit vectors from different systems are related through scalar products.

 

"(i)*i' =(|i|)*|i'|*cos(alpha)=cos(alpha)"``NULL

NULL

"(j)*(j)' =(|j|)*|(j)'|*cos(alpha)=cos(alpha)"NULLNULL

``

"(j)*(i)' =(|j|)*|(i)'|*cos(3 alpha)=cos(3 alpha)"``NULL

 

Is there a way to implement scalar products of vectors from different coordinate systems using the Physics Tensors package? Here I create three different coordinate systems. I don't know whether the unit vectors systems X and Y have the same (i, j, k) unit vectors or does each system have its own triplet?

NULL

Setup(coordinates = cartesian, metric = Euclidean, dimension = 3, spacetimeindices = lowercaselatin, geometricdifferentiation = true)

[coordinatesystems = {X}, dimension = 3, geometricdifferentiation = true, metric = {(1, 1) = 1, (2, 2) = 1, (3, 3) = 1}, spacetimeindices = lowercaselatin]
````

(2)

Coordinates(Y, Z, Z = cylindrical)

{X, Y, Z}

(3)

NULL

NULL


 

Download Unit_vectors_from_different_coordinate_systems.mw

 

Formatting_exponents_in_typesetting_situations.mw
How do I format express an exponent in standard notation when typesetting a caption?  10^2 displays as 100 when I want it to display as 10^2 but without the caret.

restart

with(plots)

logplot(10^x, x = 0 .. 8, size = [300, 300], legend = [y(x) = 10^x], legendstyle = [location = top], caption = typeset("How do I type,", 10^8, ", and have it show up as 10^8 in the caption?"))

 

NULL

Download Formatting_exponents_in_typesetting_situations.mw

How do I access numerical formatting from command line?

The help page shows you how to use the point and click menus to change the numerical formatting. It works fine but I want a command to convert from say decimal to scientific notation. Am I missing something?

Here the gui menu on the right hand side of a typical worksheet.

This is the help page for "Numerical Formatting" but there is not much about commands, just the point and click menus. If anyone knows where to search for these commands, please respond. Thanks.

https://maplesoft.com/support/help/maple/view.aspx?path=worksheet/expressions/numericformatting

transparent_background_in_plots.mw

Is there a better way to impletment a transparent background when genereating plots?

Here I generate a plot with a yellow background.

plot(sin(x), x = 0 .. 4*Pi, background = yellow);


I want the background to be completely transparent instead of yellow.

plot(sin(x), x = 0 .. 4*Pi, background = none);

Error, (in plot) Unable to find image file, none

none is not an accepted color, so an error is returned. Is there such a color as "clear" that is fully transparent? Is there a better way to impletment a transparent background when genereating plots?

I upgraded to Maple 2022 and some of my old sheets from Maple 2021 don't work anymore. When I plot a histogram with a legend I get an error saying: Error, invalid input: Statistics:-Histogram expects value for keyword parameter legend to be of type list, but received data set 1.

OK so maybe Histogram changed in 2022 although I didn't think it did. I ran it in Maple 2021 and I received no such error message. I chose to comply with the error message and the plot is output without an error message, however the legend labels carry extra characters I don't want to be there.  My attempt at a solution was to first use square brackets to make the object a list, then use the typeset command to typeset the label.  Strangely, the typeset command was not recognized.

What am I doing wrong? All I want is to plot a histogram with a legend labelled by a string which I have done many times in the past. I have attached below, a maplesheet which explicitly shows the problematic behaviour.

Thanks,
N

restart

NULL

with(Statistics)

with(LinearAlgebra)``

with(plots)``

NULL

NULL

Define Random Variable

X := RandomVariable(Normal(1, 2))

_R

(1)

Sample that variable and plot a histogram.

s := Sample(X, 1000)

NULL

Maple 2022 as opposed to Maple 2021 does not consider this a valid way to define the legend. It want's it defined in a list as requested in the pink error message.

Histogram(s, legend = "data set 1")

Error, invalid input: Statistics:-Histogram expects value for keyword parameter legend to be of type list, but received data set 1

 

NULL

NULL

Maple 2022 as opposed to Maple 2021 does not consider this a valid way to define the legend. It works fine in Maple 2021. Maple 2022, want's it defined in a list. This works but, the square brackets and quotation marks appear when I don't want them to. The legend shouldn't have these extra quotations and brackets, just the desired name.

Histogram(s, legend = ["data set 1"], size = [300, 300])

 

I tried the typeset command. It doesn't seem to be recognized anymore.

 

Histogram(s, legend = [typeset("data set 1")], size = [300, 300])

 

What am I doing wrong? All I want is to plot a histogram with a legend labelled by a string.   

Download legend_as_list.mw

4 5 6 7 8 Page 6 of 8