主要内容

subsasgn

下标赋值

描述

例子

一个= subsasgn (一个年代B为语法调用A(i) = BA{i} = B,或A.i = B一个对象。

MATLAB®使用内置的subsasgn函数解释索引赋值语句:

  • A(i) = B赋值为B进入元素一个由下标向量指定B必须有相同数量的元素或者是标量。

  • A(i,j) = B赋值为B的矩形子矩阵中的元素一个由下标向量指定而且jB必须有长度(我)行和长度(j)列。

  • 冒号用作下标的冒号,如在A(i,:) = BA(:,i) = B,表示整列或整行。

  • 对于多维数组,A(i,j,k,…)= B分配B的指定元素一个B必须长度(我)——- - - - - -长度(j)——- - - - - -长度(k)-…或通过添加或删除单个维度可移动到该尺寸。

提示

你可以使用定点赋值,例如,A(:) = b,将具有一种数字类型的值转换为另一种数字类型。这个下标赋值语句赋值B一个的数值类型一个.下标赋值对于整型数据类型的工作方式相同。

请注意

你必须打电话subsasgn使用输出参数。subsasgn不修改索引操作中使用的对象(第一个参数)。必须分配输出以获得修改后的对象。

例子

全部折叠

fi对象一个而且b,两者是有区别的

A = b

而且

A (:) = b

在第一种情况下,A = b替换一个b一个假设值、数字类型和fimathb.在第二种情况下,A (:) = b赋值为b一个的数值类型一个.您可以使用它强制转换带有1的值numerictype对象转换为另一个对象numerictype对象。

例如,将一个16位的数字转换为8位的数字。

A = fi(0,1,8,7)
DataTypeMode:定点:二进制点缩放signdness: Signed WordLength: 8 FractionLength: 7
B = fi(/ 4,1,16,15)
b = 0.7854 DataTypeMode:定点:二进制点缩放signdness: Signed WordLength: 16 FractionLength: 15
A (:) = b
DataTypeMode: Fixed-point: binary point scaling signdness: Signed WordLength: 8 FractionLength: 7

定义变量acc来模拟DSP的40位累加器。本例中的下载188bet金宝搏乘积和和使用下面的语法赋值到累加器中acc(1) =….在累加器中赋值就像在寄存器中存储一个值。首先,打开日志记录模式并定义变量。在这个例子中,n输入数据中的点数是多少x输出数据y,t代表时间。其余变量都定义为fi对象。输入数据x是一个高频正弦加到一个低频正弦上。

fipref (“LoggingMode”“上”);N = 100;T = (0:n-1)/n;X = fi(sin(2* *t) + 0.2*cos(2* *50*t));B = fi([。5。5);Y = 0 (size(x),“喜欢”, x);Acc = fi(0.0, true, 40,30);

下面的循环取输入的运行平均值x使用系数b.请注意,acc被分配到acc(1) =…与使用acc =…的数据类型,这将覆盖和更改acc

K = 2:n acc(1) = b(1)*x(K);Acc (1) = Acc + b(2)*x(k-1);Y (k) = acc;结束

通过平均每一个其他样本,上面所示的环路使低频正弦信号通过并衰减高频正弦信号。

情节(t x,“x -”、t、y,“啊——”)传说(输入数据x输出数据y

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示输入数据x,输出数据y。

日志报告显示所使用变量的最小和最大日志值以及范围。因为acc这些日志反映累积的最小值和最大值,而不是被覆盖。

logport (x, y, b, acc)
Minlog maxlog lowerbound upperbound noverflows nunderflows x -1.200012 1.197998 -2 1.999939 00 y -0.9990234 0.9990234 -2 1.999939 00 b 0.5 0.5 -1 0.9999695 00 acc -0.9990234 0.9989929 -512 512 000

显示acc验证其数据类型没有改变。

acc
acc = -0.0941 DataTypeMode:定点:二进制点缩放signdness: Signed WordLength: 40 FractionLength: 30

重置fipref对象恢复其默认值。

重置(fipref)

输入参数

全部折叠

索引操作中使用的对象,指定为标量、向量或多维数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|fi
复数支持:金宝app是的

作为结构数组指定的索引和下标类型。年代是具有两个字段的结构数组:

  • 类型字符向量或字符串包含(){},或,指定下标类型。

  • 潜艇包含实际下标的单元格数组、字符数组或字符串数组。

例子:的语法A(1:2,:) = b调用a = subsasgn(a,S,B)在哪里年代是1乘1结构S.type = '()'而且S.subs = {1:2, ':'}.作为脚本使用的冒号被传递为“:”

数据类型:结构体

值被赋值,指定为标量、向量或多维数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|fi
复数支持:金宝app是的

输出参数

全部折叠

赋值语句的结果,它是作为第一个参数传入的已修改对象,作为标量、向量或多维数组返回。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

版本历史

R2006a之前介绍