1.话说有些同学呀
就是不学习一下基础知识,仅凭主观臆想写程序,今天遇到了一个这样的问题;
2.程序十分简单
如下:
syms x;
f1=sym('x^2+1');
ezplot(f1);
3.运行报错
如下:
错误使用 sym>convertChar
Character vectors and strings in the first argument can only specify a variable or number. To evaluate character vectors and strings representing symbolic expressions, use 'str2sym'.
出错 sym>tomupad (第 1608 行)
S = convertChar(x);
出错 sym (第 400 行)
S.s = tomupad(x);
出错 freexyn67 (第 6 行)
f1=sym('x^2+1');
4.这个问题难吗
一点也不,稍微了解一下符号运算的用法,就会知道,sym函数是声明符号变量的,而创建符号表达式直接写表达式即可(旧版本也可把符号表达式放入单引号中,写成字符向量的形式,新版本不建议),并不需要再使用sym函数。
另外,有些同学一眼看到“出错 sym…”,立刻手足无措,以为sym函数出了问题,于是从这方面入手检查纠错,显然是非常错误的做法,大家必须明白,Matlab自带的函数是不会出错的,如果出错了,原因只有一个:你的用法错了!
5.修改后的程序
如下:
syms x;
% f1=sym('x^2+1');
f1=x^2+1;
ezplot(f1);
End