matlab中矩阵的logical函数,Matlab中的logical

Matlab中什么是logical

logical作为逻辑变量,可以是一种数据类型,第一次见到是在workspace里100*1logical,可以用在取出最值。

logical是布尔变量,可以是一个标量,也可以是一个向量或者是矩阵。可以用作下标。

在帮助文档中给出了一个例子:

A = [1 2 3; 4 5 6; 7 8 9]

要想取出对角元素,可以用diag(A),也可以借助下标。

构建一个logical矩阵,或者说是下标矩阵 logical(eye(3))

T=eye(3)是3*3单位阵

logical(T)是把为真(1)的值取出

即:eye(3)=[1 00; 0 10; 0 01;]

A(logical(eye(3))的意思是取出下标为真的元素:

最终返回:[1;5;9];

求极值

clear;

N = 100;

v = rand (N,1);

t = 0:length(v)-1;

Lmax = diff(sign(diff(v)))== -2; % logic vector for the local max

value

Lmin = diff(sign(diff(v)))== 2; % logic vector for the local min

value

% match the logic vector to the original vecor to have the same

length

Lmax = [false; Lmax; false];

Lmin = [false; Lmin; false];

tmax = t (Lmax); % locations of the local max elements

tmin = t (Lmin); % locations of the local min elements

vmax = v (Lmax); % values of the local max elements

vmin = v (Lmin); % values of the local min elements

% plot them on a figure

plot(t,v);

xlabel('t'); ylabel('v');

hold on;

plot(tmax, vmax, 'r+');

plot(tmin,vmin, 'g+');

hold off;

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值