I want to normalize the the y-axis of a plot. The current limits for the graph are set from 0 to 30 on the y-axis, how would I normalize the output data of the simulink model being 'sim_data.Pd'? Could it be possible to use the Normalize function for this?

댓글 수: 2

Jonas
Jonas 2022년 6월 29일
what do you mean with Normalization? You want values only between 0 and 1? You want to see in the plot these normalized values?
Giovanni Ponce
Giovanni Ponce 2022년 6월 29일
I want to normalize the all the datasets from 0 to 1 that are going to be plotted, so only the y-axis(datasets) are normalized.

댓글을 달려면 로그인하십시오.

 채택된 답변

NIVEDITA MAJEE
NIVEDITA MAJEE 2022년 6월 29일

1 개 추천

Hi Giovanni,
You can use the ‘normalize’ function to normalize the output data. In the line 71 you can replace it with
plot(t_sim, normalize(sim_data.Pd, 'range'), 'r', 'LineWidth', 1.2);
The “normalize(sim_data.Pd, 'range')” will normalize your data between 0 and 1.
I have used the piece of code in the attached screenshot, and instead of simulated datapoints I have used “rand function” to generate random numbers to be used later for plotting.
Here is the code and later you can also find the generated plot with the code:
sim_data = 20*rand(10,2); %using rand function to generate a 10x2 matrix of random numbers between 0 and 20
t_sim = linspace(0,1,10); %creating a vector with 10 evenly spaced values between 0 to 1
figure;
set(gca, 'FontSize', 10);
hold on;
grid on;
box on;
plot(t_sim, normalize(sim_data(:,1), 'range'), 'b', 'LineWidth', 1.2);
plot(t_sim, normalize(sim_data(:,2), 'range'), 'r', 'LineWidth', 1.2);
ylabel('Power (MW)')
xlabel({'Time (hour)'})
legend('Pset', 'Pd', 'Orientation', 'horizontal', 'location', 'southwest')
title('Dispatch power');
xlim([0 max(t_sim)])
For more information on the normalize function, refer to the following link:

댓글 수: 2

Giovanni Ponce
Giovanni Ponce 2022년 6월 30일
You are a live saver! Thank you
Giovanni Ponce
Giovanni Ponce 2022년 7월 13일
I have another question, If I would want to normilize the actual data instead of just the y axis, how would I make that possible?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Aman Banthia
Aman Banthia 2022년 6월 29일

0 개 추천

Hi Giovanni,
Seems like you can normalize the data using the normalize function. But there is no method named 'sim_data' there are a fixed set of data you can normalize using this function.
Refer to the following MATLAB document to know about the Normalization Methods of the normalize function:

카테고리

도움말 센터File Exchange에서 Verification, Validation, and Test에 대해 자세히 알아보기

제품

릴리스

R2022a

질문:

2022년 6월 29일

댓글:

2022년 7월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by