Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
ArrayTools[Reshape] - create a reshaped copy of a Matrix, Vector, or Array
Calling Sequence
Reshape(A, bounds)
Reshape(A, bound1, bound2, ...)
Parameters
A
-
Matrix, Vector, or Array
bounds
list of integers or ranges of integers
boundN
integer or range of integers
Description
The Reshape command copies the elements of a Matrix, Vector, or Array into a new Matrix, Vector, or Array of a different shape, but does not change the underlying ordering of the elements. Although the datatype of the rtable remains unchanged, its dimensions are changed to match those given in the bounds.
Unlike ArrayTools[Alias], which provides a new view of the existing data within a given rtable without copying it, Reshape instead creates and returns a new rtable containing a complete physical copy of the data in the input. Unless a full copy of the input is required, it is usually much faster to use ArrayTools[Alias], which allows in-place actions to be performed on an rtable as if it were a different shape.
The product of the dimension sizes must equal the number of elements in the original rtable. Each bound in the input may be specified as either a range of integers or a single integer. Single integers will be assumed to represent the upper bound of a range, with the lower bound being 1. Ranges with lower bounds not equal to 1 are only permissible if the input is of subtype Array.
Both Fortran and C order rtables are supported. Reshape always returns an rtable of the same order as the input. Note that the location of the elements in the reshaped rtable is entirely dependent on the order of the input rtable. For example, reshaping a 2-dimensional Array into a 1-dimensional Array will produce very different results depending on the order of the input.
If the input rtable has non-rectangular storage, it is converted to rectangular storage before it is reshaped.
Reshape creates an rtable whose subtype matches the subtype of the input, where possible. Matrices will be reshaped into Matrices and Vectors if possible, and Vectors will be reshaped into Vectors and Matrices, if possible. Arrays will always be reshaped into Arrays.
This function is part of the ArrayTools package, so it can be used in the short form Reshape(..) only after executing the command with(ArrayTools). However, it can always be accessed through the long form of the command by using ArrayTools[Reshape](..).
Examples
See Also
ArrayTools, ArrayTools[Alias]
Download Help Document