带参数的矩阵,在matlab中是符号矩阵,符号矩阵的赋值,赋值进去的数字也都会转变成符号量。当然也能够直接赋予符号量。
代码举例:
图中先定义了一个符号矩阵,然后用循环对每一个元素进行了符号赋值。
符号矩阵的相应的矩阵操作与实数矩阵类似。
值得注意的是,当矩阵a被定义的时候,可以看到,元素的相应位置都有值,但这些值只是一个表示而没有任何意义。a1_1这些元素并不是真正被定义了的变量,如果在刚定义a以后就使用命令,eval(a),就会报错。
从某一个矩阵中挖取4列到9列是这样的,按你的说法举例:
>> syms x
>> a = randi( 10, 6, 12 ) * x
a =
[ 9*x, 5*x, x, 9*x, 10*x, x, x, 3*x, 4*x, x, 5*x, 7*x]
[ 6*x, 2*x, 7*x, 9*x, 7*x, 2*x, 4*x, 5*x, 2*x, 8*x, 10*x, 7*x]
[ 2*x, 10*x, x, 8*x, 9*x, 2*x, 6*x, x, 5*x, 3*x, 4*x, 2*x]
[ 3*x, 8*x, x, 2*x, 5*x, 4*x, 5*x, 10*x, 4*x, 5*x, 8*x, 2*x]
[ 9*x, 6*x, 6*x, 7*x, 5*x, 9*x, 7*x, 2*x, 10*x, 6*x, 7*x, 10*x]
[ x, 5*x, x, 6*x, 9*x, 9*x, 7*x, 2*x, 10*x, 10*x, 6*x, 2*x]
>> b = a( :, 4 : 9 )
b =
[ 9*x, 10*x, x, x, 3*x, 4*x]
[ 9*x, 7*x, 2*x, 4*x, 5*x, 2*x]
[ 8*x, 9*x, 2*x, 6*x, x, 5*x]
[ 2*x, 5*x, 4*x, 5*x, 10*x, 4*x]
[ 7*x, 5*x, 9*x, 7*x, 2*x, 10*x]
[ 6*x, 9*x, 9*x, 7*x, 2*x, 10*x]