xbns.net
当前位置:首页 >> mAtlAB生成零矩阵 >>

mAtlAB生成零矩阵

matlab创建矩阵是非常容易的,尤其是特殊矩阵 比如 全零阵 函数 zeros b = zeros(m,n) %生成m*n全零阵 命令 单位阵 函数 eye 格式 y = eye(m,n) %生成m*n单位阵 命令 全1阵 函数 ones 格式 y = ones(m,n) %生成m*n全1阵 等等 比如你的一个只有一行的矩阵,且矩阵中的元素全为1或者2 a=ones(1,10); b=2*ones(1,10); 要创建10个这样的矩阵,矩阵中元素是1-10:for i=1:10 a(i,:)=ceil(10*rand(1,10)); end

matlab提供了生成0矩阵的函数zeros(),常用的调用方式有: zeros(n) - 生成n行n的0矩阵 zeros(m,n) - 生成m行n列的0矩阵 zeros(m,n,p,) - 生成m*n*p*的0矩阵 zeros(size(a)) - 生成一个维度与a一致的0矩阵 示例如下

:handshake :handshake :handshake :handshake

de2bi(0:127)

最重要的一个用处就是预分配内存,加快程序速度,在老版本MATLAB中,一些程序预分配内存与否前后速度会差n多倍.

用zeros命令或直接输入.和楼上的说法一样,直接输入时用[……;……;……],行之间注意用“;”隔开,元素之间用空格就行了

编写rand_BinaryMatrix函数,代码如下:function [ BinaryMatrix ] = rand_BinaryMatrix( i, j )% 随机生成i行j列的0和1元素填充的矩阵 BinaryMatrix = rand(i,j); for count_i = 1:i for count_j = 1:j if BinaryMatrix(count_i, count_j) < 0.5 BinaryMatrix(count_i,

程序N=10;%这里10改成你要输出的N的数值A=zero(N,1)

提供一个方法:n=10;%可以改成你想要的数 A=zeros(n); index=randperm(n);%生成随机排列是关键 A((n)*(0:n-1)+index)=1 因为是随机序列,所以每次都不一样,一个结果:A = 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

a(x:end)表示取出a矩阵中第x个至最后一个元素例如a=[1:10]b=a(5:end)执行结果b=[5 6 7 8 9 10] 作为特例,取出a的最后一个元素可以使用b=a(end)执行结果b=10

xcxd.net | ceqiong.net | lzth.net | lzth.net | eonnetwork.net | 网站首页 | 网站地图
All rights reserved Powered by www.xbns.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com