MATLAB基础:7.计算与编程策略

计算与编程策略

一、矢量化编程

MATLAB以矩阵为基本元素
什么是矢量化编程

  • 将矩阵视为一个整体,对矩阵中的元素同时进行某种操作或运算,即整块的操作大量数据

矢量化编程的优点

  • 代码大大简化,编程效率高,代码可读性高
  • 程序执行效率高

例题:0~10等间隔取1001数,计算正弦函数值

x=0:0.01:10;
y=sin(x);

不需要for循环


例题:A是m*n的矩阵,求矩阵所有元素的和

sum(A(:))
sum(sum(A))

以前:

s=0;
for ii=1:size(A,1)
    for jj=1:size(A,2)
        s=s+A(ii,jj);
    end
end

或者:

for ii=1:numel(A)
    s=s+A(ii);
end

例题:给定正整数n,求和1/(2n-1)*sin(2n-1)

n=10;
s=0;
for ii=1:n
    s=s+1/(2*ii-1)*sin(2*ii-1);
end

y=sum(1./(2:2:2*n-1).*sin(2:2:2*n-1))

二、利用矩阵的逻辑判断和比较

例题:
生成10*10的0~1的随机矩阵A,对其中元素按如下函数计算,得到同样大小的矩阵B:
y=x^2+x+1,x<0.5
y=x+1,x>=0.5
以前:

A=rand(10,10);
B=zeros(10,10);
for ii=1:numel(A)
    if A(ii)<0.5
        B(ii)=A(ii)^2+A(ii)+1;
    else
        B(ii)=A(ii)+1;
    end
end

批量:


B=A.^2+A+1;

B(A>=0.5)=A(A>=0.5)+1;
B(A<0.5)=A(A<0.5)^2+A(A<0.5)+1;

T1=find(A>=0.5);
B(T1)=A(T1)+1;
T2=find(A<0.5);
B(T2)=A(T2).^2+A(T2)+1;

一些常用函数

  1. find(A):查找A中非零元素的索引和值
  2. setdiff(A,B):返回A中,但不在B中的元素
  3. ismember(A,B):若A中元素在B中,则返回这些元素的索引
  4. unique(A):去除矩阵A中的重复元素,并排序
  5. union(A,B):合并A和B,并去除重复元素(求并集)

三、命名规则

四、注意事项

  1. 实现模块化:分解为小模块,采用函数形式
  2. 充分利用matlab自带的函数
  3. 通用性
  4. 注释
  5. 编写脚本
  6. 充分利用语法自检

五、常用快捷键

  1. Ctrl+R:一键注释
  2. Ctrl+T:取消注释
  3. Ctrl+L:删除当前行
  4. %: 注释
  5. TAB:缩进\补全
  6. clear:清除当前变量

六、常用标点

  1. :矩阵元素的分隔;输入量的分隔
  2. ;:数组行间换行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值