I want to take the user input and check if it is:
if the user input 'high pass' -> calcute this equation:GpRC = tf(R*C,1 + R*C);
if the user input 'low pass' --> calcute this equation:GpRC = tf(1,1 + R*C);
and then plot the true statement
this is the code:
%Make the user choose the filter
msgout = 'Choose from (high pass / low pass) \n';
%Calculate the gain
filter_option = input(msgout);
if strcmp(filter_option,'high pass')
GpRC = tf(R*C,1 + R*C);
plot(f_c,GpRC)
elseif strcmp(filter_option,'low pass')
GpRC = tf(1,1 + R*C);
plot(f_c,GpRC)
else
disp('Error!')
end

3 件のコメント

Riccardo Scorretti
Riccardo Scorretti 2022 年 5 月 7 日
You didn't ask a question. In MATLAB Answers, users ask a precise question on a technical issue concerning MATLAB.
Dyuman Joshi
Dyuman Joshi 2022 年 5 月 7 日
What exactly is the problem you are facing?
Badr Al-Sabri
Badr Al-Sabri 2022 年 5 月 7 日
--> msgout = 'Choose from (high pass / low pass) \n';
When I write "high pass"
I am getting an error

サインインしてコメントする。

 採用された回答

Riccardo Scorretti
Riccardo Scorretti 2022 年 5 月 7 日

0 投票

That's being said, your problem is (most probably) that you wish to ask the user to enter a string:
filter_option = input(msgout);
In this case, you must add the second argument 's' to input, otherwise input will look for a numerical value or a numerical expression:
filter_option = input(msgout, 's'); % *** add 's' as second argument ***

2 件のコメント

Badr Al-Sabri
Badr Al-Sabri 2022 年 5 月 7 日
Thank you
It worked
Riccardo Scorretti
Riccardo Scorretti 2022 年 5 月 7 日
You are welcome

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by