Effacer les filtres
Effacer les filtres

Different ways of specifying arguments in build-in Matlab commands

2 vues (au cours des 30 derniers jours)
s z
s z le 23 Jan 2019
Commenté : Walter Roberson le 1 Fév 2019
Hi,
I have got a quick questions, it probably a really stupid one but I just can't grasp my head around it... In Matlab it seems that it is possible to call a build-in matlab command with arguments in two different ways. The first one is just by sepcifiying the arguments in the functions
scatter(x,y,sz,'d')
The second method is by using strings to kind of 'announce' to the function that the necessary arguments are coming
scatter(x,y,sz,'MarkerEdgeColor',[0 .5 .5],...
'MarkerFaceColor',[0 .7 .7],...
'LineWidth',1.5)
Why is it not possible to just do
scatter(x,y,sz,[0 .5 .5],[0 .7 .7],1.5)

Réponse acceptée

Walter Roberson
Walter Roberson le 23 Jan 2019
Because
scatter(x, y, sz, 'LineWidth', 1.5, 'MarkerFaceColor', [0 .7 .7], 'Parent', gca, 'MarkerEdgeColor',[0 .5 .5])
is also valid. Name/Value pairs can occur in any order, and are (often) optional, so scatter would have no way of knowing that
scatter(x,y,sz,[0 .5 .5],[0 .7 .7],1.5)
was not intended to mean
scatter(x, y, sz, 'MarkerFaceColor', [0 0.5 0.5], 'MarkeEdgeColor', [0 0.7 0.7], 'Parent', 1.5)
  5 commentaires
s z
s z le 1 Fév 2019
Thank you!
Walter Roberson
Walter Roberson le 1 Fév 2019
properties matlab.graphics.chart.primitive.Line
properties matlab.graphics.chart.primitive.Bar
bp = ?matlab.graphics.chart.primitive.Bar;
sortrows(char({bp.PropertyList.Name}))
sortrows(char({bp.PropertyList([bp.PropertyList.Hidden]).Name}))

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by