Wie übergebe ich eine Funktion an Parallel Assign()?Hallo zusammen,
Ich versuche, eine Funktion an den lokalen Speicherplatz der Parallel Assign-Funktion zu übergeben:
F = Function( {x,y}, x+y);
M = J(2,3,0);
Parallel Assign({F=F},M[i,j]=F(i,j));
M;Es funktioniert nicht, weil JMP mir sagt, dass F 2 Parameter hat, aber 0 gegeben wurden. Wie kann ich das beheben?
Natürlich ist es ein eingekochtes Problem eines viel längeren Skripts. Ich könnte F innerhalb von Parallel Assign definieren, aber es ist unnötig, ein und dieselbe Funktion in jeder meiner n Ausführungen zu definieren (n ist groß). Gibt es eine Möglichkeit, eine Funktion an Parallel Assign zu übergeben?
Re: Wie übergebe ich eine Funktion an Parallel Assign()?Vielen Dank. Also mit
Parallel Assign( {F <SPAN class="token operator">=</SPAN> <SPAN class="token function">Function</SPAN><SPAN class="token punctuation">(</SPAN> <SPAN class="token punctuation">{</SPAN>x<SPAN class="token punctuation">,</SPAN>y<SPAN class="token punctuation">}</SPAN><SPAN class="token punctuation">,</SPAN> x<SPAN class="token operator">+</SPAN>y<SPAN class="token punctuation">)</SPAN>}, M[i, j] = F( i, j ) );<CODE class=" language-jsl">M <SPAN class="token operator">=</SPAN> <SPAN class="token function">J</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token number">2</SPAN><SPAN class="token punctuation">,</SPAN><SPAN class="token number">3</SPAN><SPAN class="token punctuation">,</SPAN><SPAN class="token number">0</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>Ich kann eine Funktion einmal für Parallel Assign definieren. Aber ist es möglich, dies außerhalb der Parallel Assign-Anweisung zu tun? Was ist, wenn ich ein und dieselbe Funktion innerhalb und außerhalb von Parallel Assign verwenden möchte? Muss ich das wirklich zweimal definieren?
Wenn ich eine Funktion F habe, ist es im Allgemeinen möglich, dieselbe Funktion G zuzuweisen (natürlich ohne sie neu zu definieren)? G=F funktioniert nicht, da JMP die Parameter von F erwartet.
Re: Wie übergebe ich eine Funktion an Parallel Assign()?Siehe Beispiel und Erklärung https://community.jmp.com/t5/Discussions/Multithreading-troubleshooting-using-Parallel-Assign/mp/230644#M45738