필터 지우기
필터 지우기

How to smooth multiple datasets in app Designer with one slider

조회 수: 3 (최근 30일)
Daniel Abraham
Daniel Abraham 2021년 7월 28일
댓글: TADA 2021년 8월 8일
Hello everyone, please I need help with smoothing imported data in App Designer interactively.
I have 4 datasets and 4 seperate buttons to plot them one dataset per time on one axis.
data1
data2
data3
data4
Now I want to make a custom slider that smoothens each plotted data showing on the axes but I'm not quite sure how to do that.
smootheddata1=smooth(app.data1,changingValue)
hold(app.UIAxes, 'on')
plot(app.UIAxes, data1, smootheddata)
hold(app.UIAxes, 'off ')
I saw that this code above is used to smooth a particular data series but how do I do that for every plotted dataset using one slider. I want the slider to perform smoothing for any plotted data using the data1, data2, data3 or data4 buttons
Thanks in advance

답변 (1개)

TADA
TADA 2021년 7월 28일
If I understand correctly this time, you have 4 datasets, you want to plot one of them and you want to control the smoothing with the slider. correct?
save all your datasets in a list (cell array if the sizes are prone to change which is quite likely, or they are tables or whatever), and keep a separate property which tells you the index of current plotted dataset.
Then when you choose to plot this dataset or the other you update the currentPlottedDataSetIndex property and plot.
The slider should have a callback function which also plots argain.
when plotting you take the desired dataset from the list (using the index saved in the currentPlottedDataSetIndex property), apply smoothing then plot it.
The example I posted last time still holds but the datasets should be handled as a list.
  댓글 수: 5
Daniel Abraham
Daniel Abraham 2021년 8월 8일
Thanks @TADA, Did you try running the app, it seems to have problems with the fuctions gausmf and doplot, I downloaded the curve fitting toolbox and tested it but still no luck.
TADA
TADA 2021년 8월 8일
Daniel, I can run it on my system.
I think gaussmf is part of the fuzzy logic toolbox, but you can just replace it with any other calculation for the sake of this example:
x = linspace(0, 3.5);
y = 2*exp(x) + 10*rand(1, length(x)) - 5;

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

카테고리

Help CenterFile Exchange에서 Data Preprocessing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by