how to replace all negative values from an iddata with zero?
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello Matlab community! I have an iddata with predicted values from an ARMAX model, for the analysis, I want to replace all negative values with zero, and then plot the result of measured vs predicted in the same graph, how can I do that? I tried to subtract the output values yp.y, been yp the iddata with the predicted values, and then set the negatives values to zero y(y<0)=0, and again construct the iddata yp1 = iddata(y,[],5,'TimeUnit','minutes) but then I realized the zero values are still there and the plot of measured vs predicted is done separately. so I wanna know if there is a way to replace the negative values with zero without extracting the output vector out of the iddata format. thanks
댓글 수: 0
답변 (1개)
Elizabeth Reese
2017년 12월 8일
This example creates a data iddata object of measured outputs and a yp iddata object of predicted outputs.
If I want to change the data inside the yp object, I can do that using:
yp.OutputData
So, to change all of the negatives values in yp to 0, I would do:
yp.OutputData(yp.OutputData < 0) = 0;
If you want to do this for data, you can as well. Then, I could plot the data and yp against each other using:
plot(data,yp);
legend('Estimation data','Predicted data');
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Represent Data에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!