making a function that uses a string input
89 次查看(过去 30 天)
显示 更早的评论
I am trying to make a function:
function [y]=my_function(A,B,C)
where A is a string and B and C are just numbers. If someone enters 'yes' for A then a number for B and C I want it to do one calculation. If someone enters 'no' for A then numbers for B and C I want it to do another calculation. I was trying to use if statements i.e.
if A='yes'
calculations
end
if A='no'
calculations
end
but I can't get the function to accept strings and then use them with the if statements. Is there a way to do this or am I way off? Thanks. Let me know if I wasn't clear with something.
0 个评论
采纳的回答
Walter Roberson
2011-10-20
if A='yes'
attempts to assign 'yes' to A in the middle of the 'if' statement. This is... not good.
if A=='yes'
would attempt to compare A to 'yes'. Which will work if A happens to be a row vector with exactly three elements (the same size as 'yes'), but will fail with a dimension mismatch if A happens to be a different size, such as if A is a row vector with two elements containing 'no' . Using '==' to compare strings is thus not recommended.
For your situation, I would suggest you use strcmpi()
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 String 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!