怎样将符号型矩阵转换成数值型 matlab
发布网友
发布时间:2022-05-26 19:49
我来回答
共3个回答
热心网友
时间:2023-10-22 08:25
符号变量要用syms来声明,matlab中将其识别为一个常量,就像一个给了值的常数一样。因为matlab是不能识别符号的,声明以后系统就把符号变量当作一个常量对待。
例如在s变换中,就要声明s为符号变量,不然,系统不能识别s。
知道了符号变量的作用,矩阵的就不用我多说了吧。
在一个参数取多个值时,可定义为符号变量,这样的最后求得的表达式中就只有这些变量,然后,只需把所取数值依次代入表达式中就可求得结果,可以大大减少计算量。
热心网友
时间:2023-10-22 08:25
符号常量矩阵A,可以使用double来转换为数值矩阵。
>>
A
=
sym([1/2
1/3;1/4
1/5])
A
=
[
1/2,
1/3]
[
1/4,
1/5]
>>
A1=double(A)
A1
=
0.5000
0.3333
0.2500
0.2000
若是符号变量矩阵,比如含有变量x,需要使用变量替换subs,才能得到数值矩阵
>>
syms
x
>>
A
=
[2*x
1/3;
x^2
3+x]
A
=
[
2*x,
1/3]
[
x^2,
3+x]
>>
A1
=
subs(A,'x',1/4)
A1
=
0.5000
0.3333
0.0625
3.2500
热心网友
时间:2023-10-22 08:26
符号型矩阵转数值型矩阵可以使用double命令
如:
>>
a=[1/3
sqrt(2);
2/3
sqrt(5)]
a
=
0.3333
1.4142
0.6667
2.2361
>>
b=sym(a)
%
a是数值型矩阵,先将其转化成符号型矩阵
b
=
[
1/3,
sqrt(2)]
[
2/3,
sqrt(5)]
>>
c=double(b)
c
=
0.3333
1.4142
0.6667
2.2361