matlab数组

matlab数组,第1张

数组运算是MATLAB计算的基础。文中是以二维数组数组的运算为例,可自行推广到多维数组和多维矩阵的运算。

矩阵和数组的区别与联系

区别:

(1)矩阵是数学上的概念,而数组是计算机程序设计领域的概念。

(2)作为一种变换或者映射算符的体现,矩阵运算有着明确而严格的数学规则。而数组运算是MATLAB软件定义的规则,其目的或源是为了使数据管理方便, *** 作简单,命令形式自然,执行有效

联系:

在MATLAB中,矩阵是以数组的形式存在的。因此,一维数组相当于向量,二维数组相当于矩阵,所以矩阵是数组的子集。

数组的创建与 *** 作

1.在MATLAB中一般用方括号[],逗号“,”,空格和分号“;”来创建数组,数组中同一行的元素使用逗号或者空格进行隔开,不同行用分号进行分隔。

2.通过冒号创建一维数组

在MATLAB中,可以通过冒号创建一维数组

X=A:step:B

A是创建一维数组的第一个变量,step是每次递增或递减的数值,知道最后一个元素个B的差的绝对值小于等于step的绝对值为止。

当指定step时,系统默认step=1.

3.通过logspace函数创建袭团搏一维数组

MATLAB中常用logspace()函数创建一维数组,调用方式如下:

(1)y=logspace(a,b);该函数创建行向量y,第一个元素为10^a,最后一个元素为10^b,形成总是为50个元素的等比数列。

(2) y=logspace(a,b,n);该函数创建行向量y,第一个元素为10^a,最后一个元素为10^b,形成总数为n个元素的等比数列。

4.通过函数创建一维数组

MATLAB常用linspace()函数创建一维数组,该函数的调用方式如下。

(1)y=linspace(a,b) :该函数创建行向量y,第一个元素为a,最后一个元素为b,形成总数为100个元素的等差数列。

(2)y=linspace(a,b,n):该函数创建行向量y,第一个元素为a,最后一个元素为b,形成总数为n个元素的等差数列。

注:当n<2时,y=linspace(a,b,n)函数返回的数值为b。

数组拍祥的访问

A(a:b) 访问数组的第a个到第b个元素

A([a b])访问数组的第a个和第b个元素

A(a:end)访问数组第a个元素到最后一个元素

A(end:-1:a) 访问数组最后一个元素,逆序到第a个元素

方法和详细的 *** 作步骤如下:

1、第一步,打开matlab并输入a

 = [1 2 32 4 56 7 8],创建具有3行3列的矩阵,见下图,转到下面的步骤。

2、第二步,执行完上面的 *** 作之后,输入(:)将二维矩阵转换为一维数组,见下图,转到下面的步骤。

3、第三步,执行完上面的 *** 作之后,按Enter键确认,可以看到已成功转换为一维数组,见下图,转到下面的步骤。

4、第四步,执行完上面的 *** 作之后,输入reshape(a,[],1),还轿嫌可以将二维矩阵转换为一维数组,见下图,转到下面的步骤。

5、第五步,执行完上面的举态 *** 作之后,闭答手按Enter键确认,可以看到通过“reshape(a,[],1)”也已成功转换为一维数组,见下图。这样,就解决了这个问题了。

比如说陆者让嫌郑你的数组是A(1,N)

那么

clear,clc

n=mod(N,2)

if

(n==1)

for

x=1:(N+1)/2

A(1,2*x-1)

end

else

for

y=1:N/2

A(1,2*y-1)

end

end

上面这一段早局是输出奇数个,如果要输出偶数个的话就是把2*x-1和2*y-1替换为2*x和2*y。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12221927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存