turn on suggestions

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

Showing results for

Find a Community

Topic Options

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

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-21-2015 10:04 AM

Say I have the matrices:

A = { 1 -2 3,

-1 1 5,

3 -2 -4};

B = { 0 0 0,

0 0 0,

0 0 0};

And I would like to apply the following logic: If a value of A is less than zero (A<B), then keep the value. If not then double the value.

My goal is the matrix

C = { 2 -2 6,

-1 2 10,

6 -2 -4};

Can this be done in IML? I am running into issues where the comparison is being treated as an ALL function.

Or, if I use a statement such as C=A>B then I am returned a matrix of binary values based on the comparison.

Thanks!

Accepted Solutions

Solution

01-21-2015
10:13 AM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to kellyhobson

01-21-2015 10:13 AM

You don't need the matrix B. Use the CHOOSE function as follows:

C = choose(A<**0**, A, **2***A);

For more information about the CHOOSE function, see Complex assignment statements: CHOOSE wisely - The DO Loop

All Replies

Solution

01-21-2015
10:13 AM

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to kellyhobson

01-21-2015 10:13 AM

You don't need the matrix B. Use the CHOOSE function as follows:

C = choose(A<**0**, A, **2***A);

For more information about the CHOOSE function, see Complex assignment statements: CHOOSE wisely - The DO Loop

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Posted in reply to kellyhobson

01-28-2015 09:23 AM

If you do need to use IF-THEN/ELSE logic on matrices, read this article: IF-THEN logic with matrix expressions - The DO Loop