% clear SignalName DataType InitialValue StorageClass % %% 导入Simulink.AliasType % [~,~,AliasType_Cell] = xlsread(Excel_Name,'AliasType'); %导入AliasType工作表为单元数组 % for row = 2:size(AliasType_Cell,1) %从第2行开始循环处理每一行内容 % % 提取别名、基础类型 % AliasName = AliasType_Cell{row,1}; % BaseType = AliasType_Cell{row,2}; % if(~isnan(BaseType)) % % 在工作空间中建立该对象并配置其属性 % evalin('base',[AliasName,' = Simulink.AliasType;']); % evalin('base',[AliasName,'.BaseType = ''',BaseType,''';']); % end % end
时间: 2024-04-27 10:22:06 浏览: 17
这是一段 MATLAB 代码,主要是用来导入 Excel 表格中的 AliasType 工作表,并将其中别名和基础类型信息转换为 Simulink.AliasType 对象并配置其属性,最终存储在 MATLAB 工空间中。具体的实现过程是通过使用 xlsread 函数读取 Excel 表格中的数据,并存储为单元数组,然后通过循环遍历每一行数据,提取出别名和基础类型信息,再使用 evalin 函数在 MATLAB 工作空间中建立该对象并配置其属性。其中 ~ 表示忽略不需要的返回值。
相关问题
将代码更改为读取路径D:\work\v2\ascii下的glstat文件from lsreader import BinoutReader from lsreader import BINOUT_DataType as bdt from lsreader import BINOUT_IdType as bit from lsreader import BINOUT_DataTypeOption as bdto path = os.getcwd() binout = os.path.join(path, "binout") br = BinoutReader(binout) # Time steps tm = br.get_data(bdt.BINOUT_ELOUT_X, idtype=bit.BINOUT_ELOUT_ID_SHELL) num_time_steps = br.get_data(bdt.BINOUT_ELOUT_NUM_TIMESTEP, idtype=bit.BINOUT_ELOUT_ID_SHELL) print("Number of time steps", num_time_steps) strainXX = br.get_data(bdt.BINOUT_ELOUT_STRAIN_XX, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER) strainYY = br.get_data(bdt.BINOUT_ELOUT_STRAIN_YY, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER) strainZZ = br.get_data(bdt.BINOUT_ELOUT_STRAIN_ZZ, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER) strainXY = br.get_data(bdt.BINOUT_ELOUT_STRAIN_XY, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER) strainYZ = br.get_data(bdt.BINOUT_ELOUT_STRAIN_YZ, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER) strainZX = br.get_data(bdt.BINOUT_ELOUT_STRAIN_ZX, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER)
好的,这段代码将从指定路径下读取名为glstat的文件,并使用BinoutReader类解析该文件。以下是更改后的代码:
```python
from lsreader import BinoutReader
from lsreader import BINOUT_DataType as bdt
from lsreader import BINOUT_IdType as bit
from lsreader import BINOUT_DataTypeOption as bdto
path = r'D:\work\v2\ascii'
binout = os.path.join(path, 'glstat')
br = BinoutReader(binout)
# Time steps
tm = br.get_data(bdt.BINOUT_ELOUT_X, idtype=bit.BINOUT_ELOUT_ID_SHELL)
num_time_steps = br.get_data(bdt.BINOUT_ELOUT_NUM_TIMESTEP, idtype=bit.BINOUT_ELOUT_ID_SHELL)
print("Number of time steps", num_time_steps)
strainXX = br.get_data(bdt.BINOUT_ELOUT_STRAIN_XX, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER)
strainYY = br.get_data(bdt.BINOUT_ELOUT_STRAIN_YY, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER)
strainZZ = br.get_data(bdt.BINOUT_ELOUT_STRAIN_ZZ, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER)
strainXY = br.get_data(bdt.BINOUT_ELOUT_STRAIN_XY, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER)
strainYZ = br.get_data(bdt.BINOUT_ELOUT_STRAIN_YZ, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER)
strainZX = br.get_data(bdt.BINOUT_ELOUT_STRAIN_ZX, idtype=bit.BINOUT_ELOUT_ID_SHELL, id=76, datatype_option=bdto.BINOUT_DATATYPE_ELOUT_LOWER)
```
需要注意的是,需要将路径指定为原始字符串,以避免路径中的反斜杠被解释为转义字符。在这个例子中,我们使用了'r'前缀来指定一个原始字符串。
formData.iotEquipPlanDetailList = formData.iotEquipPlanDetailList .filter(_ => _.show) .map(_ => { if (_.dataType === 1) { // } else { _.randomStart = _.random[0]; _.randomEnd = _.random[1]; delete _.random; } delete _.show; delete _.random; return _; });
这段代码是对`formData.iotEquipPlanDetailList`数组进行处理。具体来说,它做了以下几件事:
1. 使用`filter`方法过滤掉`show`属性为`false`的元素;
2. 使用`map`方法对数组中的每个元素进行处理,并返回新的数组;
3. 对于每个元素,如果`dataType`属性为`1`,不做处理,否则将`random`属性拆分成`randomStart`和`randomEnd`两个属性,然后删除`random`属性;
4. 最后删除每个元素中的`show`和`random`属性,然后返回处理后的新数组。
这段代码的目的是对数组进行一些数据的处理和清理,以便在后续的业务逻辑中使用。