DISP(A)
1. 4. 5.
9. 13. 11.
46. 29. 11.
- >清除A(3,3) ! - 错误276 缺少运算符,逗号或分号。
我想删除11
答案 0 :(得分:1)
clear
命令用于删除整个变量,请参阅documentation。如果你可以clear
3,3字段,那将导致格式错误的矩阵:
1. 4. 5.
9. 13. 11.
46. 29.
我不知道这是可能的。
你想要的是什么?是否要将某些字段设置为忽略。您可以将其设置为NaN(非数字),然后使用isnan检查代码中是否为nan:
A = rand(3,3)
A(3,3)= %nan
disp(A)
non_nans_indices = find(~isnan(A))
disp(A(non_nans_indices))
答案 1 :(得分:0)
在常规矩阵中,您不能只删除一个元素,如上面的答案中所述:您必须删除整行或完整列。但是在稀疏矩阵中你可以。稀疏矩阵仅存储矩阵的非零元素。因此,如果您的数据不包含具有0值的有效元素,则可以通过将其设置为0来“删除”任何元素,然后使用sparse
命令将矩阵转换为稀疏形式:
A=rand(3,3);
disp(A,"original matrix:");
A(3,3)=0;
disp(A,"element is nulled out:");
A=sparse(A);
disp(A,"sparse matrix:");
这样您就不会存储tha矩阵的0值,这可能会节省内存或存储空间。如果要转换回来,可以使用full
命令:“missing”元素再次用零表示:
B=full(A);
disp(B,"full form:");
但我认为,对于缺失值或无效值,最好使用上面建议的%nan
:它更容易处理,更一致,并且您可以在矩阵中将零作为有效数据。