How to write the MATLAB code for generating such figure?
    조회 수: 4 (최근 30일)
  
       이전 댓글 표시
    

댓글 수: 3
  Atsushi Ueno
      
 2022년 2월 13일
				x = 1:100;
y = rand(size(x)) * 300 + 9200;
y2 = y;
for i = 2:size(x,2)
    y2(i) = min(y2(i-1),y(i));
end
scatter(x,y,'x');
xlabel('Run number');
ylabel('Total cost');
hold on
plot(x,y2);
hold off
legend('Solutions','Best solution');
ylim([9100 9700]);
답변 (1개)
  Riya
      
 2024년 2월 5일
        Hi Assen 
Below is the MATLAB code for generating the figure as described. The code generates random y-values to simulate total cost, then finds the minimum cost up to the current point for each run number, and plots both the solutions and the best solution up to that point. 
x = 1:100; % Run numbers 
y = rand(size(x)) * 300 + 9200; % Simulate random total costs 
y2 = y; % Initialize best solution array 
% Loop through to find the best solution up to the current run 
for i = 2:size(x,2) 
    y2(i) = min(y2(i-1),y(i)); 
end 
% Scatter plot for solutions 
scatter(x,y,'x'); 
xlabel('Run number'); % Label for x-axis 
ylabel('Total cost'); % Label for y-axis 
hold on % Hold on to add another plot to the figure 
% Line plot for the best solution 
plot(x,y2); 
hold off % Release the hold to finish plotting 
% Add legend 
legend('Solutions','Best solution'); 
% Set y-axis limits 
ylim([9100 9700]); 
When you run this code in MATLAB, it will generate a scatter plot of the solutions and a line plot that tracks the best solution found up to each run number. The y-axis is limited to the range [9100, 9700] as specified. 
For more information about ‘legend’ function refer the document below: 
댓글 수: 0
참고 항목
카테고리
				Help Center 및 File Exchange에서 Axis Labels에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




