Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Apr 07, 2021
04:15 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 07, 2021
04:15 AM

Shift values in matrix

Hey, I liked to know how to shift the values at matrix by a certain value like this.

I have script in MathCad and matrix with hundreds values, and I need it to work automaticly. Thanks for help.

9 REPLIES 9

Apr 07, 2021
04:39 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 07, 2021
05:26 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 07, 2021
05:26 AM

Thanks a lot, it works, you are very kind.

Apr 07, 2021
07:35 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 07, 2021
07:35 AM

Here are my 2 cents

In contrary to Luc's "Mrot", my "Mshift" uses programming and therefore does not work in the limited Prime Express version. Also notice that Mrot and Mshift rotate/shift in different directions.

Doubling the data by stacking the matrix on top of itself is bold and may be considered inefficient, but this should not be a problem with matrices of just a few hundreds of rows 😉

You may also use the same function to shift both rows and columns:

P6 worksheet attached

Apr 08, 2021
11:09 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 08, 2021
11:09 AM

It can be with built in functions:

Apr 08, 2021
11:13 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 08, 2021
11:13 AM

Or just by mangling with indices as follows:

Apr 11, 2021
02:13 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 11, 2021
02:13 AM

Or a pure math solution:

Apr 11, 2021
09:39 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 11, 2021
09:39 AM

Yes, there are multiple roads that lead to Rome.

I guess that for shifting/rotating the rows of a vector or matrix, first filling an nxn matrix is a bit overdone. Besides, this method doesn't work (as intended) for shifting/rotating rows of matrices....

Luc

Apr 11, 2021
10:38 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 11, 2021
10:38 AM

@LucMeekes wrote:

Yes, there are multiple roads that lead to Rome.

I guess that for shifting/rotating the rows of a vector or matrix, first filling an nxn matrix is a bit overdone. Besides, this method doesn't work (as intended) for shifting/rotating rows of matrices....

Luc

I agree that the way the idea was presented isn't very practical for actual use.

But the principle can be turned into a convenient utility function which works on the rows of matrices, too 😉

Because the "matrix" function ignores the setting of ORIGIN, the function should also be ORIGIN-aware.

On the other hand ... it seems that @PZ_9812318 is no longer interested in his question. 😞

Apr 12, 2021
05:41 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Notify Moderator

Apr 12, 2021
05:41 AM

It is possible to generate the rotation matrix if you do not feel like filling it in with 0 and 1 manually.

If you need to populate a sparse matrix - you only need to set the values that are not equal to 0, others will become zero automatically. The dimension is defined by the largest row and column indices that you used while assigning values to specific elements.

j in the example contains an expression of i, that define how elements will be reordered.