For a function, how do I make the function take strings as input?
34 次查看(过去 30 天)
显示 更早的评论
function [ ] = square( a ,b )
a is supposed to be a string value; and b is a number.
I've tried manipulating the value after this line by using num2str(a) & a couple of other methods, but nothing I've done works. I always get this error "Undefined function or variable 'whatever'."
Please help, thank you.
采纳的回答
Walter Roberson
2016-11-14
a_value = num2str(a);
or, better,
a_value = str2double(a);
Note that the routine has to be run by a line of code, or by going to the command line and typing in the command, such as
square('341', 17.2)
1 个评论
Walter Roberson
2016-11-14
In MATLAB, it is not possible to define a function that knows to automatically change a parameter to a string. You cannot, for example, define square such that
square(EFG, 17.2)
should be automatically interpreted as
square('EFG', 17.2)
In each case where you want to pass a string, you need to quote the string when you construct it, like the example I just showed, or like
square_arg = 'EFG';
square(square_arg, 17.2)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!