function deal()

2 views (last 30 days)
Yin
Yin on 6 Jun 2011
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)

Products

Community Treasure Hunt

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

Start Hunting!