如何实现一个查找表模型中可以接受数据作为输入变量尺寸的金宝app

13个视图(30天)
嗨。
如何实现一个查找表 金宝app 可接受的变量 大小 数据作为输入。比如我用一个理想情况下接受一个一维查找表15 x1向量(每个)作为我的表数据和断点。向量都是单调递增的。这是最理想的状态。然而,我还必须做一个数据处理的向量之前喂的。我想删除零或负数的2向量和我必须相应地缩短其他向量。例如假设我有一个向量的两个0或两个负数,这里我处理数据,以便过滤掉这两个向量的元素和有效矢量输出尺寸现在只有13而不是15(表数据和英国石油公司,例如我总是让这两个向量的大小等于之前使用的)。现在这个尺寸也可以成为12日或11日或10取决于有多少在向量输入无效的元素。现在不接受变量向量大小的输入,因为它总是希望固定大小的表数据和英国石油公司。
有解决方案吗?有特定的附近地区类型,为此我可以使用吗?
问候
Ganesh艾耶
2的评论
Ganesh艾耶
Ganesh艾耶 2023年1月12日
嗨,保罗,谢谢你的回应。我有一个matlab函数接收向量输入从另一个子系统(被我视为表数据和断点附近地区)。现在这些向量总是15 x1的大小。然而matlab函数,我之前提到过,这个因数可以削减15 x1向量和过滤掉一些无效的值,可以改变大小(或者说缩短)假设13 x1或10 x1或6 x1向量。然后使用这些削减/重塑向量的附近地区。所以在任何情况下,总是会收到的英国石油(BP)和表数据大小相等,但不一定15 x1原预定的最大大小。在理想的情况下输入向量都15个有效元素/数字,预计将给一个精确的查找值取决于请求的输入。但是考虑到前子系统逻辑的决定,他们可能会填补一些15 x1向量中的元素与一些零或负数。前面提到的matlab函数将这些多余的元素和提供清洁(但短)向量组的。
这个大小发生改变时,不接受的。附近地区显然一直要求英国石油公司和表数据总是一致的大小(它并不在乎它是15 x1或13 x1或7 x1,只要它仍然固定总是)。thagt是我的问题。

登录置评。

接受的答案

保罗
保罗 2023年1月12日
编辑:保罗 2023年1月12日
根据医生的动态块不接受可变大小的信号。
我尝试以下方法,这听起来像你可能已经下降的道路。
我试着这个加权,假设我们想夹自变量表的端点断点时外的断点。另一块是动态和查找表的动态饱和。
Matlab功能块:
函数[maxxdata, minxdata xdataout ydataout] = fcn (xdatain ydatain)
%去除点xdatain = 0
%的主要元素xdataout将有效的断点。拖尾的
%的元素xdataout填充和不应该是用于附近地区。
%的主要元素ydataout ydatain的元素
%对应好xdatain的元素
xdataout = 0 * xdatain;
ydataout = 0 * ydatain;
baddata = xdatain = = 0;
numbad =总和(baddata);
numgood =元素个数(xdatain)——numbad;
maxxdata = max (xdatain (~ baddata));
minxdata = min (xdatain (~ baddata));
xdataout (1: numgood) = xdatain (~ baddata);
xdataout (numgood + 1:结束)= (maxxdata + 1) * (1: numbad);
ydataout (1: numgood) = ydatain (~ baddata);
结束
1评论
Ganesh艾耶
Ganesh艾耶 2023年1月13日
由于一吨 保罗 ,
你的解决方案和垫功能给了我一些想法提高我的逻辑。虽然我不能完全使用你的想法,我得到一些情报。我写了一个函数首先过滤传入的数据通过寻找elemnts 0(找到块和垫功能相交寻找常见的无效值从x_in和y_in),然后敲门。然后我整理和检查,如果他们真的很单调排序。在这个阶段向量已经减少到12(3无效的元素按我的试验)。然后我搬到第12位15位置和插入的元素之间的一些点11日和15日的元素。这使得向量的大小15和我在模型浏览器可以定义输出固定大小的15。现在这些数据被用来喂养一个一维附近地区,现在,一切工作正常。
所以最后,为了使块的工作,一些前处理完成这个版本(R2022a)的matlab仿真软件。金宝app
顺便说一下,我还要检查与Mathworks团队和他们说他们正在考虑升级接受可变大小的数据在未来:)
但是现在,谢谢你的时间,谢谢。

登录置评。

答案(1)

Fangjun江
Fangjun江 2023年1月12日
你必须使用“查找表Dynanic”块。根据它的医生,它不支持适应信号”。金宝app所以答案是否定的。
可能会有一个解决方案使用MATLAB功能块,支持适应信号。金宝app破发点数据和表数据都输入MATLAB作用。内部,使用interp1()进行查找。
web (fullfile (docroot,金宝app仿真软件/ slref / lookuptabledynamic.html))
web (fullfile (docroot,金宝app仿真软件/ ug / variable-size-signal-basics.html))
3评论

登录置评。

类别

找到更多的在非线性帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!