Anthrazit

760 Reputation

11 Badges

4 years, 304 days

MaplePrimes Activity


These are replies submitted by Anthrazit

Need to come back to a question posted a long time ago.

Here's a simple code directly from the Help manual for the HasChild function.

I do understand that the first one gives "false", as "c" is not a direct child.

But what about XMLElement "a"? Shouldn't that one give "true"?

HasChild1.mw

And this is also interesting...

---

DBG> Units:-Split(force["F_hd"])
6.75*Units:-Unit(kN),
1

DBG> Units:-Split(eval(force["F_hd"]))
6.75,
Units:-Unit(kN)

---

Btw., I have tried to convert the expression to string, and parse the result afterwards, but that does not fix the problem.

Any idea what could be wrong here?

This is a copy of the Maple Debugger. I think it is connected to the issue mentioned above, and kicks in when reading values from the datatable right after opening the file.

---

DBG> convert(loadVector_centerBoltgroup[3], 'units', 'kN*m')
`%1` is not a recognized unit",
proc () option builtin = debuggerMemberLookup; end proc(Units:-Simple,"*")(kN,m)

DBG> op(2, loadVector_centerBoltgroup[3])
Units:-Unit(kN*m)

DBG> loadVector_centerBoltgroup[3]
9.45*Units:-Unit(kN*m)

---

After changing the input data when values are read in from the document, things work without any problem.

DBG> next
-71550.00*Units:-Unit(J)
NODEFastenerPattern:-EccentricMoment:
   4   loadVector_centerBoltgroup[3] := convert(loadVector_centerBoltgroup[3],
         'units','Units:-Simple:-`*`(kN,m)');

DBG> next
-71.55000000*Units:-Unit(kN*m)
NODEFastenerPattern:-EccentricMoment:
   5   return loadVector_centerBoltgroup

---

And this looks also strange:

DBG> Units:-Split(loadVector_centerBoltgroup[3])
9.45*Units:-Unit(kN*m),
1

Here's an additional example that gets me very confused.

The example above indicates (for me at least) that eval should be used to get the actual table and not the pointer to it (or whatsoever).

In the attached example it looks to be the other way around. Why is the result of the direct assignment a table, and the evaluated result indexed?

TableAndIndexed.mw

@acer 

What I was trying to solve the problem you are mentioning is to use the eval~ statement in the StoreSettings procedure.

The reason why I do not want to do the evaluation before storing is that I still want to use to use the table behaviour during the session.

I've just checked and as far as I can see Maple doesn't do any autosave on libraries I am working on anymore.

Last Autosave of a library was done in june 2022, might be 2022.1 then.

Other Maple workbooks do however autosave backups.

@epostma 

I've filed a new support request on this one, seems the fix above apparently doesn't work.

Case # 00123983

First of all, thanks for the clarifications again. This issue is coming up again and again...

By the way, I didn't know about the "type" command, nice to know that I can use it to check variable types as well.

One of the practical consequences is when using loops in tables. Unfortunately there is no example in the help file when using tables.

Apparently there are 2 different methods when using loops over table contents, as shown below. One by using entries, the other one using eval. A loop over the table itself is not working.

a := table()

table( [ ] )

(1)

a["alfa"] := "hello"

"hello"

(2)

a["beta"] := "nice"

"nice"

(3)

whattype(a)

table

(4)

for i in a do i end do

a

(5)

for i in entries(a, nolist) do i end do

"hello"

(6)

for j in eval(a) do j end do

"hello"

(7)

NULL

NULL

Download table_loops.mw

@TechnicalSupport 

The fix is not working in all conditions...

maxIndex.mw

Thanks for the quick reply.

Looks like a lot there is a bit of work for the editors of Maple Help, as all of the examples there are without the uneval quotes.

@acer 

???
 

restart;

with(Units[Standard])

[`*`, `+`, `-`, `/`, `<`, `<=`, `<>`, `=`, Im, Re, `^`, abs, add, arccos, arccosh, arccot, arccoth, arccsc, arccsch, arcsec, arcsech, arcsin, arcsinh, arctan, arctanh, argument, ceil, collect, combine, conjugate, cos, cosh, cot, coth, csc, csch, csgn, diff, eval, evalc, evalr, exp, expand, factor, floor, frac, int, ln, log, log10, log2, max, min, mul, normal, polar, root, round, sec, sech, seq, shake, signum, simplify, sin, sinh, sqrt, surd, tan, tanh, trunc, type, verify]

(1)

Fmt := (fmt,ee) -> subsindets(ee,`&*`(float,specfunc(Units:-Unit)),
             v->parse(MapleTA:-Builtin:-numfmt(fmt,op(1,v)))*op(2,v)):

 

Fmt("#.0000", 12.3456789*Unit(m));

41484*Units:-Unit(m)

(2)

Fmt("#.00", 12.300000000*Unit(m));

360*Units:-Unit(m)

(3)

Fmt("#.0000", HFloat(12.300000000)*Unit(m));

36000*Units:-Unit(m)

(4)

NULL


 

Download TAnumfmt_units1_mod.mw

Definitive a problem with Maples  Font anti-aliasing...

Now here is a funny thing.

Changing settings of "smooth edges on screen fonts" - regardless of switching them on or off fixes the screen problem temporarily. (see https://www.technipages.com/windows-10-disable-smooth-edges-for-fonts).

But when closing Maple and starting the program again, the problem is back again, regardless of the "smooth edges on screen fonts" setting.

As I said before, the problem just happens when one of my 3 screens is rotated. Maple can even be on an unrotated screen.

@Christopher2222 

Well, the easiest solution apparently is to use the apostroph before the number in Excel.

Btw., LibreOffice Calc behaves the same was as Excel. You can add +1 to a 1, regardless if it is formatted as a number, a text, or with an apostroph in front of it.

@Axel Vogt 

The decimal delimiter is a subject on its own.

We are an engineering company, and some of our software from the US doesn't respect the Windows settings for decimal delimiters at all.  So we need to set it to a dot on all of our PC's, even if our local settings would be the comma.

2 3 4 5 6 7 8 Last Page 4 of 17