matlab 带参数的矩阵赋值

2025-03-24 05:24:58
推荐回答(2个)
回答1:

带参数的矩阵,在matlab中是符号矩阵,符号矩阵的赋值,赋值进去的数字也都会转变成符号量。当然也能够直接赋予符号量。


代码举例:

图中先定义了一个符号矩阵,然后用循环对每一个元素进行了符号赋值。

符号矩阵的相应的矩阵操作与实数矩阵类似。


值得注意的是,当矩阵a被定义的时候,可以看到,元素的相应位置都有值,但这些值只是一个表示而没有任何意义。a1_1这些元素并不是真正被定义了的变量,如果在刚定义a以后就使用命令,eval(a),就会报错。

回答2:

从某一个矩阵中挖取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]