Cant show plot on a graph matlab GUI
20 views (last 30 days)
Show older comments
the plot for the graph dont appear when i input the values
%Reading Value for selected signal Converter
selectedFunction = app.DropDown.Value;
Fs = 1000; % Sampling frequency (Hz)
T = 1/Fs; % Sampling period (seconds)
L = 1000; % Length of signal (number of samples)
t = (0:L-1)*T; % Time vector
%Reading input parameter
f1 = str2double(app.Frequency1EditField.Value);
f2 = str2double(app.Frequency2EditField.Value);
%Initialize Signal
x = [];
%Selecting function
switch selectedFunction
case "Fourier"
x = sin(2*pi*f1*t) + sin(2*pi*f2*t);
% Add noise if the checkbox is selected (i.e., checked)
if app.WhiteNoiseRemoverCheckBox.Value
x = x + 0.5 * randn(size(t)); % Add noise when checkbox is checked
end
y = fft(x);
% Compute the two-sided spectrum
P2 = abs(y/L); % Magnitude of the FFT divided by the length
P1 = P2(1:L/2+1); % Single-sided spectrum (positive frequencies)
P1(2:end-1) = 2*P1(2:end-1); % Adjust for the single-sided spectrum
% Define the frequency axis
f = Fs*(0:(L/2))/L;
plot(app.UIAxes, t, x);
plot(app.UIAxes_2, f, P1);
0 Comments
Answers (1)
Walter Roberson
on 18 Nov 2024 at 17:54
selectedFunction = app.DropDown.Value;
That is going to reply with a character vector even if the Items was initialized with a string array. uidropdown() converts string arrays into cell array of character vectors.
0 Comments
See Also
Categories
Find more on Spectral Measurements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!