求行列式值有没有类似点乘那种功能的命令
例如a=; b=;c=;d=
我想找一个命令比如说是det_dot,
直接用det_dot();
结果是det()和det()
[ 本帖最后由 liuxbin 于 2008-12-25 20:32 编辑 ]
回复 楼主 liuxbin 的帖子
不太明白LZ问题的意思 建议lz自己编一个吧 我想了一个办法,先用符号运算将这个方阵展开,然后就可以实现点乘功能了,也就是Vectorized了回复 地板 liuxbin 的帖子
符号运算速度太慢了 楼上没有理解我的意思我的方阵维数比较高,这里我用二维方阵作为例子
本来我是这样实现的
x=;
a=sin(x);b=cos(x);c=exp(x);d=x;
size_x=size(x);
for count_x=1:size_x(2)
value(count_x)=det();
end
但是这样有一个问题就是我在跑一个程序的时候报错,提示没有Vectorized
然后我就用符号运算det()=a*d-b*c,得到了行列式展开式.
然后我把它改成了a.*d-b.*c,
x=;
a=sin(x);b=cos(x);c=exp(x);d=x;
value=a.*d-b.*c;
这样就实现了Vectorized,而且速度比上面用的循环要快好多
回复 6楼 liuxbin 的帖子
请问LZ问题解决啦?
页:
[1]