acer

32490 Reputation

29 Badges

20 years, 8 days
Ontario, Canada

Social Networks and Content at Maplesoft.com

MaplePrimes Activity


These are replies submitted by acer

@tomleslie Is the link now fixed? [I corrected it.]

@Muhammad Usman It works for me using Maple 2015.2 on either 64bit Linux or 64bit Windows 7 Pro.

On Windows 7 I saved the file to my Desktop, so that the call to ExcelTools:-Import would look the same (except for our user names).

You might want to re-check the filename extension, so ensure that it is really "Employees.xlsx". The following ought to return true, if it's really there and named as you say.

FileTools:-Exists("C:/Users/Usman/Desktop/Employees.xlsx");

Perhaps someone else could try it.

Perhaps you could consider the point-release upgrade from Maple 2015.0 to Maple 2015.2.

What happens if you instead reference the file by its location explicitly when calling Import? Or if you change currentdir() to that file's location before calling Import?

I mean, where is it? Is it something like, umm, "C:/Users/Usman/Desktop/Employees.xlsx" or similar?

@Kitonum I wrote a procedure which searches for more compact representations and optionally informs me of the command which obtained the smallest result, under a supplied time limit. Trying various combinations of collect (with various simplifications on the coefficients) is one part of it.

It can be told to try other things too, such combination of actions like simplify, rationalize, radnormal, expand, etc., as well as combine restricted to various subsets of the trig terms and to a limited depth, and even applying a proc generated by codegen[optimize](...,tryhard) following unapply. It can use several metrics, such as length and `simplify/size/size` and LeafCount

I am hoping to find time to clean it up and add it to a modest package of utilities in the maplecloud.

@abdulganiy The purpose of the call to the command kernelopts(version) is to let you know what version of Maple I was using. I just wanted to show that I has used Maple 2016, since you did.

The names alpha[1],..,beta[2],...gamma[2] were assigned the original coefficients, just for some ease of manipulating the expressions. You can unassign them as follows:

map(unassign,['alpha[1]','beta[0]','beta[1]','beta[2]','gamma0','gamma1','gamma2']):

You could then print your original equations on separate lines, using the results in all2, as follows:

map(print,Equate([alpha[1],beta[0],beta[1],beta[2],gamma0,gamma1,gamma2],all2)):

But you don't really need to assign those names, in order to get your task done. Here is an attachment that is more like your original.

simp_ex2.mw

 

Why have you asked about this in 3 separate postings??

@Ronan If your procedure creates a Matrix (or Array) and associates it with a DataTable then your procedure should return that very same Matrix (or something that points to the same data in memory) and not a copy of it.

Calling convert(mat,Array) or copy(mat) are just two kinds of copying. Both break the association link with the DataTable. and both prevent subsequent updates to either DataTable or Matrix to be mirrored by changes in the other.

If you really need to construct the DataTable while using a Matrix for the variable=mat option (for performance reasons, apparently) then I suggest that you either return that same Matrix or try to use ArrayTools:-Alias to construct an Array.

The command ArrayTools:-Alias allows you to construct a new rtable (shell) that points to the very same data position in memory as another rtable. In contrast, the Reshape command makes a wholly new rtable (only copying the data over, which you don't want).

So you can construct an Array that points at the same data in memory as does some Matrix. So you could have an Array with indexing from zero, while still having your DataTable be associated with a Matrix, and updates to all three would be mirrored. That's what I understand to be your goal: data entry via DataTable, and, subsequently, zero-based programmatic access of the data.

I'm away from a computer right now, but I'll try and confirm later.

I changed all the references in your Question from "Maple 16" to "Maple 2016", since that is the version in which your attachment was last saved and is likely what you meant.

Maple 2016 was released in the year 2016, whereas Maple 16 was four major releases earlier and released in the year 2012.

I am looking forward to the year 2019.

@vv I agree that an `angle` option on `textplot` would be useful.

But I think that it would need to be dynamically constrained to the aspect ratio of the currently displayed values on the axes.

If it were only a fixed angle in terms of the screen then I don't think that it would be useful for nearly as many plotting tasks.

ps. Someone else showed the OP a link to my old posting about STL import and plotting of 3D letters.

@vv The OP has Maple 7, and plotting images on surfaces is functionality that came many major versions later. 

@rallezet I suspect that what you want can either be done via iteration and rtable_scanblock or possibly ImageTools:-Convolution (plus a few scans or masks, etc).

But your example is too scanty in details to proceed properly without going down the wrong road. Please provide a larger example that contains not just the highest and lowest values but also the boundary values and also some in between. Also useful would be a description of what you want to see in the 1st, 2nd frame, etc, if not the explicit first few frame's Matrices.

@das1404 A help page that almost every Maple user should read is for the topic plot,options . (You should read the one in your Maple 7, of course, and not the modern one in that Online Help link.)

In this case, it is the option style that is most relevent.

The style patchnogrid (now aka polygon) is not related to Maple's patchlevel. You are correct, it does mean that the polygon is filled (shaded) and its outline is not shown differently.

@das1404 Does this work in your Maple 7?

restart;

with(plottools):

makeA:=proc()
  local opts;
  opts:=style=patchnogrid,color=gray;
  plots[display](
    plots[polygonplot]([[0,0],[1,0],[4,8],[3,8]],opts),
    plots[polygonplot]([[3,8],[4,8],[7,0],[6,0]],opts),
    plots[polygonplot]([[2,4],[5,4],[5,3],[2,3]],opts),
  scaling=constrained);
end proc:

P1:=makeA():

P1;

plottools[rotate](P1, 2*Pi/3);

@das1404 You can delete the "uses" line inside the proc, and change each polygon to plots[polygon] instead.

But do keep using procedures, to organize your jobs. Write a procedure to create the plot of the capital "D".

Like all your previous queries, I converted this from a Post to a Question.

 

 

First 260 261 262 263 264 265 266 Last Page 262 of 594