Plot gain vs frequency (GUI)

14 views (last 30 days)
Badr Al-Sabri
Badr Al-Sabri on 7 May 2022
Commented: Voss on 8 May 2022
The capacitor result is working
But the plot is giving an error and cannot draw gain vs freq
This is the code:
function calculate_button_Callback(hObject, eventdata, handles)
option = get(handles.r_values, 'value');
switch option
case 1
R = 1000;
case 2
R = 2000;
case 3
R = 3000;
case 4
R = 4000;
end
f_c = get(handles.fc_value,'string');
f_c = str2double(f_c);
c_value = 1 / (2*pi*R*f_c);
c_value = num2str(c_value);
set(handles.cap_result,'string',c_value);
function plotbutton_Callback(hObject, eventdata, handles)
r_value1 = get(handles.r_values,'value');
switch r_value1
case 1
R = 1000;
case 2
R = 2000;
case 3
R = 3000;
case 4
R = 4000;
end
c_value1 = get(handles.cap_result,'string');
if get(handles.highbutton,'string') == 1
Gain = tf(R*c_value1,1 + R*c_value1);
bode(Gain)
elseif get(handles.lowbutton,'string') == 1
Gain = tf(1,1 + R*c_value1);
bode(Gain)
end

Accepted Answer

Voss
Voss on 7 May 2022
Edited: Voss on 8 May 2022
If you have the Control System Toolbox or the System Identification Toolbox, you can try using bodeplot instead of bode, which will allow you to specify the (UI)Axes to plot into and other options.
References:
(They seem to be the same function in two different toolboxes, judging by their documentation pages.)
  4 Comments
Badr Al-Sabri
Badr Al-Sabri on 8 May 2022
Thanks Bro, this worked perfectly.
Voss
Voss on 8 May 2022
Great! You're welcome!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!