For a function, how do I make the function take strings as input?

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.

댓글 수: 2

can you elaborate?
How do I elaborate? That's everything I want - a function that takes in string values as input. My error is "Undefined function or variable 'whatever string I input'. Sorry if that wasn't clear.

댓글을 달려면 로그인하십시오.

 채택된 답변

Walter Roberson
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

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개)

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

질문:

2016년 11월 14일

댓글:

2016년 11월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by