C_R

447 Reputation

16 Badges

2 years, 246 days

MaplePrimes Activity


These are replies submitted by C_R

@Anthrazit 

I had

Override high DPI scaling behavior -> System (Enhanced)

but changing it back to  Application made (as you noticed) no difference.

(Maybe with recent Windows updates there has been an improvement.)

Your observations point toward a machine depended installation issue. Did you compare

C:\Users\%USERNAME%\AppData\Roaming\Maple\2021\Maple.ini

for differences.

Could you share a Maple worksheet where you noticed the rendering issue. A screen shot scaled to 200% would be benefical to see where the differences are. That's an unscaled screen shot from a 4K Monitor with 150% font scaling in Windows

 

Recently I have observed even stronger delays when editing/correcting long text passages in MapleSim 2021, which uses the same Java platform (OpenJDK) as Maple 2021. It requires a restart and is not reproducible. Maybe this is related.

@vv 

That is not good. So far, I've been pretty impressed with what one can achieve with the right assumptions. Let’s hope for improvements. In your example Maple could even produce a hint that the exclusion of the endpoint leads to an evaluated expression.

Thank you for the big picture

@vv Thank you for the clarifications. It is a big help.

@vv 

either in the symmetry or the identity section.

The plot gave already a clue where to look...

Lesson learned: there is more than branches to watch out for!

I have tried to exclude the case you highlighted, but still get a FAIL.

Can this be fixed by better assumptions?

Thank you!
 

restart

kernelopts(version)

`Maple 2022.0, X86 64 WINDOWS, Mar 8 2022, Build ID 1599809`

(1)

arctan(y, z) = -arctan(-y, z)

arctan(y, z) = -arctan(-y, z)

(2)

`assuming`([is(arctan(y, z) = -arctan(-y, z))], [y > 0, z > 0])

true

(3)

`assuming`([is(arctan(y, z) = -arctan(-y, z))], [y >= 0, z > 0])

true

(4)

`assuming`([is(arctan(y, z) = -arctan(-y, z))], [y < 0, z < 0])

true

(5)

Inclusion of the origin

`assuming`([is(arctan(y, z) = -arctan(-y, z))], [y <= 0, z < 0])

false

(6)

`assuming`([is(arctan(y, z) = -arctan(-y, z))], [y > 0, z < 0])

true

(7)

`assuming`([is(arctan(y, z) = -arctan(-y, z))], [y::real, z < 0])

FAIL

(8)

This explains why the real assumption produces a FAIL

``

Excluding y=0

NULL

`assuming`([is(arctan(y, z) = -arctan(-y, z))], [y::real, y <> 0, z < 0])

true

(9)

`assuming`([is(arctan(y, z) = -arctan(-y, z))], [y::real, y <> 0, z >= 0])

true

(10)

`assuming`([is(arctan(y, z) = -arctan(-y, z))], [y::real, y <> 0, z::real])

FAIL

(11)

This should have worked but still produces a FAIL although z=0 is allowed

arctan(0, 0)

0

(12)

NULL


 

arctan_yz_with_new_FAIL.mw

Update:

The frist bulletpoint has been adressed in Maple 2022.

see: help("2022,V,Updates,What,New,Maple,Units")

Thank you!!!

@acer  Highlighted in red in the attachment Why_and_how_arctan_xy.mw is a simplification step that did not work. Is that worth branching off?

@acer 

You provided a solution that I wasn't even looking for, but could prove to be a great asset in more complex problems.

I have summarized my findings for myself for future projects in the attachment and share them here for others dealing with inverse trig functions.

The attachment might also underline why I think getting/forcing arctan(x,y) output is beneficial: It is the extended definition range for the angle. This can help to avoid “jumping” solutions in inverse kinematic problems by reducing the number of angular discontinuities.

Even with arctan(x,y), the need to switch between solutions sometimes can’t be avoided. Yes, a solution that "fits all" is not possible. The question is rather how to derive and identify the correct solution for a given problem in an efficient way. In the example of my question, this means finding for given set of input variables x,y,z  with specific ranges the appropriate equations.

Your solution with the explicit option was not obvious to me. It’s probably not obvious to others. But it can make the whole process of finding the correct equations much more generic.

Thank you again!

Why_and_how_arctan_xy.mw

@Maplesoft: Maybe there are improvements by new or more power full options (or including examples in the documentation (I consulted invtrig,details and arctan as well as the FunctionAdvisor)).  

@Mariusz Iwaniuk 
I am not sure if that explains all. If you simplify

-sin(arcsin(y(t)/(sin(alpha(t))*(l + s(t)))))*(l + s(t))*cos(alpha(t)) - z(t)

to

-sin(arcsin(y(t)/(sin(alpha(t))*(l + s(t)))))*(l + s(t))*cos(alpha(t)) - z(t)

there is still enought information left to find all solutions. Solve this

solve(-y(t)*cos(alpha(t))/sin(alpha(t)) - z(t), [alpha(t)], allsolutions = true)

gives

solve(-y(t)*cos(alpha(t))/sin(alpha(t)) - z(t), [alpha(t)], allsolutions = true)

This includes all branches. Often in a technical context only the frist two branches are of interest (e.g. they describe the angular position of a mechanical link). Arctan(y,z) combines the two solutions and I got this desirable format by coincidence when I used subs inside solve.

I have to post a new question on forcing that output format.

Thank you for the clarifying  links

@Mariusz Iwaniuk 

I was probably not clear. I want

solve(-sin(arcsin(y(t)/(sin(alpha(t))*(l + s(t)))))*(l + s(t))*cos(alpha(t)) - z(t), [alpha(t)])

to produce the output

[[alpha(t) = arctan(-y(t), z(t))], [alpha(t) = arctan(y(t), -z(t))]]

However, your answer indicates that when subs() is used inside solve(), no simplification is applied.

That has the same effect as putting the expression to be solved in single quotes ' ' (delayed excecution).

Does this mean that each time when dealing with an output with arctan I have to test with delayed excecution if Maple can provide an arctan(y,z) version?

 

works well in extended typesetting mode.

Thank you all!

I got a solution to add images by inserting and filling a shape:

https://de.maplesoft.com/support/help/MapleSim/view.aspx?path=tasks/building/annotate/drawing/addShapeWithImage

@nm

Start menus are identical.

Maybe it is the other way around that importing older preferences had a "positive effect" on my W10 installation or for “some reason” you have a persitent entry in the file

C:\Users\%USERNAME%\AppData\Roaming\Maple\2021\Maple.ini

that I do not have.

At a frist glance I could not spot any entry that sounds like engine or server in my file. (I don't know if there are other files where Maple stores user preference data.)

[Options]
Code Editor Zoom=100
Save Options=false
MapleTADocExchange=documentexchange
DataSetsWebSearch=false
SubexpressionPopupsEnabled=true
HelpBGColor=255 255 255
StackLimit=2048
AutoSaveKeepFiles=false
MathDictionaryPopupsEnabled=true
ProxySet=false
CodeEditorMaximizedState=false
Default Zoom=100
SingleUnderscoreSubscript=false
Kernel Mode=2
ProxyAuth=false
Plot Printer DPI=200
MapleLib=
ContextBar=true
HelpNavigator=true
AutoSaveEnabled=true
MDIWin Maximized=false
StatusBar=true
CodeEditorWidth=1297
Home Worksheet=MAPLE_DEFAULT_HOME_PAGE
AutoCompleteEnabled=true
Length of Startup in ms=5712
SyntaxCheckLevel=2
UndoBufferLength=15
Automatic Maple Last Update=738610
SearchBoxCloudGroup=MathApps
HelpLanguages=en
MDIOnOpenAndNew=true
Automatic Maple Update Interval=5
Language=default
Bracket Matching=true
EnterForNewline=true
Window=134 91 730 635
CodeEditorDiagnosticPaneHeight=91
Automatic Maple Updates=true
CodeEditorHeight=737
Remember Plot Options=true
Last Revision Startup=0
Markers=true
MainWin Maximized=false
Space to Dot Operator=true
Default Document Type=0
PlotBGColor=default
Translate Typefaces=true
Use Two Math Fonts Size=18
ToolBar=true
CodeEditorPosX=6
AutoSaveDuration=3
CodeEditorPosY=66
Code Editor Auto Check Syntax=true
Code Editor=true
Kernel Type=1
ContextPanelClosed=false

@nm I can't reproduce this. That's what I get after restart

I have installed Maple with import of 2021 preferences.
Its maybe worth reinstalling Maple and check if preferences have an impact.

@Joe Riel 

Reading your answer, a third option for Modelica outsiders could be: Generating a custom component for the first solution and adding an if statement to the Modelica code for the second solution plus adding a parameter statement for the Boolean. Nevertheless, your first solution is the best and worth mentioning in the custom application help section.


Thanks again!

1 2 3 4 5 6 Page 1 of 6