生成一类特殊矩阵的Matlab代码
我需要生成具有给定属性的n阶方阵生成一类特殊矩阵的Matlab代码,matlab,matrix,Matlab,Matrix,我需要生成具有给定属性的n阶方阵 矩阵是对称的 条目为0和1 对角线元素是零 我正在使用Matlab2012b。你能帮我查一下密码吗 我想把它写下来。它需要一长串for循环。有更简单的方法吗?试试这个: N = 4; %// matrix size M = (N^2-N)/2; %// number of values to fill in each matrix P = 2^M; %// number of matrices x = dec2bin(0:P-1)-'0'; %// each r
N = 4; %// matrix size
M = (N^2-N)/2; %// number of values to fill in each matrix
P = 2^M; %// number of matrices
x = dec2bin(0:P-1)-'0'; %// each row contains the values of a matrix, "packed" in a vector
result = NaN(N,N,P); %// preallocate
for k = 1:P
result(:,:,k) = squareform(x(k,:)); %// unpack values
end
矩阵为
result(:,:,1)
,result(:,:,2)
等。为了回答您的问题,您应该提供您正在做的事情和希望做的事情。现在如何在matlab中创建矩阵?您期望的输入类型和输出类型是什么?输入是矩阵的顺序。输出将是特定类的所有矩阵。squareform的巧妙使用顺便说一句,您可以使用NaN
跳过预分配,并从P
循环到1@Shai谢谢是的,那可能更快