精华内容
下载资源
问答
  • matlab创建空矩阵
    千次阅读
    2021-11-27 19:30:47

    matlab创建空矩阵

    img = zeros(nums, nums);
    r = zeros(frames, nums, nums);
    更多相关内容
  • 2.利用标准数组函数创建多维数组A=zeros(4,3,2) 生成一个4行3列2页的三维全0数组,ones,rand和randn等函数有相似的用法。3.利用直接索引方式生成多维数组A=zeros(2,3)A(:,:,2)=ones(2,3)A(:,:,3)=4上面的代码先生成...

    1.一个三维数组由行、列和页三维组成,其中每一页包含一个由行和列构成的二维数组。

    2.利用标准数组函数创建多维数组

    A=zeros(4,3,2) 生成一个4行3列2页的三维全0数组,ones,rand和randn等函数有相似的用法。

    3.利用直接索引方式生成多维数组

    A=zeros(2,3)

    A(:,:,2)=ones(2,3)

    A(:,:,3)=4

    上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索引,添加第二页、第三页。

    4.利用函数reshape和repmat生成多维数组

    B=reshape(A,2,9)

    B=[A(:,:,1) A(:,:,2) A(:,:,3)] %结果与上面一样。

    reshape(B,2,3,3)

    reshape(B,[2 3 3]) %结果与上面一样。

    提示:reshape函数可以将任何维数的数组转变成其他维数的数组。

    5.利用repmat函数生成多维数组

    C=ones(2,3)

    repmat(C,[1 1 3]) % repmat写出类似reshape的repmat(C,1,1,3)将显示出错

    提示:repmat是通过数组复制创建多维数组的,上面的代码即是将数组C在行维和列维分别复制一次,然后再页维复制三次得到2×3×3的三维数组。

    6.利用cat函数创建多维数组

    a=zeros(2);

    b=ones(2);

    c=repmat(2,2,2);

    D=cat(3,a,b,c)%创建三维数组

    D=cat(4,a,b,c) %创建4维数组。

    D(:,1,:,:) %查看第一列的数据。

    size(D) %可以知道数组D的具体维数。

    6.数组运算与处理

    数组之间的运算要求两个数组在任何一维都必须具有相同的大小。

    (1)squeeze函数用于删除多维数组中的单一维(即大小为1的那些维)

    E=squeeze(D)

    size(D) E的数据和D一样,但比D少了一维,只有2行、2列和3页。

    (2)reshape函数可以将一个三维向量变成一维向量。

    v(1,1,:)=1:6

    squeeze(v)

    v(:)

    (3)reshape函数用于改变多维数组的行、列、页以及更高阶的维数,但不改变数组元素的总个数。

    F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))

    G=reshape(F,[3,2,4])

    H=reshape(F,[4 3 2]) 或K=reshape(F,2,12)

    多维数组的重组按这样的顺序:第一页的第一列、第二列……,第二页的第一列、第二列……。

    7.sub2ind函数和ind2sub函数用于多维数组的直接引用,索引顺序与重组顺序一致。

    sub2ind(size(F),1,1,1) %求第1行、第1列、第1页的数值的单一索引

    sub2ind(size(F),1,2,1) %求第1行、第2列、第1页的数值的单一索引

    sub2ind(size(F),1,2,3) %求第1行、第2列、第3页的数值的单一索引

    [r c p]=ind2sub(size(F),19) %由单一索引求其对应的行列页数值。

    8.函数flipdim用于多维数组的翻转,相当于二维数组中的flipud和fliplr函数。例如下面的代码进行按行、列和按页翻转。

    M=reshape(1:18,2,3,3)

    flipdim(M,1) %每一页中的行翻转

    flipdim(M,2) %每一页中的列翻转

    flipdim(M,3) %将第一和第三页翻转调换

    9.函数shiftdim用于循环轮换一个数组的维数。如果一个数组r行、c列和p页,则循环轮换一次,就生成一个c行、p列和r页的数组。

    M %重新调用

    shiftdim(M,1) %轮换一次

    shiftdim(M,2) %轮换两次

    数组轮换后规律很难直观理解,我们可以将三维数组看成一个类似魔方的方形盒子

    函数shiftdim也支持负的循环轮换次数。执行该轮换时,数组的维数增加,并且多出的维数均为单一维。

    M %重新调用

    size(M)

    shiftdim(M,-1)

    size(ans).

    10.函数permute和ipermute用于实现多维条件下的转置操作。从本质上讲permute函数是shiftdimhas函数的扩展。

    M %重新调用

    permute(M,[2 3 1])

    shiftdim(M,1) %两者结果一样

    permute函数中的参数[2 3 1]表示使函数第二维成为第一维,第三维成为第二维,第一维成为第三维。

    11. permute(M,[2 1 3])

    [2 1 3]表示将数组的行列相互转置,页保持不变(只在第一和第二维转置)。

    permute函数的第一个参数为待转置的数组,第二个参数为转置顺序,它必须是待转置的多维数组的维数的某种排列,否则所进行的转置无法进行。

    permute函数也可以用来将一个数组变成更高维的数组,例如shiftdim(M,-1)也可以用permute函数来实现。

    permute(M,[4 1 2 3])

    这是 因为任何一个数组都具有大于其本身尺寸的更高维数,并且这些维数均为单一维数。例如二维数组具有页这一维,只是只有一页。总之超过数组本身大小的维数都是单一维。M是一个三维数组,其第四维必为单一维,因此将M的第四维与第一维转置,第一维变成了单一维。

    12.二维数组两次转置变换回原来的形式,对于多维数组,用函数ipermute来取消permute所执行的转置操作。

    M %重新调用

    permute(M,[3 2 1])

    ipermute(M,[3 2 1]) %在我的Matlab上运行没有达到预期效果

    13.size函数返回数组每一维的大小

    numel函数返回数组的总元素个数

    当不指定size的返回值时,将返回一个由数组的各维数组成的向量。当我们知道数组的维数时,可以将维数返回到指定变量中。

    [r c p]=size(M)

    r=size(M,1)

    c=size(M,2)

    p=size(M,3)

    v=size(M,4)

    当一个数组的维数或者某数组维数不确定时,可以利用函数ndims获得数组的维数值。例如:ndims(M),与length(size(M))等效。

    展开全文
  • matlab中怎么给矩阵赋值?

    千次阅读 2021-04-18 05:33:52
    x=1:0.1:10;y=[];for i=1:length(x)%y=[y;x(i)];%把每一个x都放到Y里,成为一列y=[y,x(i)];%把每一个x都放到Y里,成为一行end>> a=rand(10,10);>> a(3:9,2:8)=10a =0.1622 0.4505 0.1067 0.4314 0.8530 ...

    x=1:0.1:10;

    y=[];

    for i=1:length(x)%

    y=[y;x(i)];%把每一个x都放到Y里,成为一列

    y=[y,x(i)];%把每一个x都放到Y里,成为一行

    end

    >> a=rand(10,10);

    >> a(3:9,2:8)=10

    a =

    0.1622    0.4505    0.1067    0.4314    0.8530    0.4173    0.7803    0.2348    0.5470    0.9294

    0.7943    0.0838    0.9619    0.9106    0.6221    0.0497    0.3897    0.3532    0.2963    0.7757

    0.3112   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000    0.7447    0.4868

    0.5285   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000    0.1890    0.4359

    0.1656   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000    0.6868    0.4468

    0.6020   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000    0.1835    0.3063

    0.2630   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000    0.3685    0.5085

    0.6541   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000    0.6256    0.5108

    0.6892   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000   10.0000    0.7802    0.8176

    0.7482    0.4427    0.8001    0.1450    0.2400    0.1112    0.0598    0.4509    0.0811    0.7948

    >>

    展开全文
  • matlab可以创建空元胞矩阵cell(a,b);只不过创建好之后里面存储的类型是空double,笔者想要创建一个空元胞矩阵且里面存放的数据类型是char,所以笔者编写了这样一个函数: % get a null cell which is a*b dims ...

    matlab可以创建空元胞矩阵cell(a,b);只不过创建好之后里面存储的类型是空double,笔者想要创建一个空元胞矩阵且里面存放的数据类型是char,所以笔者编写了这样一个函数:

    % get a null cell which is a*b dims
    function data=kcell(a,b)
    data=cell(a,b);
    for i=1:a
       for j=1:b
           data(i,j)=cellstr(num2str(data{i,j}));
       end
    end
    end
    
    展开全文
  • matlab创建三维矩阵

    千次阅读 2021-05-05 08:05:28
    matlab创建三维矩阵》由会员分享,可在线阅读,更多相关《matlab创建三维矩阵(6页珍藏版)》请在人人文库网上搜索。1、创建三维矩阵的几种方法一下标法1.三维矩阵的创建: clearfor i=2:3for j=2:3for k=2:3M(i,j,k...
  • matlab矩阵创建

    千次阅读 2020-10-22 22:43:41
    matlab矩阵创建: 1.矩阵创建方法 1.1直接输入法: 以【】作为矩阵开始和结束 矩阵行与行之间用‘;’隔开 同一行不同元素用逗号或者空格符来分开 矩阵元素可以采用表达式 ex: M=[1 2 3 4 5 6;sqrt(25),10-5,0...
  • MATLAB创建矩阵的方法

    万次阅读 2017-10-08 21:45:09
    MATLAB创建矩阵的方法一般有3种:第一种是直接输入矩阵元素;第二种是通过调用函数生成特殊矩阵;第三种是利用M文件创建矩阵。 1.元素直输法创建矩阵MATLAB中,创建一个矩阵最简单的方法是使用矩阵构造符号...
  • channel 可以使用内置的 make() 函数来创建:make(chan Type) // 等价于 make(chan Type, 0) make(chan Type, capacity)chan 是创建 channel 所需使用的关键字。 Type 代表指定 channel 收发数据的类型。 当参数 ...
  • 当您将两个空矩阵相乘时,生成的矩阵不会立即“分配”和“初始化”,而是会推迟到您第一次使用它时(有点像惰性计算)。当索引超出范围以增长变量时,情况也是如此,在数字数组的情况下,该变量将用零填充所有缺失的...
  • 求助,关于matlab4维作图和矩阵运算的问题 [X,Y,Z]=meshgrid(0:0.05:5,0:0.05:5,0:0.05:3);A=linspace(1,1.59,60);B=linspace(3.41,4,60);i=1;U=pi/3;u=pi/6;m=-1*log(2)/log(cos(u));I=i*cos(U)^m;for iz=Zfor ix=X...
  • (作者:lcc)创建二维数组变量n 第一种方法:使用方括号“[ ]”操作符使用规则n 数组元素必须在“[ ]”内键入;n 行与行之间须用分号“;” 间隔,也可以在分行处用回车键间隔;n 行内元素用空格或逗号“,”间隔。【例...
  • nid=15236用MATLAB函数创建矩阵1.阵[ ] — 阵,MATLAB允许输入阵,当一项操作无结果时,返回阵。2.等间距线性向量linspace — 线性等分函数生成向量,可以在首尾两端元素之间,等分建立向量,其中:linspace...
  • MATLAB中生成矩阵的三种方法

    万次阅读 多人点赞 2021-07-03 10:54:02
    MATLAB中生成矩阵的三种方法 1. 直接输入法        1) 矩阵所有元素必须在[]内      ...2) 矩阵中同行元素以逗号‘,’或空格分隔 ...5) 若[]中无元素表示空矩阵 同行逗
  • matlab如何建立一个空矩阵,然后往里面赋值

    万次阅读 多人点赞 2016-04-19 23:58:00
    1 x=1:0.1:10; 2 y=[]; 3 for i=1:length(x) 4 % y=[y;x(i)];%把每一个x都放到Y里,成为一列 5 y=[y,x(i)];%把每一个x都放到Y里,成为一行 6 end  
  • [1]利用空矩阵删除矩阵的元素 空矩阵是指没用任何元素的矩阵。即 >> X=[] X = [] 如果要将矩阵中的元素删除,我们就将矩阵中的元素置为空就可以了。例如: >> clear all %创建3行5列矩阵A >> ...
  • Matlab矩阵操作

    2022-06-12 11:08:57
    生成行矩阵的方式:冒号表达式 以步长为1,从1到5生成数值,构成行矩阵。若不设置步长,则默认步长为1。linspace(a, b, n) 从1到5生成5个数值,构成行矩阵。从a到b生成n个数值,构成行矩阵。若不设置n,则默认为100...
  • matlab基础知识——矩阵(运算、高维矩阵、对角矩阵矩阵编辑抽取) 原创不易,路过的各位大佬请点个赞 矩阵定义 矩阵的生成 ...在matlab创建矩阵时基本语法: 1. 输入矩阵时要以“[ ]”为其标识符号,
  • x=1:0.1:10; y=[]; for i=1:length(x) % y=[y;x(i)];%把每一个x都放到Y里,成为一列 y=[y,x(i)];%把每一个x都放到Y里,成为一行 end
  • [转载]matlab 生成矩阵

    千次阅读 2021-04-18 03:42:10
    具体方法如下:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。+2.利用M文件建立矩阵++++对于比较大且比较复杂的矩阵,可以为它专门...
  • MatLab矩阵

    千次阅读 2021-08-23 10:05:50
    MatLab矩阵基础知识
  • 最后T在循环过后,只能给我得出空矩阵。(循环已正确,请放心)
  • 结合脑电信号分析解决matlab中四维矩阵理解的问题
  • Matlab矩阵

    2021-04-20 12:26:44
    MatlabMatlab矩阵矩阵是数字的二维数组。在MATLAB中,可以通过在每行中输入元素来创建一个矩形,以逗号或空格分隔数字,并使用分号标记每一行的结尾。例如,创建一个4×5矩阵a -a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4...
  • MATLAB向量与矩阵

    2022-02-05 10:02:31
    创建向量 I 创建一维数值数组 列向量:方括号内,数值用“ ;”隔开 行向量:方括号内,数值用“ 空格 ” 或者“ ,”隔开 转置:“ ' ” 。 如: y = a ' II 合并向量为新向量 W= [ A,B ] W= [ A;B ] III ...
  • Matlab矩阵操作

    千次阅读 2021-03-25 20:26:57
    MATLAB创建矩阵有以下规则: a、矩阵元素必须在”[ ]”内; b、矩阵的同行元素之间用空格(或”,”)隔开; c、矩阵的行与行之间用”;”(或回车符)隔开; d、矩阵的元素可以是数值、变量、表达式或函数; e、...
  • MATLAB空矩阵

    千次阅读 2014-11-27 11:37:07
    创建空矩阵 a = [];%[]表示为空 a = zeros(m,n);%创建m*n的全零矩阵,不同于空矩阵 判断空矩阵 isempty(a);判断a是不是空矩阵
  • 最基本的 MATLAB® 数据结构体是矩阵矩阵是按行和列排列的数据元素的二维矩形数组。元素可以是数字、逻辑值(true或false)、日期和时间、字符串或者其他 MATLAB 数据类型。 即使一个数字也能以矩阵的形式存储。...
  • MATLAB图像处理——矩阵操作

    千次阅读 2022-03-04 20:05:47
    矩阵的直接创建 a = [1,2,3:4,5,6:7,8,9] 即a为一个3x3的矩阵: a = 1 2 3 4 5 6 7 8 9 关于矩阵操作,来看一个问题: 编写一个程序m文件,用于构建和显示包含大小为c×c像素的白色正方形的图像,该程序...
  • 默认生成双精度浮点数矩阵 >> a = zeros(3, 4) a = 0 0 0 0 0 0 0 0 0 0 0 0 >> class(a) ans = 'double' >> a = zeros(3, 4,'double') a = 0 0 0 0 0 0 0 0 0 0
  • Matlab 矩阵运算

    千次阅读 2021-04-22 03:29:59
    Copyright 2008说明:这一段时间用Matlab做了LDPC码的性能仿真,过程中涉及了大量的矩阵运算,本文记录了Matlab矩阵的相关知识,特别的说明了稀疏矩阵和有限域中的矩阵Matlab的运算是在矩阵意义下进行的,这里所...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,417
精华内容 2,166
关键字:

matlab创建空矩阵