如何减少代码?

2视图(30天)
弗朗西斯科哈维尔
弗朗西斯科哈维尔 2021年5月31日
编辑: 1月 2021年5月31日
我想减少以下代码,ind_cond就是满足cetain条件子集。有人可以帮助我吗?
k = 1:长度(ind_cond)
ofertas_c (k)。Fecha = Fecha {ind_cond (k), 1};
ofertas_c (k)。Contrato = Contrato {ind_cond (k), 1} {1 1};
ofertas_c (k)。带=带{ind_cond (k), 1};
ofertas_c (k)。Agente = Agente {ind_cond (k), 1};
ofertas_c (k)。失去=失去{ind_cond (k), 1};
ofertas_c (k)。Precio = Precio {ind_cond (k), 1};
ofertas_c (k)。Cantidad = Cantidad {ind_cond (k), 1};
ofertas_c (k)。Tipo_oferta = Tipo_oferta {ind_cond (k), 1};
ofertas_c (k)。Condicion_ejecucion = Con_ejec {ind_cond (k), 1};
ofertas_c (k)。Condicion_validez = Con_val {ind_cond (k), 1};
ofertas_c (k)。Cantidad_reducida = Cantidad_reducida {ind_cond (k), 1};
ofertas_c (k)。产后抑郁症=产后抑郁症{ind_cond (k), 1};
ofertas_c (k)。Fecha_envio = Fecha_envio {ind_cond (k), 1};
ofertas_c (k)。Fecha_cambiada = Fecha_cambiada {ind_cond (k), 1};
结束

接受的答案

1月
1月 2021年5月31日
编辑:1月 2021年5月31日
我只呆在循环,避免重复的索引:
k = 1:长度(ind_cond)
kk = ind_cond (k);
年代。Fecha = Fecha {kk};
年代。Contrato = Contrato {kk} {1};
年代。带=带{kk};
年代。Agente = Agente {kk};
年代。失去=失去{kk};
年代。Precio = Precio {kk};
年代。Cantidad = Cantidad {kk};
年代。Tipo_oferta = Tipo_oferta {kk};
年代。Condicion_ejecucion = Con_ejec {kk};
年代。Condicion_validez = Con_val {kk};
年代。Cantidad_reducida = Cantidad_reducida {kk};
年代。产后抑郁症=产后抑郁症{kk};
年代。Fecha_envio = Fecha_envio {kk};
年代。Fecha_cambiada = Fecha_cambiada {kk};
ofertas_c (k) = S;
结束
如果所有元素将细胞数组,调用命令 结构() 会没事的,但现场Contrato使得需要额外的命令:
ofertas_c =结构(
“Fecha”Fecha,
“Contrato”cellfun (@ (c) c {1}, Contrato,
“带”带,
等等
)

更多的答案(0)

类别

找到更多的在循环和条件语句帮助中心文件交换

标签

社区寻宝

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

开始狩猎!

翻译的