MATLAB中如何把符号变量转化为数值变量?

首先,s是一个多项式,由符号变量构成。
s=simplify(s);
coeff=sym2poly(s);
得到系数矩阵
然后我通过计算coeff得到了一阶导数零点。
现在的问题是,这个零点无法正常的输出。
比如:
disp(['在',zeropoint,'处取得极值']);
是无法输出zeropoint的。

我知道,可以double(zeropoint),但是得到的并不是数值型的结果。
请问各位MATLAB行家,符号变量如何转化为数值变量?

有点奇怪,你通过sym2poly得到了数值型的系数矩阵coeff,然后又怎么会得到sym类型的零点呢?

 

如果zeropoint是数值类型,可以改为

disp(['在',mat2str(zeropoint),'处取得极值']);

如果zeropoint是符号类型,可以改为

disp(['在',mat2str(double(zeropoint)),'处取得极值']);

或者

disp(['在',char(zeropoint),'处取得极值']);

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-01-04

如果zeropoint是数值类型,可以改为

disp(['在',mat2str(zeropoint),'处取得极值']);

 如果zeropoint是符号类型,可以改为

disp(['在',mat2str(double(zeropoint)),'处取得极值']);

或者

disp(['在',char(zeropoint),'处取得极值']);

   

第2个回答  2014-08-25
subs(f(x),10)
subs:替换函数,上面是指把x=10赋给f(x)
求采纳为满意回答。追问

zeropoint是符号变量,此时它表示某一个确定的数值,但是不是数值型的而是sym型的,请问你的替换是什么意思,怎么用?

第3个回答  2015-06-19
如果zeropoint是数值类型,可以改为

1disp(['在',mat2str(zeropoint),'处取得极值']);

如果zeropoint是符号类型,可以改为

1 disp(['在',mat2str(double(zeropoint)),'处取得极值']);

或者

1 disp(['在',char(zeropoint),'处取得极值']);
相似回答