matlab问题:产生对角线上全为1,其余为0的2行3列矩阵的命令

2024-12-20 10:42:31
推荐回答(3个)
回答1:

两行三列的矩阵对角线是指?
下面是我给的一个方案,不知是不是你要的
a=zeros(2,3);%设定初始矩阵
[m,n]=size(a);
for i=1:m
for j=1:n
if i==j
a(i,i)=1;%结果
end
end
end
a

回答2:

eye函数

回答3:

方案一、就是一楼回答的,用eye函数:
>> eye(2,3)
ans =
1 0 0
0 1 0

方案二、若不知道eye函数,因为你的问题中 行数和列数都很小,所以直接赋值就可以了:
x = zeros(2,3);
x(1,1) = 1;
x(2,2) = 1;

方案三、若不知道eye函数,而行数和列数又都较大,则只能使用循环了:
下面假设 m≤n.
x = zeros(m,n)
for k = 1:m
x(k,k) = 1;
end

OK!