matlab由符号矩阵组成的元胞数组,如何转换成一个大大的符号矩阵呢?

matlab由符号矩阵组成的元胞数组,如何转换成一个大大的符号矩阵呢?用一堆小的符号矩阵组成了一个大元胞矩阵。现在希望把元胞矩阵变成一个sym型矩阵,以便后续矩阵运算。
cell2mat不好用,参见截图。
跪求大神指点迷津!!
上一张图数据不统一,应该是这张图:cell2mat不支持符号矩阵。跪求大神解答!

我也有此问题 刚刚发现的方法:

数值,字符,矩阵,元胞,

数值:1 ,2, 3
字符:形如 ’1’,’a’,’A’
矩阵:矩阵中的元素要求类相同,例如
数值矩阵[1 2 ; 3 4]
字符型矩阵[’1’ ’a’;’A’ ’2’ ]
如果字符型矩阵中包含数值,则数值为空字符,即[’1’ 1 ’;a’ ’A’]=[’1’ ’’ ;’a’ ’A’]
元胞矩阵[{1} {2};{3} {4}],元胞矩阵的元素只能是元胞
元胞:比矩阵更强大,它的元素可以是数值、字符、矩阵、元胞,但它的元素必须组成矩阵
即可以写成a={’1’{2} ;[3 4] 5}
其中a(1)=’1’字符,a(2)=[3 4] 矩阵,a(3)={2} 元胞,a(4)=5 数值
但不能写成{’1’ {2};[3 4] 5 6},因为它的元素不能组成矩阵

相关语句:
double,num2str,sym,cell2mat,vpa
double把字符转换为ASCII码对应值,例如double([’1’’a’])=[45 97]
如果要使’1’返回值1,而不是ASCII码对应的45,则需要使用vpa(’s’,n)
vpa用于显示字符,可以任意规定精度n,n不写即取默认值.例如double(vpa(’1’))=1
如果变量是数值,那么返回数值本身,即double(1)=1
double函数不能对元胞使用,即不能写成double({1})
num2str和sym把数值转化为字符,它们都能作用于矩阵,不同的是
用sym转换而成的字符是1×1维的,它主要是用于符号运算
cell2mat为取出元胞变量,cell2mat({’1’})=’1’,cell2mat({1})=1
为了把输入对话框中的元胞返回为数值进行运算,可以利用double(vpa(cell2mat({’1’})))=1来实现追问

非常感谢您的耐心回答!不过我现在不是想把数据变成数值,而是把元胞数组变成sym矩阵,方便后续符号运算,不知道应该怎么操作呢?

温馨提示:内容为网友见解,仅供参考
无其他回答

matlab 中一人元胞数组如何转化为相同的矩阵?
元胞矩阵[{1} {2};{3} {4}],元胞矩阵的元素只能是元胞 元胞:比矩阵更强大,它的元素可以是数值、字符、矩阵、元胞,但它的元素必须组成矩阵 即可以写成a={’1’{2} ;[3 4] 5} 其中a(1)=’1’字符,a(2)=[3 4] 矩阵,a(3)={2} 元胞,a(4)=5 数值 但不能写成{’1...

Matlab中将符号矩阵转换为数值矩阵的命令是什么?能附上例子说明吗?谢谢...
解答:[1]符号对象转换为数值对象的函数double()、digits()、vap()、 numeric()[2]我觉得你要是个聪明人这点提示足够你解决问题了,呵呵 毕竟有DEMO帮助,不是么?

如何在matlab中创建符号矩阵
首先启动matlab,界面如图所示。在命令行窗口中输入如下的代码。 该命令的形式是s=sym(‘a’)。 功能是定义单个符号变量s。定义多个符号变量的代码如下图。 命令形式是syms b c d 功能是一次定义多个符号变量。 需要注意的是变量之间只能用空格隔开,不能用‘,’隔开。以上介绍了符号变量如何创建,...

MATLAB中的符号矩阵问题
sym是用来定义符号和字符的,如1\/3本来等于0.333333...。但是在sym后就保留成为1\/3,像楼上所说的那样,已经将普通矩阵转换成符号矩阵 参考资料:MATLAB基础应用-符号运算

matlab生成字符串组成的矩阵
用元胞数组实现 a1 = magic(3);a2 = [1 2;3 4];a3 = rand(4);a4 = 1:10;a5 = 'Matlab';A = cell(5,1);A(1) = {a1};A(2) = {a2};A(3) = {a3};A(4) = {a4};A(5) = {a5};disp(A);celldisp(A);

怎么运用MATLAB中的元胞数组
5. 假如说,元胞数组的结构满足矩阵的基本要求,我们就能够借助cell2mat将其改为一个矩阵。当然了,如果说它不符合矩阵的基本特征,则不能进行该操作。6. 最后,小编告诉大家,如图所示,假设a为元胞数组,a(1,1)返回的即为第一行第一列的元素类型;而a{1,1}就不一样了,它返回的即为第一行...

matlab 符号矩阵
符号变量要用SYMS来声明,MATLAB中将其识别为一个常量,就像一个给了值的常数一样。因为MATLAB是不能识别符号的,声明以后系统就把符号变量当作一个常量对待。例如在S变换中,就要声明S为符号变量,不然,系统不能识别S。知道了符号变量的作用,矩阵的就不用我多说了吧。在一个参数取多个值时,可定义...

matlab 带参数的矩阵赋值
带参数的矩阵,在matlab中是符号矩阵,符号矩阵的赋值,赋值进去的数字也都会转变成符号量。当然也能够直接赋予符号量。代码举例:图中先定义了一个符号矩阵,然后用循环对每一个元素进行了符号赋值。符号矩阵的相应的矩阵操作与实数矩阵类似。值得注意的是,当矩阵a被定义的时候,可以看到,元素的相应位置...

如何将matlab中的sym数据类型转换为double型
>> root=solve('x^2+5*x-10')root = -5\/2+1\/2*65^(1\/2)-5\/2-1\/2*65^(1\/2)>> class(root)ans = sym >> root=double(root)root = 1.5311 -6.5311 >> class(root)ans = double by dynamic see also http:\/\/www.matlabsky.com contact me matlabsky@gmail.com 2009.2...

matlab中jacobian矩阵计算是符号矩阵,再如何对里面的符号变量赋...
subs(J,{x,z},{1,2})MATLAB中jacobian是用来计算Jacobi矩阵的函数。syms r l f x=r*cos(l)*cos(f);y=r*cos(l)*sin(f);z=r*sin(l);J=jacobian([x;y;z],[r l f])结果:J = [ cos(l)*cos(f), -r*sin(l)*cos(f), -r*cos(l)*sin(f)][ cos(l)*sin(f), -...

相似回答
大家正在搜