f=sym('5*u')
警告: Support of strings that are not valid variable names or define a number will be removed in a future release. To create symbolic
expressions, first create symbolic variables and then use operations on them.
In sym>convertExpression (line 1536)
In sym>convertChar (line 1441)
In sym>tomupad (line 1198)
In sym (line 177)
f =
5*u
你好,同学
sym函数在新的matlab版本专门指对单个字符进行sym转换,比如sym('a'),如果要多个,建议用syms,比如syms('a','b');对于表达式的sym,现在matlab逐渐规范化为 str2sym函数,比如题主的sym('5*u'),matlab出现警告是因为matlab不推荐这种过时的用法,建议下面几种用法
(1)利用str2sym函数
f = str2sym('5*u')
(2)建议用syms申明,之后再直接写表达式
syms u
f = 5*u
(3)利用sym函数,对每个可能出现的单个字符进行申明【这种方法不推荐】
f = 5*sym('u')
以上这几种方法比较推荐第一和第二种,最后结果都一致,希望能够帮到你。
这里弹出的警告,关于这里sym的调用,Matlab中有两种解释方法: 一是认为输入参数5u是符号变量名;二是认为5u是符号表达式。显然5*u不符合Matlab中变量的命名规则,所以这里将其识别为符号表达式。给出的警告,用于提示用户Matlab中采用了第二种解释方式。
可能是版本的问题 你把sym改成syms再运行下