MATLAB之逻辑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB之逻辑相关的知识,希望对你有一定的参考价值。

参考技术A 上一节的内容中,我们介绍了索引的使用方法。索引的目的是为了取出矩阵中的一部分元素,因此我们知道通过元素在矩阵中的位置我们可以实现索引。在本节中,我们将介绍MATLAB中的逻辑变量以及通过逻辑变量索引的方法。

logical变量只存在两种值true(真)或者false(假),规定分别用数字1和0存储。以逻辑值组成的矩阵称为逻辑矩阵。一般有以下几种创建逻辑矩阵的方法,各有用处。

直接用true,false直接赋值到一个矩阵,缺点操作复杂,一般不考虑这种方法。

输出值

logical函数是将数值或矩阵转换为逻辑值的函数。遵循的转换规则为:非零值为逻辑1,零值为逻辑0。这种方法将一个矩阵非零值对应转为逻辑矩阵中的1。可以用作非零值的逻辑索引。

函数法

命令行输出

命题就是判断一个事件的陈述句。对于数值来说一个判断的陈述句通过关系运算符连接。
MATLAB的关系运算符共6个:等于(==),不等于(~=),大于等于(>=),大于(>),小于等于(<=),小于(<)。
这种方法创建逻辑矩阵最为常见,能够很高效地创建对应的逻辑矩阵,同时进行逻辑运算并作为索引

逻辑表达式

命令行输出

逻辑表达式的运算

对于逻辑值之间的运算,可以实现逻辑表达式的复合运算,这时可以实现联合条件的逻辑索引。有四种运算:逻辑与(&,&&),逻辑或(|,||),逻辑异或(xor函数)和逻辑非(~)。这四种逻辑运算服从以下的真值表。

逻辑真值表

应用实例

命令行输出

find函数是将逻辑矩阵索引直接转换为直接索引(下标位置)的函数。我们有时候作出了判断,但是却需要直接索引的信息,这时可以利用find函数进行转换;另一个用处是,找到前n个满足条件的索引

命令行输出

以下是逻辑数组的三种基本应用,根据判断条件进行,逻辑索引查找,替换和删除。

1.一组数据[1 2 4 6 7 8 9 0 4 5 3 2 4 2 2 3 4 2 3],依次找出其中在区间[2,6]中的数。

2.一组数据[1 2 4 6 7 8 9 0 4 5 3 2 4 2 2 3 4 2 3],依次将其中在区间[2,6]中的数替换为10。

3.一组数据[1 2 4 6 7 8 9 0 4 5 3 2 4 2 2 3 4 2 3],删除其中在区间[2,6]中的数。

参考思路

1.一组数据[1 2 4 6 7 8 9 0 4 5 3 2 4 2 2 3 4 2 3],依次找出其中在区间[2,6]中的数。

2.一组数据[1 2 4 6 7 8 9 0 4 5 3 2 4 2 2 3 4 2 3],依次将其中在区间[2,6]中的数替换为10。

3.一组数据[1 2 4 6 7 8 9 0 4 5 3 2 4 2 2 3 4 2 3],删除其中在区间[2,6]中的数。

本节内容不多,但是逻辑索引比起线性地址的等间距索引索引的产生要更加普遍,所以,希望读者熟练掌握这三种基本应用。

如何利用matlab工具箱进行逻辑回归

参考技术A 用nlinfit()函数来拟合,其拟合函数为R2=a1/(1+exp(-a2)-a3*R1))拟合结果为20℃时,R2=0.43754/(1+exp(-2.5824-12.3049*R1)30℃时,R2=0.54856/(1+exp(-2.8618-9.6528*R1)拟合曲线

以上是关于MATLAB之逻辑的主要内容,如果未能解决你的问题,请参考以下文章

matlab逻辑数组怎么用?

来自逐元素逻辑比较的 MATLAB 逻辑矩阵的 Python 等效项

MATLAB学习—MATLAB逻辑与流程控制

matlab逻辑数组怎么用?请看下面的程序段。

在 Matlab 中使用 L2 正则化实现逻辑回归

Matlab 正则化逻辑回归 - 如何计算梯度