function deal()

I'm having trouble getting deal() to place one number in multiple places. My lines of code:
y1=[];
y2=[];
y3=[];
y={y1 y2 y3};
y=deal(5);
gives me the error: The right hand side of this assignment has too few values to satisfy the left hand side.

1 Comment

Yin
Yin on 6 Jun 2011
er, sorry, the final line should read:
y{:}=deal(5);

Sign in to comment.

 Accepted Answer

Matt Fig
Matt Fig on 6 Jun 2011
y = cell(1,3); % dispense with the y1, y2, y3 stuff....
[y{:}] = deal(5)
or, without defining the variable first:
[Y{1:3}] = deal(5) % Y is not defined before this line..
But why use DEAL at all?
y = cell(1,3);
y(:) = {9}

1 Comment

Yin
Yin on 6 Jun 2011
That's awesome, I can't read, lol.
I'm actually trying to figure out how to create a pointer-like structure where values can be dynamically changed without knowing all the variables that "point" to it.
Thanks for your help.

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Products

Asked:

Yin
on 6 Jun 2011

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!