例如: 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)
步长生成法的通用格式为【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 我们可以看到矩阵会自
定数线性采样法的通用格式为:【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,就是一维数组,看你需要行方向还是列方向
定数对数采样法的通用格式:【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中,怎么把几个一维数组合成一个一维数组。
比如有已知数组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 alla=[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函数对原数组的抽取是按照列抽取的(对原数组按列抽取,抽取的元素填充为新数组的列)