subsasgn

下标赋值

句法

一个(I)= B
一个(I,J)= B
一个(I,:) = B
一个(:,I)= B
一个(I,J,K,...)= B
一个= subsasgn(A,S,B)

描述

一个(I)= B分配的值b成的元素一种用下标向量所指定一世b必须有相同数量的元素作为一世或者是一个标量值。

一个(I,J)= B分配的值b成的矩形子矩阵的元素一种用下标向量指定一世Ĵb一定有长度(I)LENGTH(J)列。

冒号用作下标,如在一个(I,:) = B要么一个(:,I)= B表示整个行或列。

对于多维数组,一个(I,J,K,...)= B受让人b到的指定的元素一种b一定是长度(I)-通过-长度(J)-通过-长度(K)通过添加或删除单尺寸-...或为换挡到该尺寸。

一个= subsasgn(A,S,B)被调用的语法A(I)= B一个{I} = B, 要么A.I = B什么时候一种是一个对象。小号是具有以下字段的结构数组:

  • 键入 - 以下情况之一:'()''{}', 要么''指定标类型

  • 潜艇 - 包含实际标细胞阵列或字符向量

例如,语法一个(1:2,:) = B电话一个= subsasgn(A,S,B)哪里小号是一个1×1的结构与S.type = '()'S.subs = {1:2, ':'}。用作下标A结肠作为传递':'

您可以使用定点分配,例如一个(:) = B,投用一个值numerictype对象到另一个numerictype宾语。这个下标赋值语句的值赋给b一种同时保持numerictype对象一种。下标分配适用于整数数据类型相同的方式。

例子

全部收缩

对于科幻对象一种b,存在之间的差

A = B

一个(:) = B

在第一种情况下,A = B内容替换一种b一种假设值,numerictype对象和fimath对象相关联的b。在第二种情况下,一个(:) = B分配的值b一种同时保持numerictype对象一种。您可以使用此投下值与一个numerictype对象到另一个numerictype宾语。

例如,投一个16位数为8位的数字。

一个=科幻(0,1,8,7)
a = 0的DataTypeMode:定点:二进制点缩放符号性:签字字长:8 FractionLength:7
B =科幻(PI / 4,1,16,15)
B = 0.7854 DataTypeMode:定点:二进制点缩放符号性:签字字长:16 FractionLength:15
一个(:) = B
A = 0.7891 DataTypeMode:定点:二进制点缩放符号性:签字字长:8 FractionLength:7

这个例子定义一个变量ACC以模拟DSP的40位累加器。本例中的s manbetx 845产品和总和使用语法分配到累加器ACC(1)= ...分配值到累加器就像在寄存器中存储的值。首先,打开记录模式和定义的变量。在这个例子中,ñ是点的输入数据的数量X和输出数据ÿŤ表示时间。其余变量都被定义为科幻对象。输入数据X是添加到低频正弦波的高频正弦波。

fipref('LoggingMode''上');N = 100;T =(0:N-1)/ N;X =科幻(SIN(2 * PI * T)+ 0.2 * COS(2 * PI * 50 * t))的;B =科幻([5 0.5]);Y =科幻(零(大小(X)),numerictype(X));ACC =科幻(0.0,真,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”

日志报告显示的最小和最大记录值和使用的变量的范围。因为ACC被分配到的,而不是被覆盖,这些日志反映累积最大值和最小值。

logreport(X,Y,B,ACC)
minlog maxlog下界上界noverflows nunderflows X -1.200012 1.197998 1.999939 -2 0 0 Y,-0.9990234 0.9990234 -2 1.999939 0 0 B 0.5 0.5 -1 0.9999695 0 0 ACC -0.9990234 0.9989929 -512 512 0 0

显示ACC以验证其数据类型没有变化。

ACC
ACC = -0.0941 DataTypeMode:定点:二进制点缩放符号性:签字字长:40 FractionLength:30

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

复位(fipref)

扩展功能

C / C ++代码生成
生成使用MATLAB®编码器™C和C ++代码。

GPU代码生成
生成使用GPU编码器™,NVIDIA®GPU的代码CUDA®。

也可以看看

R2006a前推出