How to use default values with deal()?

2 visualizaciones (últimos 30 días)
Mr M.
Mr M. el 14 de Nov. de 2014
Comentada: Guillaume el 15 de Nov. de 2014
I use the fallowing method in a function to assign parameter values:
parameters = [1,2,3];
temp_param = num2cell(parameters);
[p1,p2,p3] = deal(temp_param{:});
It is possible to use default values somehow (with a simple compressed syntax)?
So if parameters = [1,2] I still want to use [p1,p2,p3] = ... but let p3=0 by default.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 14 de Nov. de 2014
Editada: Azzi Abdelmalek el 14 de Nov. de 2014
parameters = [1 2];
temp_param = num2cell(parameters)
temp_param(numel(temp_param)+1:3)=num2cell(zeros(1,3-numel(temp_param)))
[p1,p2,p3] = deal(temp_param{:})
  2 comentarios
Jan
Jan el 15 de Nov. de 2014
Editada: Jan el 15 de Nov. de 2014
Or simpler:
temp_param(numel(temp_param)+1:3) = {0};
This works also, if the wanted length is larger.
Guillaume
Guillaume el 15 de Nov. de 2014
Note that similar to your previous question, the deal is completely unnecessary.
[p1, p2, p3] = temp_param{:};

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by