Wolfram mathematica 正确使用Mathematica中的关联将标签应用于向量

Wolfram mathematica 正确使用Mathematica中的关联将标签应用于向量,wolfram-mathematica,Wolfram Mathematica,我有一个矩阵,它包含多个向量和相关标签。矩阵如下所示: inputseq2s={{0,2,4,6}->"A",{9,7,6,5}->"B",{5,6,4,3}->C}} outtable2=Map[{#[[2]],iterfunc[#[[1]]]}&,inputseq2s]; {{A,{0,1,0,1}},{B,{0,0,1,1}},{C,{0,0,0,1}}} 然后,我在矩阵中映射一个函数,如下所示: inputseq2s={{0,2,4,6}->"A",

我有一个矩阵,它包含多个向量和相关标签。矩阵如下所示:

inputseq2s={{0,2,4,6}->"A",{9,7,6,5}->"B",{5,6,4,3}->C}}
outtable2=Map[{#[[2]],iterfunc[#[[1]]]}&,inputseq2s];
{{A,{0,1,0,1}},{B,{0,0,1,1}},{C,{0,0,0,1}}}
然后,我在矩阵中映射一个函数,如下所示:

inputseq2s={{0,2,4,6}->"A",{9,7,6,5}->"B",{5,6,4,3}->C}}
outtable2=Map[{#[[2]],iterfunc[#[[1]]]}&,inputseq2s];
{{A,{0,1,0,1}},{B,{0,0,1,1}},{C,{0,0,0,1}}}
但输出如下所示:

inputseq2s={{0,2,4,6}->"A",{9,7,6,5}->"B",{5,6,4,3}->C}}
outtable2=Map[{#[[2]],iterfunc[#[[1]]]}&,inputseq2s];
{{A,{0,1,0,1}},{B,{0,0,1,1}},{C,{0,0,0,1}}}
我需要它看起来像这样:

inputseq2s={{0,2,4,6}->"A",{9,7,6,5}->"B",{5,6,4,3}->C}}
outtable2=Map[{#[[2]],iterfunc[#[[1]]]}&,inputseq2s];
{{A,{0,1,0,1}},{B,{0,0,1,1}},{C,{0,0,0,1}}}
{0,1,0,1}->“A”、{0,0,1,1}->“B”、{0,0,0,1}->“C”}

但到目前为止,我还没有找到实现这一目标的方法。任何帮助都将不胜感激

这是完整的代码。我之前没有将其包括在内,因为我认为它可能会使水变得浑浊,但这里是:

iterfunc=Function[seq2,coltot=Length[Partition[seq1,window,offsetwindowseq1]];
rowtot=Length[Partition[seq2,window,offsetwindowseq2]];
outlabels=Table[wordseqname<>"("<>ToString[If[x<2,x,((x-1)*offsetwindowseq1)+1]]<>"-"<>ToString[((x-1)*offsetwindowseq1)+window]<>")",{x,1,coltot}];
dist1=Tuples[{Partition[seq1,window,offsetwindowseq1],Partition[seq2,window,offsetwindowseq2]}];
outtable=Partition[Table[CanonicalWarpingDistance[dist1[[i,1]],dist1[[i,2]],Automatic,{"SlantedBand",bandwidth},Method->{"MatchingInterval"->"Flexible"},DistanceFunction->distfunc],{i,1,Length[dist1]}],coltot];
normfunc=Function[x,x/window];normtable=Map[normfunc,outtable];
test=Function[x,If[x<=threshold,1,0]];
outtable2=Partition[Map[test,Flatten[normtable],1],coltot];
Total[outtable2]];
iterfunc=Function[seq2,coltot=Length[Partition[seq1,window,offsetwindowseq1];
rowtot=长度[分区[seq2,窗口,偏移量];
EXLABELS=Table[wordseqname”(“ToString[If[x{“MatchingInterval”->“Flexible”},DistanceFunction->distfunc],{i,1,Length[dist1]}],coltot];
normfunc=函数[x,x/窗口];normtable=映射[normfunc,outtable];

test=函数[x,如果[x您正在将
inputseq2
规则列表的元素映射到一个列表,标签在前,而
interfunc
的输出在后

您可能需要这样的内容:

outtable2 = Map[Rule[interfunc[#[[1]]], #[[2]]] &, inputseq2s]

inputseq2
outtable2
都是规则列表,而不是关联。

您正在将
inputseq2
规则列表的元素映射到一个列表,首先是标签,然后是
interfunc
的输出

您可能需要这样的内容:

outtable2 = Map[Rule[interfunc[#[[1]]], #[[2]]] &, inputseq2s]

inputseq2
outtable2
都是规则列表,而不是关联。

我现在编辑了它。我现在编辑了它。