Please help this semilogy error message

can you tell me what is wrong with this line ؟
it says
Error using semilogy
Not enough input arguments.
semilogy (BestCost(1,:),
'LineWidth',2,'Color','r',BestCost(2,:),'LineWidth',2,'Color','b')
figure;
semilogy (BestCost(1,:), 'LineWidth',2,'Color','r',BestCost(2,:),'LineWidth',2,'Color','b')
xlabel('Iteration');
ylabel('Best Cost');
legend('normal','stop and watch')
grid on;
hold on
thank you

5 Comments

Implicit x values are accepted for only one y argument; the multiple triplets form works for only x,y pairs.
hL=semilogy (BestCost(1:2,:).', 'LineWidth',2)
should work to do the same thing using the builtin feature to plot arrays by column.
it only shows one graph
It shows one line because it assumes that ‘BestCost(1,:)’ are the ‘x’ ccordinates and ‘BestCost(2,:)’ are the ‘y’ coordinates.
To plot both as individual plots, try something like this —
BestCost = [rand(1,10); rand(1,10)];
figure;
semilogy(BestCost(1,:), 'LineWidth',2,'Color','r')
hold on
plot(BestCost(2,:),'LineWidth',2,'Color','b')
hold off
xlabel('Iteration');
ylabel('Best Cost');
legend('normal','stop and watch')
grid on;
hold on
The second plot inherits the axes of the first plot, so they will both appear on semilogy axes.
.
BestCost = [rand(1,10); rand(1,10)];
semilogy(BestCost.','linewidth',2)
xlabel('Iteration');
ylabel('Best Cost');
legend('normal','stop and watch')
grid on;
Don't need explicit x nor to plot each individually -- the one argument as a 2-column array uses the builtin interpretation by plot and friends to treat columns as separate variables; it rotates through the default colormap automagically, too.
semilogy (BestCost(1,:), 'LineWidth',2,'Color','r',BestCost(2,:),'LineWidth',2,'Color','b')
In the plotting functions, once you have start the first name/value pair, everything else on the line must be name/value pairs.
The plotting functions do not permit adding name/value pairs for each distinct set of data: the name/value pairs must go after all data specifications, and the name/value pairs will apply to all sets of data in the same call.

Sign in to comment.

Answers (0)

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Asked:

on 15 May 2023

Edited:

on 15 May 2023

Community Treasure Hunt

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

Start Hunting!