matlab中函数的参数

matlab中函数的参数,matlab,Matlab,我正在编写一个有两个参数的函数,我希望第二个参数作为字符串处理。以下代码遇到错误 函数导数=派生(矩阵x9x1,字符串变量) 结束 我怎样才能告诉matlab呢? 我的意思是,即使用户输入1作为第二个参数,它也应该作为字符串处理 用户应该能够输入例如omegaMatlab函数与编程语言函数不同。并不是说这些编程语言中的示例也不起作用。将整数传递给需要字符串的函数将导致编译错误 在Matlab中,我能想到的最好的替代方法是检查或转换函数中的第二个输入变量。也许这会对您有所帮助:如果函数的第二个参数

我正在编写一个有两个参数的函数,我希望第二个参数作为字符串处理。以下代码遇到错误

函数导数=派生(矩阵x9x1,字符串变量) 结束

我怎样才能告诉matlab呢? 我的意思是,即使用户输入1作为第二个参数,它也应该作为字符串处理
用户应该能够输入例如omega

Matlab函数与编程语言函数不同。并不是说这些编程语言中的示例也不起作用。将整数传递给需要字符串的函数将导致编译错误


在Matlab中,我能想到的最好的替代方法是检查或转换函数中的第二个输入变量。也许这会对您有所帮助:

如果函数的第二个参数“是一个字符串”,也就是说,如果将它括在单引号中,那么它将仅作为字符串处理。如果要将数字传递给函数并将其转换为字符串以进行进一步操作,请使用函数
num2str
。如果您想编写一个函数,根据第二个参数的类型采取不同的操作,那么在调用该函数时必须测试该类型;您可能需要查看函数
ischar
isstrprop
isnumeric
,以及它们之间的关系


哦,别忘了Matlab的“字符串”实际上是一个字符数组,它只是表示字符的整数的一种方便的“类型”。

这个答案的第一段很奇怪。Matlab函数与编程语言函数类似。如果在运行时或编译时将整数传递给需要字符串的函数,许多语言都会抱怨。那些不抱怨的人对你隐瞒了真相,他们为你做了必要的类型转换。我的观点是:在编程中,你显式地让函数需要某种类型的变量。在MATLAB中不是这样的。你是说
num2str
而不是
str2num