Anthrazit

865 Reputation

13 Badges

5 years, 189 days

MaplePrimes Activity


These are replies submitted by Anthrazit

@acer 

Looks like you are right.

The problem was that there is an argument switch between Excel and Maple.

Excel arctan2(x, y), while Maple arctan(y, x).

arctan(1, 0)``

(1/2)*Pi

(1)

arctan(-1, 0)

-(1/2)*Pi

(2)

arctan(0, 1)

0

(3)

``

arctan(0, -1)

Pi

(4)

NULL


 

Download arctan.mw

@acer 

Thanks a lot again. I did understand my original mistake in your first explanation already.

The crucial thing is to understand, when something gets evaluated. And I still think that is not always clear.

  • "When entries of a Vector are accessed individually they get evaluated."
    Nice, but where do I find this information?
     
  • This following entry in Maple Help (look for "eval) is also a bit tricky to understand:
    "Applying eval to mutable container objects like tables, rtables, and modules does not map over the elements.  Use map(eval,M) to evaluate elements in an object, M."

    Does "map over" mean the same as thing we are talking about here?

 

@acer

Thanks a lot, that was very helpful.

But one more question, as I need to understand when an object is mutable, and when it isn't anymore.

I've used one of your examples in the following code, and added something to the end. When do the values in that code become unmutable? A change of the values of aVectorList don't have any consequences to the resultlist.


 

restart; aVectorList := [Vector(2, [1, 2]), Vector(2, [3, 2])]

[Vector[column](%id = 36893490930679169140), Vector[column](%id = 36893490930679169260)]

(1)

" results:=Array():  AddVector:=Vector(4): for i from 1 to nops(aVectorList) do     AddVector:=Vector(4):     AddVector[1] := aVectorList[i][1];     AddVector[2] := aVectorList[i][2];     results(i):= AddVector; end do: resultlist:=convert(results,list);"

[Vector[column](%id = 36893490930679162868), Vector[column](%id = 36893490930679163108)]

(2)

aVectorList[1] := Vector(2, [4, 5])

[Vector[column](%id = 36893490930679159012), Vector[column](%id = 36893490930679169260)]

(3)

resultlist

[Vector[column](%id = 36893490930679162868), Vector[column](%id = 36893490930679163108)]

(4)

NULL


 

Download Mutable1.mw

@dharr 

Ok, thanks.

Btw., it works by using convert tools via sets as well.

@acer 

So to get rid of duplicates, one would first have to convert the vector to lists, and then convert the list to a set?

And then the whole operation back again, converting the lists to vectors again?

@acer 

Thanks a lot for the clarification.

Just wondering what the alternatives to using global variables in a procedure would be?

The only other option I can think of, is to explicit hand over all global variables in the procedure interface, isn't it?

@tomleslie 

The "indices" solution worked fine, thanks.

I just wanted to say that it seems that the iteration of the table itself doesn't seem to work, contrary to working with a matrix.

@tomleslie 

What i wanted is to have a loop over the contents of the table, similar to the example with a matrix.

The Maple Help states as following in the "do" section.

When expr is a table, the order in which the entries are processed depends on the underlying storage order, which may not correspond to any natural order (such as numeric or alphabetic order).

...

A for...in loop can optionally have two loop variables. In this case, during each iteration of the loop, the first variable takes as value the index of the entry, or operand number of the operand. The second variable takes on the corresponding value.

Apparently the code above doesn't do what I intended, giving me both the index and the value.

The "entries" and "indices" solution seems to do the trick however.

It is possible to do the loop over "indices(x)" instead of x.

Probably MapleCloud needs to be opened first.

At least I did that after a couple of unsuccessful trys, and then it worked.

@TechnicalSupport 

Yes, of course, I have no problem downloading our own (and other) libraries.

The question is just how Maple Player could use them.

@Joe Riel 

The "Publish an Update" is not the problem, the problem is that application type is set to "Maple", and not "MaplePackage".

Looks like Mathcad Prime done correctly to me.

@Joe Riel 

Actually I am trying to update an exisiting Package, so probably it is the problem you are describing.

@tomleslie 

I didn't do that properly obviously. Needed to be converte to list, and then lexorder afterward.

Thanks a lot.

@tomleslie 

Are there any functions which can be used to sort words by character then?

I've tried to use the sort function, but that gives the same result.

First 7 8 9 10 11 12 13 Last Page 9 of 18