如何用matlab生成一个特定矩阵

矩阵共N行N列,(我们把令行为a1,a2,a3.....,列为b1,b2,b3....),当a和b表示相邻原子时,为1,不相邻为0,比如2行2列时,为0,1;1,0 三行三列为0,1,0;1,0,1;0,1,0,能不能写出一个function生成N行N列的这种矩阵?

第1个回答  2014-04-13
f=@(n) diag(ones(n-1,1),-1)+diag(ones(n-1,1),1)

输入:f(4)
输出:
ans =

0 1 0 0
1 0 1 0
0 1 0 1
0 0 1 0追问

你的算法没问题,f=@(n) diag(ones(n-1,1),-1)+diag(ones(n-1,1),1)直接粘贴没有啊,能不能写全点

追答

命令行直接输入下边两行:
f=@(n) diag(ones(n-1,1),-1)+diag(ones(n-1,1),1);
f(4)
看是不是有结果. matlab要用7.0以上的.

matlab如何定义矩阵?
在MATLAB中定义矩阵,可以通过手动输入元素并创建矩阵或使用预定义函数来创建。手动输入元素并创建矩阵:在MATLAB中,创建矩阵的语法为将元素以逗号分隔,以分号分隔行。例如,创建一个2x2的矩阵A,可以输入:"A = [1, 2; 3, 4]"。使用预定义函数创建矩阵:MATLAB提供了多种创建矩阵的预定义函数,包...

matlab中如何生成一个特殊矩阵
n=5;A=zeros(1,n);b=ones(1,n);for k=1:5*n A=[A,k*b];end

matlab中如何生成一个特殊矩阵
n=5;A=zeros(1,n);b=ones(1,n);for k=1:5*n A=[A,k*b];end

matlab如何生成任意大小的随机矩阵?
1、首先需要知道matlab中生成随机数的函数是rand,可以在命令行窗口中输入“help rand”查看一下rand函数的用法,如下图所示。2、如果我们想生成一个4行6列的矩阵,输入rand(4,6),需要注意的是默认生成的随机数是在0-1之间,如下图所示。3、按回车键之后,可以看到生成了一个4行6列的矩阵。4、...

matlab的自动生成矩阵
matlab自动生成矩阵方法如下:1.%自动生成一个50*50的矩阵;要求:(1)所有数不能超过98,不能小于70。 (2) 每一列的90分以上20%,80~90分50%,70~80为30%。如果需要产生n到m范围内的随机整数,可以:rand()*(Rand_Max-Rand_Min)+Rand_Min n=10;n_max=98;n_min=91;m=25;m_max=...

matlab如何生成满足一定条件数要求的随机矩阵。
你可以先构造特征值,使得最大特征值除以最小特征值为1000,再随机的生成正交矩阵作为特征向量矩阵,从而重构出所要的矩阵。如下所示,构造了个3*3的矩阵,其条件数为1000:>> V = diag([1000 20 1]); % 只要最大除最小等于1000即可 >> U = orth(randn(3, 3));>> A = U*V*U^-...

matlab如何随机生成矩阵?
可以参考下面的代码:M = rand(100); %生成一个随机100*100矩阵M N = M(2:2:end,2:2:end); %提取其中偶数行和偶数列所组成的50*50矩阵N 附:如果要奇数行奇数列,则改成:N = M(1:2:end,1:2:end); %提取其中奇数行和奇数列所组成的50*50矩阵N ...

用MATLAB随机生成法生成一个3~8以内的3阶整数矩阵?
可以使用MATLAB中的randi函数生成3~8以内的随机整数,然后使用reshape函数将其变形成3阶矩阵。具体代码如下:生成3~8以内的随机整数A = randi([3,8],1,9);将A变形成3阶矩阵A = reshape(A,3,3);解释一下上面的代码:randi函数用于生成3~8之间的随机整数,[3,8]表示生成的随机数范围,1表示...

请问:怎样用matlab生成一个指定要求的矩阵
binMat = perms(v); % 生成1到10的全排列 binMat(binMat<4)=1; % 小于4 的赋值为1 binMat(binMat>=4)=0; % 大于等于4 的赋值为0 result = unique(binMat,'rows') % 保留binMat中唯一的行向量,即为所求 最终结果为120*10的一个0-1矩阵 ...

matlab如何将一个矩阵转成特定维的?
reshape 函数有以下五种调用形式:1、B = reshape(A,m,n)2、B = reshape(A,m,n,p,...)3、B = reshape(A,[m n p ...])4、B = reshape(A,...,[ ],...)5、B = reshape(A,size)reshape是一种函数,函数可以重新调整矩阵的行数、列数、维数。

相似回答
大家正在搜