Matlab中数组下标是logical,如何处理?

K>> a = 10*ones(1,10);
K>> b = [1 56 23 5 6 45 9 7 89 10];
K>> c = b<a

c =

     1     0     0     1     1     0     1     1     0     0

K>> a(c) = b(c)

a =

     1    10    10     5     6    10     9     7    10    10

  从试验可以看出,逻辑1的话得到原来的值b,否则得到a中值。

时间: 2024-10-24 18:58:18

Matlab中数组下标是logical,如何处理?的相关文章

matlab中数组创建方法

创建数组可以使用 分号 :  逗号, 空格 数组同行用 逗号,或空格分割 不同行元素用 分号: 1 clc; 2 a = [1 2 3 4 5]; 3 b1 = a(3);%第3个元素 4 b2 = a(2:4)%第2/3/4个元素 5 b3 = a(3:end)%第3到最后 6 b4 = a(3:-1:1)%逆序 第 3/2/1元素 一维数组的创建: 1. 用 :冒号 格式:N1:step:N2  第一个元素N1,最后一个元素N2,步长step(step>0,递增或step<0,递减) 2.

Matlab中的一些小技巧

Matlab中的一些小技巧 1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. 2. figure命令新建一个绘图窗口 figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口.当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象.所谓的当前figure窗口,也就是最后一次查看的窗口(可以用

Matlab中的括号()[]{}

Matlab中的括号()[]{} Matlab中经常会用到括号去引用某Array或者是cell的内容,但三者有什么具体区别呢?[ ] 中括号用来构建向量(Vectors)或者是矩阵(Matrices).如[6.9 9.64 sqrt(-1)] 就是一个有三个元素的向量.[11 12 13; 21 22 23] 是一个二乘三的矩阵. 分号(;)用来结束一行.中括号的另一个作用是在函数中,分配输出参数. { }大括号,用于cell型的数组的分配或引用.比如 A(2,1) = {[1 2 3; 4 5

MATLAB中的结构数组

MATLAB中的结构数组 结构数组: 结构是包含一组记录的数据类型,而记录则是存储在相应的字段中.结构的字段可以是任意一种MATLAB数据类型的变量或者对象.结构类型的变量也可以是一维的.二维的或多维的数组.结构数组也称为架构数组.不过,在访问结构类型数据的元素时,需要使用下标配合字段的形式. 可以在一个数组中放置各类的数据,并且一个结构数组还能是另一个结构数组的一部分.相比较而言,比元胞数组更为强大,也更加富于变化. (1)直接赋值法创建结构数组 >> employee.name='tige

MATLAB中多个一维数组的合并

1.一维数组直接合并 题目: 数组work1[x1,x2--,xn],work2[y1,y2--,yn],现在要生成一个数组work3, work3中的数据为[x1,x2,x3--xn,y1,y2--yn]; 合并方法: 直接将两个矩阵合并: A = [1,2,3,4]; B = [-1,-2,-3,-4]; C = zeros(1,size(B,2)+size(A,2));     %这句可以不要; C = [A, B]; 2.一维数组交叉合并: 题目: 数组work1[x1,x2--,xn]

matlab中元胞数组(cell)转换为矩阵

matlab中元胞数组(cell)转换为矩阵. cell转换为矩阵函数为:cell2mat(c),其中c为待转换的元胞数组: 转化之后的矩阵可能不满足我们对矩阵维数的要求,那么也许还需要下面两个函数: ——reshape(A,m,n,p,...),将矩阵A变换为m*n*p*...的矩阵: ——permute(A,[1,3,2]),将矩阵A的第3维和第2维交换,从而满足顺序要求: 下面举一个我自己用过的例子: H——<K*1>cell,其中每个元素为U*S*N*T的四维矩阵(H为WINNERII

程序猿之---C语言细节11(数组下标越界后测试、数组下标中“ ,”运算符,副作用)

主要内容:数组下标越界后测试.数组下标中" ,"运算符,副作用 #include <stdio.h> int main(int argc, char ** argv) { int a[2]={1,2},b[2] = {3,4};//输出未知值 int i = 0; printf("%d\n",b[0,2]); //逗号为一种运算符,b[0,2]被当成b[2],在这里b[2]是超出 // 了下标,但是输出为1,是a[0]的值(通过改变a[0]的值输出也改变

使用jQuery匹配文档中所有的li元素,返回一个jQuery对象,然后通过数组下标的方式读取jQuery集合中第1个DOM元素,此时返回的是DOM对象,然后调用DOM属性innerHTML,读取该元素 包含的文本信息

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head> <meta htt

MATLAB中TXT数据文件读取并写入元胞数组的方法与步骤

一. TXT数据文件读取 Data = load('train.txt');   %简单的文件读取,这时在工作区可以看到导入的大数据变量Data 二.大数据变量Data装入元胞数组中 D = cell(5, 1);   %元胞的定义,定义一个5*1的元胞D D{1, 1} = rand(223, 26);   %初始化第1行第1列的元胞为223*26的一个数组,数组元素为随机值 D{1, 1} = Data(1: 1+222, 1: 1+25);  %将大数据变量的223*26的数值赋值(装入)