普通会员

鲍瑞祥

此用户很神秘,没有留下任何信息

7帖子
1回复
95积分
ID:018335
sparse函数不能正常使用

%%稀疏矩阵左除bug

   L=diag(3*ones(5,1))+diag(2*ones(4,1),-1)+diag(2*ones(4,1),1);

   A=blkdiag(L,L,L,L,L)+diag(20*ones(20,1),5)+diag(20*ones(20,1),-5)

   b=ones(25,1);

   B=sparse(A);

   x=B\b

这个求解稀疏矩阵的例子,在不使用sparse函数的时候可以得到正常结果,取sparse就会报错。

1 2025-06-26
命令行窗口不能正常换行

在命令行窗口使用enter或者shift+enter均无法换行

1 2025-06-26
log函数不支持sparse double类型的变量

L=diag(3*ones(5,1))+diag(2*ones(4,1),-1)+diag(2*ones(4,1),1);

   A=blkdiag(L,L,L,L,L)+diag(20*ones(20,1),5)+diag(20*ones(20,1),-5);

   B=sparse(A);

   log(abs(B(1)))


1 2025-07-18
结构体索引Bug

p = struct();

p.var(1).name=1;

disp(p.var(1).name)

直接运行这段代码不会得到结果也不会报错;调试这段代码会卡在第二行,无法继续运行

1 2025-07-18
sparse函数右除Bug

%%稀疏矩阵右除bug

   L=diag(3*ones(5,1))+diag(2*ones(4,1),-1)+diag(2*ones(4,1),1);

   A=blkdiag(L,L,L,L,L)+diag(20*ones(20,1),5)+diag(20*ones(20,1),-5);

   B=sparse(A);

   x=B/5

报错信息显示计算未支持,请将稠密矩阵转为稀疏矩阵。但是,将B转为full(B)计算可得到正确结果。

1 2025-07-18
power函数未支持sparse double类型的变量

   L=diag(3*ones(5,1))+diag(2*ones(4,1),-1)+diag(2*ones(4,1),1);

   A=blkdiag(L,L,L,L,L)+diag(20*ones(20,1),5)+diag(20*ones(20,1),-5);

   B=sparse(A);

   power(abs(B(1)),5)


2 2025-07-18
稀疏矩阵左除得到错误结果

n = 10;

e = ones(n,1);

A = spdiags([-1*e 2*e -1*e], -1:1, n, n)

B = (1:n)' * (1:n); 

X = A \ B

在这个例子中,直接计算不会报错但会得到错误的结果。使用full(A)能得到正确结果

1 2025-07-21