## 132 Reputation

5 years, 284 days
I am a front end developer here at Maplesoft working on Maple Learn and the Maple Calculator.

## I don't believe that you can define the ...

I don't believe that you can define the size of the plot in cm, but you can define it in pixels using:

`size=[x,y]`

To make the plot a frame and mesh you can use:

`style=wireframe`

For the thickness of the frame use:

`axis=[thickness=0.5]`

For the density of the mesh you can change the value using numpoints:

`numpoints=5000`

This won't be exact to the pt like you're looking for however.

For the thickness of the plot use:

`thickness=1`

You can change the axis names font and size using.

`labelfont=[Times,Roman,10]`

For example:

`plot3d( sin(x)+cos(y), x=-Pi..Pi, y=-Pi..Pi, style=wireframe, axis=[thickness=0.5], thickness=1, labelfont=[Times,Roman,10], numpoints=5000, size=[500,500] );`

I hope this helps as a starting point.

## No initial condition for >= block...

I'm not an expert on this but my best guess is that the problem may be that without having some constant block input, the model as-is has no initial condition for starting the signal from the >= block or similar blocks.

The flange that the sensor is connected to is the rotation of the joint.

Since there is no initial signal there's no rotation and no feedback signal. If you instead connect the sensor for this and similar flanges to the Inertial reference flange the model runs completely, (though I'm unsure if the output is what you're looking for).

To_Box_5_error_edit.msim

## The axis = [mode = log] plot argument...

Plotting commands have an axis argument that can take subarguments. In your case one way to do this would be with

`dataplot([1, 2, 3], [1, 5, 10], axis = [mode = log]);`

if you want both axis to have log scalling.

If you want just one of them to then use one of:

```dataplot([1, 2, 3], [1, 5, 10], axis[1] = [mode = log]);

dataplot([1, 2, 3], [1, 5, 10], axis[2] = [mode = log]);```

## The Calculator App is separate from Mapl...

The login used for the Maple Calculator is the same as the one you used to login to Maple Primes (as well as Maple Cloud). The app is free so it won't require the key you use for Maple.

## Files to add to allow list...

If you want to be able to have your anti-virus enabled at the same time you can add the Maple folder to your anti-virus exception list:

For Windows and Maple 2020 the Maple folder is:

`C:\Program Files\Maple 2020`

Alternatively, you can add the following key files:

```C:\Program Files\Maple 2020\bin.X86_64_WINDOWS\cmaple.exe
C:\Program Files\Maple 2020\bin.X86_64_WINDOWS\maplelauncher.exe
C:\Program Files\Maple 2020\bin.X86_64_WINDOWS\maplew.exe
C:\Program Files\Maple 2020\bin.X86_64_WINDOWS\mserver.exe
C:\Program Files\Maple 2020\jre\bin\javaw.exe```

Would you be able to let us know which anti-virus it is (or e-mail support@maplesoft.com )? We can have someone reach out to add Maple to the default allow list.

## genmatrix is depreciated use GenerateMat...

If you replace the last two lines of your code with

```A := GenerateMatrix(sys, [x[1], x[2], lambda[1], lambda[2]]);
Y := LeastSquares(A);
```

then it will produce the least squares with b being:

`Vector[column](6, [0, 1, 0, 0, 0, 0])`

also stored in the variable A.

You could also do

```A,b := GenerateMatrix(sys, [x[1], x[2], lambda[1], lambda[2]]);
Y := LeastSquares(A,b);```

to store them in seperate variables.

The four lines after restart can also all be replaced by

`with(Student[LinearAlgebra]);`

to get all the commands from the Student LinearAlgebra package, or just

`with(LinearAlgebra);`

for the regular LinearAlgebra package.

If you've used all the downloads or can't find the e-mail you can e-mail support@maplesoft.com (with an address that uses the school domain) and we'll send you a new link.

## diff command and Maple help pages...

You can find the derivative of a function using the diff command. You can find the syntax for it by entering

`?diff`

`diff(sin(x),x)`

is given as one of the examples.

To plot that you just use the plot command (see ?plot for the help page).

You can assign the value of the resulting derivative using colon equals := . For example

```eq:=x;
plot(eq,x);```

as well you could define it as a function.

```f:=x-> x^2;
plot(f(x),x);```

You can also assign plots to variables;

```p1:=plot(f(x),x);
p2:=plot(diff(f(x),x),x);```

then using the display command in the plots package to show them on the same plot.

```with(plots):
display(p1,p2,color=[red,blue]);```

plot_examples.mw

The attached has the code above in a Maple worksheet.

## Plot Click Code...

You could probably do something like this using the plot click code.

To add code that does something when you click a plot you need to insert a plot component from the components palette on the left.

You can set the contents of the plot region using:

```with(DocumentTools):
with(plots):
data:=<<1|2>,<3|4>,<5|6>>

p:=pointplot(data,view=[0..6,1..6]):
SetProperty(Plot0,value,p);```

To change the click code of the plot click it and select "Edit Click Code" from the context panel. If you add something like

```cx:=GetProperty("Plot0",clickx);
cy:=GetProperty("Plot0",clicky);
if cx < 3.5 and cx > 2.5 and cy < 4.5 and cy > 3.5 then
#Do something;
end if:```

Then something will be done when you click in the area indicated (cx < 3.5 and cx > 2.5 and cy < 4.5 and cy > 3.5 ) on the plot.

The attached Document hides a plot component when a button is pressed and shows it again when you click on that spot on the plot, (using SetProperty("Plot1",visible,true); ).

I hope this helps you get started.

Plot_Click_Code.mw

## plots:-display with multiple plots...

If you're clicking and dragging plots from one canvas to another you can only move one at a time.  If you want to display mutliple lines in one plot the easiest way is probably to use plots:-display.

For Example:

```with(plots);
with(plottools);
l1 := line([0, 0], [1, 1], color = green);
l2 := line([2, 0], [1, 1], color = blue);
l3 := line([0, 1], [2, 1], color = red);
display(l1, l2, l3);```

plots_display.mw

Is this what you're looking to do?

## Font style set...

It's not a perfect solution but it may look better if you change the font style set. You can find instructions for this here.

I've attached a worksheet that you can use as a starting point.  With this file you can go to  "Format" > "Manage Style Sets" and skip to step 7 in the instructions linked above.

You can also edit the saved style worksheet in a text editor (such as notepad++), and edit all the fonts and other properties in bulk. The foreground="[r,g,b]" parameter determines the font colour.

High_Contrast_Style_Set.mw

## You can use sprintf...

You can use sprintf to format the string to contain 'i'.
As well you don't need to do a for-while loop, in this case a for loop will work. I also declared 'ourfile' as an Array first as they are more efficient than memory tables if you plan to do a large loop.

 (1)

## Import...

There are a few ways you can import figures into Maple, if your figure is stored as data or an image you can try using the import command. The help page for it can be found here.

As well you can go "Insert" > "Image" > "From File" from the menu bar.

## Would something like this be what you ar...

Would something like this be what you are looking for?
I have the box as dampers and the vibration as sine wave input. The springs and mass are from the 1D Mechanical library.
Box_with_springs.msim

 Page 1 of 1
﻿