matlab 行列式

来源:百度知道 编辑:UC知道 时间:2024/05/16 15:23:06
请问..
如果我想在matlab 里面写一个n阶行列式:
[ a b b b...b
c a b b...b
c c a b...b
c c c a...b
. . . . .
. . . . .
. . . . .
c c c c...a]
应该怎么输入?

>> clear
>> syms a b c
>> n=8;
>> A=triu(b*ones(n),1)+tril(c*ones(n),-1)+diag(a*ones(n,1))

A =

[ a, b, b, b, b, b, b, b]
[ c, a, b, b, b, b, b, b]
[ c, c, a, b, b, b, b, b]
[ c, c, c, a, b, b, b, b]
[ c, c, c, c, a, b, b, b]
[ c, c, c, c, c, a, b, b]
[ c, c, c, c, c, c, a, b]
[ c, c, c, c, c, c, c, a]

如此便可,n可以根据你的需要进行设定。你可以将其设置为输入参数,具体再说!

>> a=10;
>> b=2;
>> c=3;
>> n=5;
>> A=triu(b*ones(n),1)+tril(c*ones(n),-1)+diag(a*ones(n,1))

结果:
A =

10 2 2 2 2
3 10 2 2 2
3 3 10 2 2
3 3 3 10 2
3 3 3 3 10