Asked by HARSH ZALAVADIYA
on 22 Mar 2019

I am struggling to create a following matrix in one go (using as few numbers used as possible). Can someone please help me out?

N =

0 0 0 0 0 1

0 0 0 0 0 1

1 2 3 4 5 1

0 2 4 6 8 1

8 7 2 5 9 1

Answer by Jan
on 25 Mar 2019 at 14:32

Edited by Jan
on 25 Mar 2019 at 14:40

Accepted Answer

With 2 "numbers" only:

c = ['0 0 0 0 0 1 ', ...

'0 0 0 0 0 1 ', ...

'1 2 3 4 5 1 ', ...

'0 2 4 6 8 1 ', ...

'8 7 2 5 9 1']

sscanf(c, '%g', [6,5]).'

But it depends on the rules if characters are considered as "numbers". But what does "in one go" mean? Is calling functions like dec2base accepted also? Without dec2base:

floor(rem([1; 1; 123451; 24681; 872591] ./ 10.^(5:-1:0), 10))

Or is this "better":

floor(rem([1; 1; 123451; 24681; 872591] ./ flip(10.^(0:5), 10))

Answer by John D'Errico
on 25 Mar 2019 at 15:15

Edited by John D'Errico
on 25 Mar 2019 at 15:57

Far fewer numbers required...

dec2base(hex2dec({'1','1','1E23B','6069','D508F'}),10) - '0'

ans =

0 0 0 0 0 1

0 0 0 0 0 1

1 2 3 4 5 1

0 2 4 6 8 1

8 7 2 5 9 1

Or, this, with even fewer numerics?

dec2base(base2dec({'1','1','2N97','J1L','IPAN'},36),10) - '0'

But more characters than my first solution.

dec2base([1 1 123451 24681 872591],10) - '0'

Jan
on 26 Mar 2019 at 1:48

John D'Errico
on 26 Mar 2019 at 8:01

True. Though I'm not sure my nostalgia is well placed for those great, wonderful days of decks of punched cards and great spools of paper tape. There was a trick with decks of cards - draw a diagonal line across the top of the card deck, so that if one accidentally dropped the box of cards on the floor, they could be more easily re-odered.

Those were days when everything we did with computers was completely different. Output was onto great reams of computer printout. One day, I made a mistake plotting a simple figure with what was probably a Calcomp plotter. So the next day I received a long roll of Calcomp paper. Good quality paper too, 3 feet wide, and perhaps 100 feet long before they stopped it, with only a long diagonal line drawn down the length. I brought it home to use as a painting dropcloth, useful for many years afterwards.

I don't miss the days that much when my main computer interface was toggling the dip switches on the front panel of a computer. But there was a lot of fun to be had back then too.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 6 Comments

## Adam (view profile)

Direct link to this comment:https://nl.mathworks.com/matlabcentral/answers/451703-create-matrix-with-zeros-ones-and-some-numbers#comment_684336

## Jos (10584) (view profile)

Direct link to this comment:https://nl.mathworks.com/matlabcentral/answers/451703-create-matrix-with-zeros-ones-and-some-numbers#comment_684337

## Adam (view profile)

Direct link to this comment:https://nl.mathworks.com/matlabcentral/answers/451703-create-matrix-with-zeros-ones-and-some-numbers#comment_684338

## John D'Errico (view profile)

Direct link to this comment:https://nl.mathworks.com/matlabcentral/answers/451703-create-matrix-with-zeros-ones-and-some-numbers#comment_684343

## HARSH ZALAVADIYA (view profile)

Direct link to this comment:https://nl.mathworks.com/matlabcentral/answers/451703-create-matrix-with-zeros-ones-and-some-numbers#comment_685502

## Jan (view profile)

Direct link to this comment:https://nl.mathworks.com/matlabcentral/answers/451703-create-matrix-with-zeros-ones-and-some-numbers#comment_685522

Sign in to comment.