假设
>> hhh=sparse([],[],[],2^40,1);
>> hhh(7)=1;
>> a=hhh(7)
请注意,hhh(7)>0
和1>0
的计算时间差异很大。
如果没有稀疏数据结构,如何才能将
hhh(7)
的值仅提供给变量a
?
示例
输入:赋值与数字和稀疏数据结构错误。
a = (1,1) 1
目标:仅使用数字
进行分配>> a=1 a = 1
答案 0 :(得分:2)
将表达式赋值给变量时,您将“继承”表达式的所有属性(如果可能)。要防止这种情况,您需要分配先前声明的对象的元素。例如:
a = 0;
a(1) = hhh(7);
现在你应该
>> a
a =
1
答案 1 :(得分:2)
使用full
转换部分矩阵(矩阵元素),例如要存储在 a 中的元素,添加到mat
- 类型:
a = full(hhh(7))
请注意,这也适用于其他选择,例如
a = full(hhh(7:9))
输出将是
a =
1
0
0