当前位置:科普知识站>IT科技>

matlab创建一维数组四种方法是什么

IT科技 阅读(1.32W)

例如: B=[1 2 3 4 5] A[k+1]=B[k] B有5个元素,A有6个元素,先对A进行初始化,然后为A中的元素赋值: A=zeros(1,length(B)+1); %A比B多一个元素,为1行,length(B)+1列的全0向量 for i=1:length(B) A(i+1)=B(i); % A[k+1]=B[k] end matlab中向

在Matlab中创建一维数组是最为基础的操作了,他们的创建方法比较简单,也是创建高维数组的基础条件,本文将介绍四种创建一维数组的方法。

材料/工具

matlab

a = zeros(1,N) 建立一个1行N列的数组,初值为0,一般不需要用for的

方法

在Matlab的命令窗口中,直接输入数据,使用【分号;】或者【空格 】创建一维数组。例如输入: data1=[pi;log(5);7+6;2^3]  得到: data1=[pi;log(5);7+6;2^3]  输入:  data2=[pi log(5) 7+6 2^3] 得到: data2 =     3.1416    1.6094   13.0000    8.0000

使用函数zeros(m,n),其中m、n指零矩阵的行列,要定义一维全零数组,如下即可:zeros(1,n)

matlab创建一维数组四种方法是什么

步长生成法的通用格式为【a:inc:b】其中a表示数组的第一个元素,inc表示数组之间的间隔,b表示数组对方最后一个元素。注:inc可以省略,默认的数值是1。 例如输入: data3=2:2:10 得到: data3 =      2     4     6     8    10 输入:  data4=2:10 得到: data4 =      2     3     4     5     6     7     8     9    10

如图所示是我们创建了一个矩阵,创建新 1 然后在弹出的表格中选中需要更改的单个 2 我们也可以通过语句来实现对矩阵单个元 3 假如我们输入的行数和列数大于原来的矩 4 我们可以看到矩阵会自

matlab创建一维数组四种方法是什么 第2张

定数线性采样法的通用格式为:【x=linspace(a,b,n)】该方法是在设定“总个数”的条件下均匀采样发布生成的一维数组。其中a和b代表数组的第一个和最后一个元素,n代表采样的点数。例如 输入: data5=linspace(2,10,5) 得到: data5 =      2     4     6     8    10

zeros(m,n) 生成全零的mxn矩阵 m,n其中一个为1,就是一维数组,看你需要行方向还是列方向

matlab创建一维数组四种方法是什么 第3张

定数对数采样法的通用格式:【x=logspace(a,b,n)】 该方法是在设定“总个数”的条件下经过“采用对数”采样生成一维数组例如 输入: data6=logspace(1,5,10) 得到: data6 =    1.0e+05 *     0.0001    0.0003    0.0008    0.0022    0.0060    0.0167    0.0464    0.1292    0.3594    1.0000

如果各个数组的长度一样,可以直接用矩阵的每一列或每一行代表一个数组。 如果各个数组长度不一样,可以用细胞类型存储,每个细胞元就是一个数组。比如A{1}=[1,2,3,4];A{2}=[5,6,7];

matlab创建一维数组四种方法是什么 第4张

扩展阅读,以下内容您可能还感兴趣。

matlab中,怎么把几个一维数组合成一个一维数组。

比如有已知数组a,b,c.......n,然后用下面的语句实现:

m=[a b c ........n]中间的数组用逗号或者空格隔开就可以了,此类问题可参看matlab基础书籍,希望对你有帮助。

matlab中一维数组怎么用plot函数画图 像a=[1,2,3,4] 用plot怎么表达出来?

直接 plot(a) 就行了;

我想用matlab创建一个十个数一维数组,其中包括4个5,3个4,2个2,1个1。

这个简单:

clc;clear all

a=[5 5 5 5 4 4 4 2 2 1]';

aa=a;

b=rand(10,1);

for i=1:10

Nmax=find(b==max(b));

aa(i)=a(Nmax);

b(Nmax)=-1;

end

disp(aa)%这就是你想要的aa

关于matlab的一维数组简单问题

看楼主的描述,原数据应该是1*256的向量,设为a吧

那么b=a(2:end)就可以了,或者说a(1)=[];

matlab中怎样将一维数组转化为二维矩阵

可以用reshap(),也可以直接“捋直”了。

为了清晰点,给你举个例子吧:

a=[1,2;3,4;];

b=a(:);

c=reshape(a,[],1);

得到的b,c都是一样的一维列向量。

reshape介绍:

reshape函数重新调整矩阵的行数、列数、维数。在matlab命令窗口中键入docreshape或helpreshape即可获得该函数的帮助信息。

用法:

B = reshape(A,m,n)

B = reshape(A,m,n,p,...)

B = reshape(A,[m n p ...])

B = reshape(A,...,[ ],...)

B = reshape(A,siz)

程序示例:

close all; clear; clc;

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12] % 4 by 3

B = reshape(A, 2, 6) % 2 by 6

% C = reshape(A, 2, 4) % error

% D = reshape(A, 2, 10) % error

E = reshape(A, 2, 3, 2) % 2 by 3 by 2

注意:reshape函数对原数组的抽取是按照列抽取的(对原数组按列抽取,抽取的元素填充为新数组的列)