Vektorisieren einer Funktion < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 01:48 Fr 04.02.2011 | Autor: | belle |
Aufgabe | Eine Funktion ist geschrieben. Zwei Skalare werden übergeben.
Der Ergebniswert ist abhängig von den Beträgen und den Vorzeichen der beiden Skalare. |
Wie kann man diese Funktion umbauen, das anstelle der skalaren Parameter zwei Vektorparametern übergeben werden können? Diese sollen sein:
VectorA = {1, 4, -5, -10};
VectorB = {-4, 10, 5, -4};
Die Mathematika -Zeilen im Moment können das hier:
SkalarA = 1;
SkalarB = -4;
Rück = If[Sign[SkalarA] != Sign[SkalarB], SkalarA + SkalarB,
If[Sign[SkalarA] == 1, Max[SkalarA, SkalarB],
Min[SkalarA, SkalarB]]]
Bitte um Nachsicht. Bin nur Künstler und will mit diesen Werten in einem Soundbegleitprojekt mit modifizierter Musik arbeiten.
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Dateianhänge: Anhang Nr. 1 (Typ: docx) [nicht öffentlich]
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 13:17 Fr 04.02.2011 | Autor: | belle |
Aufgabe | Ich habe zwei Mustervektoren,
das erwünschten Resultat der Funktion
und die Wahrheitstabelle in den Anhang eingefügt |
Der Anhang zeigt einen Satz Beispieleingabedaten
für die Aufgabenlösung und die Ergebnisdaten.
Dies sind handgenerierte Daten.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:20 Do 10.02.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:38 Sa 05.02.2011 | Autor: | frozer |
> Eine Funktion ist geschrieben. Zwei Skalare werden
> übergeben.
> Der Ergebniswert ist abhängig von den Beträgen und den
> Vorzeichen der beiden Skalare.
> Wie kann man diese Funktion umbauen, das anstelle der
> skalaren Parameter zwei Vektorparametern übergeben werden
> können? Diese sollen sein:
> VectorA = {1, 4, -5, -10};
> VectorB = {-4, 10, 5, -4};
>
> Die Mathematika -Zeilen im Moment können das hier:
>
> SkalarA = 1;
> SkalarB = -4;
> Rück = If[Sign[SkalarA] != Sign[SkalarB], SkalarA +
> SkalarB,
> If[Sign[SkalarA] == 1, Max[SkalarA, SkalarB],
> Min[SkalarA, SkalarB]]]
>
> Bitte um Nachsicht. Bin nur Künstler und will mit diesen
> Werten in einem Soundbegleitprojekt mit modifizierter Musik
> arbeiten.
>
> Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.
>
Hi also was ich nicht ganz verstehe:
was machst du hier????
> VectorA = {1, 4, -5, -10};
> VectorB = {-4, 10, 5, -4};
>
> Die Mathematika -Zeilen im Moment können das hier:
>
> SkalarA = 1;
> SkalarB = -4;
soll das das erste element aus dem Vektor sein????
skalar hört sich für mich nach skalarpodukt an dafür braucht man bekanntlicherweise zwei vektoren....
auf ein elemnt des Vektors greifst du wie folgt zu:
VectorA3, wobei die drei das dritte Element ist...
Ansonsten hilft es mit sicherheit wenn du dir auch folgendes Konstrukt ansiehst: If[AUSDRUCK,WAHR,FALSCH]
also z.b. IF[7>1000,x,y]
grüße
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:27 Di 08.02.2011 | Autor: | belle |
Ja, OK
Es soll mit zwei Vektoren aus vielen Elementen arbeiten.
Das Beispiel zeigte, wie ein richtiges Ergebnis aussehen soll, leider ging das nur mit den beiden Skalaren.
Ja, ist sicher eigentlich eine Logiklösung.
Ich will hier im Anhang zusätzlich die Wahrheitstafel der Aufgabe zeigen.
Kann es sein, dass es gar keiner Vektoriesierungsfunktionalität braucht?
Dateianhänge: Anhang Nr. 1 (Typ: docx) [nicht öffentlich]
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 02:20 Fr 11.02.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:41 Fr 11.02.2011 | Autor: | Peter_Pein |
Hallo,
die folgenden Zeilen scheinen das Problem (zu spät (?)) zu lösen:
1: | In[1]:= func[a_,b_]:=Module[{signa=Sign[a]},If[signa!=Sign[b],a+b,signa Max[signa{a,b}]]]
| 2: | In[2]:= va={-10,-9,8,7,-6,-5,4,3,-6,-5,4,3,-5,4,0,0,0};
| 3: | vb={-6,5,-4,3,-6,5,-4,3,-10,9,-8,7,0,0,-3,2,0};
| 4: | In[4]:= MapThread[func,{va,vb}]
| 5: | Out[4]= {-10,-4,4,7,-6,0,0,3,-10,4,-4,7,-5,4,-3,2,0} |
Gruß,
Peter
|
|
|
|