项目场景:
学习计算方法时涉及到符号计算问题,使用函数sym和syms
按照书上的例子写:
例一:
a=sym('[1 2 3;4 5 6;7 8 9]');
a^3
exp(a)
例二:
%变量替换
clear;clc;
syms x x1 x2 x3;
y=sym(1+2*x+3^x);
subs(y,'x','x1+2*x2+3*x3')
却产生了相同的报错,如下
问题描述:
错误使用sym>convertChar (line_ 1537)
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 (line_ 1253) S = convertChar(x); 出错sym (line 220) S.s = tomupad(x);
原因分析:
说明问题出现在字符串变量上,把字符串变量改掉即可。
解决方案:
例一:
%符号矩阵的立方和指数
a=sym([1 2 3;4 5 6;7 8 9]);
a^3
exp(a)
例二:
%变量替换
clear;clc;
syms x x1 x2 x3;
y=sym(1+2*x+3^x);
subs(y,'x',sym(x1+2*x2+3*x3))
问题解决了~