matlab数组使用方法

数组

细节

  1. 数组下标是从1开始而非从0开始
  2. 字符串用单引号'引用
  3. 数组赋值a=[]用中括号,类似python的list
  4. 数组元素用,分隔
  5. 类似python,matlab中的元胞数组也不需要其中元素相同

初始化数组

% 生成从1:n的行向量
a=1:n;
% 一行四列
a=[1,2,3,4]; 
% 两行两列
a=[1,2;3,4];
% 三行两列全一矩阵
a=ones(3,2);
% 全零
a=zeros(3,2);
% 随机
a=rand(3,2);

注意: 如果不能确定数组的大小也可以不初始化。不过这在编码中不是一个好习惯。

引用元素

% 引用数组中的2~3行,3~1列对应的元素
A(2:3,3:-1:1) 
% 引用最后一列元素,“:”表示所有列或行,“end”表示最后一列或列,“end-n”表示倒数第n行或列
A(:,end)
% 表示引用第1行倒数第2个元素
A(1,end-1)

元胞数组

初始化数组

a=cell(3,2);
a={'hello',123.45;2333,'2333'};

引用元素

a{1}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab是一个强大的数学计算工具,其数组使用方式也非常巧妙。下面介绍一些Matlab数组的巧妙用法: 1. 向量化运算 Matlab的向量化运算功能使得我们可以对整个数组进行操作而不用循环遍历每个元素。比如,如果我们想将一个数组中的所有元素都乘以2,可以使用以下代码: ``` A = [1 2 3; 4 5 6; 7 8 9]; A = A * 2; ``` 这里的`A`是一个3x3的矩阵,`A * 2`会将矩阵中的每个元素都乘以2。 2. 多维数组的索引 Matlab支持多维数组的索引,这样我们可以更方便地访问数组中的元素。比如,如果我们想访问一个3维数组中的某个元素,可以使用以下代码: ``` A = rand(3,4,5); val = A(2,3,4); ``` 这里的`A`是一个3x4x5的数组,`A(2,3,4)`表示访问第2个维度、第3个维度和第4个维度上的元素。 3. 利用数组进行拟合 Matlab提供了许多拟合函数(如polyfit)来拟合数据,但有时候我们可以利用数组的性质来进行拟合。比如,如果我们想用一个二次曲线来拟合一组数据,可以使用以下代码: ``` x = linspace(-1,1,100); y = 2*x.^2 + 3*x + 1 + randn(1,100)*0.1; % 添加一些噪声 A = [x.^2; x; ones(1,length(x))]'; b = y'; coef = A\b; ``` 这里的`x`和`y`是一组数据,我们想用一个二次曲线来拟合它们。我们可以将二次曲线表示为`y = ax^2 + bx + c`,然后将x的二次方、x和1作为矩阵A的三列,将y作为矩阵b的一列,然后用线性代数中的最小二乘法求解系数a、b、c。 4. 利用数组进行卷积 Matlab提供了许多处理信号和图像的函数,其中一个非常有用的函数是conv,它可以用来进行卷积操作。比如,如果我们想对一个信号进行平滑处理,可以使用以下代码: ``` x = randn(1,100); % 生成一组随机信号 h = ones(1,10)/10; % 生成一个长度为10的平均滤波器 y = conv(x,h,'same'); ``` 这里的`x`是一组随机信号,我们想对它进行平滑处理。我们可以生成一个长度为10的平均滤波器`h`,然后使用conv函数对信号进行卷积操作,得到平滑后的信号`y`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值