MATLAB 生成n阶对称矩阵,其中主对角线元素为0,其他元素为0或1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB 生成n阶对称矩阵,其中主对角线元素为0,其他元素为0或1相关的知识,希望对你有一定的参考价值。
参考技术A 楼主如果指的是随机生成的话,例如n=10时,可以用这样的语句:n = 10;
temp = randint(n,n);
matrix = tril(temp,-1)+triu(temp',0);
matrix=matrix-diag(diag(matrix));
lz有不明白的可以 doc 函数名 参考技术B 先做一个全是0的矩阵,然后对不是0的位置逐个赋值 参考技术C n=10;
A=eye(10);
for i=1:1:size(A)
A(i,i)=0;
end
A
第四周编程总结
第一题
输入一个正整数 n (1≤n≤10)和n 阶方阵a的元素,如果方阵a中的所有元素都沿主对角线对称,输出“Yes”, 否则,输出“No”。主对角线为从矩阵的左上角至右下角的连线,方阵a中的所有元素都沿主对角线对称指对所有i, k,a[i][k]和a[k][i]相等。
一、实验代码
include <stdio.h>
int main(void)
{
int found, i, k, n;
int a[10][10];
scanf ("%d", &n);
for (i = 0; i < n; i++)
for (k = 0; k < n; k++)
scanf("%d", &a[i][k]);
found = 1;
for (i = 0; i < n; i++){
for (k = 0; k < i; k++){
if (a[i][k]!=a[k][i]) {
found=0;
break;
}
}
if (found==0){
break;
}
}
if (found != 0){
printf("Yes
");
}
else{
printf("No
");
}
return 0;
}
二、设计思路(只包含填空内容)
第一步:a[i][k]不等于a[k][i],则found等于0,break跳出。
第二步:跳出进行判断,found是否等于0
第三步:输出结果
以上是关于MATLAB 生成n阶对称矩阵,其中主对角线元素为0,其他元素为0或1的主要内容,如果未能解决你的问题,请参考以下文章