Matlab中对于一个大型矩阵,要将部分元素的值为1,如已知矩阵元素位置a,b为什么用M(a,b)=1不行。

如题所述

第1个回答  2013-05-03
没有问题的,只要知道a和b的值就行:
clear all;clc;
A=rand(20,20);
a=[1 3 5];
b=[2 4 6 8];
A(a,b)=1;

A的对应12个元素变为1追问

a=[1 3 5];
b=[2 4 6 ];
A(a,b)=1;我想给3个元素变为1,也就是A(1,2),A(3,4),A(5,6)不是3*4个元素

追答

3个元素,那你就一个一个赋值呗

第2个回答  2013-05-03
最直观的:用循环,比如
a=[1 3 5];b=[2 4 6 ];c=magic(7);
for m=a;
for n=b;
c(m,n)=1;
end;
end;本回答被提问者采纳
第3个回答  2013-05-03
应该中,你咋判断不行的?
相似回答