Mathematica
-
- Berichten: 110
Mathematica
Ik heb een vraagje over Mathematica. Als ik het volgende invoer:
Clear[f,g,a,x];
a=5;
f[x_]=a x;
g[x_]:=a x;
a=5;
{f[2],g[2]}
a=3;
{f[2],g[2]}
dan zie ik twee verschillende oplossingen, namelijk:
{10,10} en {10,6}
Kan iemand mij het verschil uitleggen? Hoe komt het dat = en := zo'n verschillende uitwerking hebben?
Clear[f,g,a,x];
a=5;
f[x_]=a x;
g[x_]:=a x;
a=5;
{f[2],g[2]}
a=3;
{f[2],g[2]}
dan zie ik twee verschillende oplossingen, namelijk:
{10,10} en {10,6}
Kan iemand mij het verschil uitleggen? Hoe komt het dat = en := zo'n verschillende uitwerking hebben?
- Berichten: 7.224
Re: Mathematica
':=' is een functie definitie. Dat betekent dat de gehele functie symbolisch wordt opgeslagen. Als je dan een bepaald punt wilt hebben, dan zal Mathematica pas op dat moment alle parameters invullen.
'=' staat voor een mathematische berekening. Mathematica rekent dan ax uit en dat is op het moment van definiëren 5x.
'=' staat voor een mathematische berekening. Mathematica rekent dan ax uit en dat is op het moment van definiëren 5x.
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton
-
- Berichten: 110
Re: Mathematica
Nog een anderssoortige vraag.
Ik wil graag ik 1 figuur plotten op domein [-2,2] de functie a, waarvoor geldt:
a(x)=2-x op [1,2]
a(x)=1 op [-2,1]
Ik heb dit ingevoerd:
eerste=Plot[2-x, {x,1,2}]
tweede=Plot[1,{x,-2,1}]
Show[eerste,tweede]
Ik zie dan alleen [1,2]. Hoe los je dat op?
Ik wil graag ik 1 figuur plotten op domein [-2,2] de functie a, waarvoor geldt:
a(x)=2-x op [1,2]
a(x)=1 op [-2,1]
Ik heb dit ingevoerd:
eerste=Plot[2-x, {x,1,2}]
tweede=Plot[1,{x,-2,1}]
Show[eerste,tweede]
Ik zie dan alleen [1,2]. Hoe los je dat op?
- Berichten: 7.556
Re: Mathematica
Dat is erg vreemd, want als ik precies jouw code invoer krijg ik ze beide te zien.
Deze code is iets "harder", omdat je op deze manier de functies uitsluitend op hun domein definieert (je kunt uiteraard gewoon copy/pasten):
Ik weet niet of je deze commando's kent, maar "/;" geeft een voorwaarde (condition).
Een beetje vervelend is alleen dat Mathematica de x-as en/of y-as niet altijd laat zien, waardoor je een verkeerde lijn (bijv. y=1) voor de x-as aanziet. Als je dat bij deze code krijgt, kun je bijv. een willekeurige functie h[x] plotten die door de x-as gaat om het overzicht te bewaren:
Deze code is iets "harder", omdat je op deze manier de functies uitsluitend op hun domein definieert (je kunt uiteraard gewoon copy/pasten):
Code: Selecteer alles
f[x_]:=2-x/;(1≤x≤2);
g[x_]:=1/;(-2≤x≤1);
Plot[{f[x],g[x]},{x,-2,2}];
Een beetje vervelend is alleen dat Mathematica de x-as en/of y-as niet altijd laat zien, waardoor je een verkeerde lijn (bijv. y=1) voor de x-as aanziet. Als je dat bij deze code krijgt, kun je bijv. een willekeurige functie h[x] plotten die door de x-as gaat om het overzicht te bewaren:
Code: Selecteer alles
f[x_]:=2-x/;(1≤x≤2);
g[x_]:=1/;(-2≤x≤1);
h[x_]:=x^2;
Plot[{f[x],g[x],h[x]},{x,-2,2}];
Never express yourself more clearly than you think.
- Niels Bohr -
- Niels Bohr -
-
- Berichten: 110
Re: Mathematica
Dat is erg vreemd, want als ik precies jouw code invoer krijg ik ze beide te zien.
De afzonderlijke plots zie ik ook wel. Bij Show tekent Mathematica het domein [1,2] en zodoende zie ik alleen het tweede deel...
- Berichten: 7.224
Re: Mathematica
Met welke versie van Mathematica werk je?
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton
- Berichten: 7.556
Re: Mathematica
Je bedoelt het eerste deelDe afzonderlijke plots zie ik ook wel. Bij Show tekent Mathematica het domein [1,2] en zodoende zie ik alleen het tweede deel...
Ik zie het toch echt:
[attachment=633:math.gif]
Ik heb versie 5.2 maar dat mag natuurlijk niets uitmaken.
Heb je mijn andere code al geprobeerd??
Never express yourself more clearly than you think.
- Niels Bohr -
- Niels Bohr -
-
- Berichten: 3
Re: Mathematica
Ik krijg de grafieken ook niet over het volledige domein te zien... (Ik heb ook versie 6.0 trouwens.) Wat je kunt doen, is Show[eerste,tweede,PlotRange->All]; niet alleen handig voor domeinkwesties, maar ook voor verschillen in bereik. Mathematica neemt anders automatisch die van de eerst vermelde functie
Hoewel de codes van Bart het ook prima doen.
Hoewel de codes van Bart het ook prima doen.
-
- Berichten: 3
Re: Mathematica
Pardon, de codes van Phys.
Zelf heb ik ook oorlog met Mathematica... Ziet iemand hier een bug in? Er zou toch een benadering van wortel 2 uit moeten komen...
w[a_, d_] := Module[{x0 = a, x1, x2}, For[{x1, x2} = {a, 1/2 (x1 + x0/x1)}, x1 - x2 < d, x1 = x2,
x2 = 1/2 (x1 + x0/x1)]; x2]
w[2, 0.00001]
3/2
Zelf heb ik ook oorlog met Mathematica... Ziet iemand hier een bug in? Er zou toch een benadering van wortel 2 uit moeten komen...
w[a_, d_] := Module[{x0 = a, x1, x2}, For[{x1, x2} = {a, 1/2 (x1 + x0/x1)}, x1 - x2 < d, x1 = x2,
x2 = 1/2 (x1 + x0/x1)]; x2]
w[2, 0.00001]
3/2
-
- Berichten: 110
Re: Mathematica
Ja, het is helemaal gelukt... Dank je!!Phys schreef:Je bedoelt het eerste deel
Ik zie het toch echt:
[attachment=633:math.gif]
Ik heb versie 5.2 maar dat mag natuurlijk niets uitmaken.
Heb je mijn andere code al geprobeerd??
Ik heb nog een andere vraag. Ik voer het volgende in:
halvecirkel = Graphics[Circle[{0, 0}, Sqrt[18], {Pi/4, 5 Pi/4}]];
lijn = Graphics[Line[{{-3, -3}, {3, 3}}]];
Show[halvecirkel, lijn, Axes -> True]
Ik wil dit plaatje nu een kleur geven met behulp van het commando Hue. Ik weet alleen niet precies hoe ik de code daarvoor moet aanpassen...
-
- Berichten: 110
Re: Mathematica
Ik wil ook graag de afstand weten tussen Warschau en Amsterdam. En de coordinaten van de stad. Weet iemand hoe je dat moet krijgen?Wiskunde schreef:Ja, het is helemaal gelukt... Dank je!!
Ik heb nog een andere vraag. Ik voer het volgende in:
halvecirkel = Graphics[Circle[{0, 0}, Sqrt[18], {Pi/4, 5 Pi/4}]];
lijn = Graphics[Line[{{-3, -3}, {3, 3}}]];
Show[halvecirkel, lijn, Axes -> True]
Ik wil dit plaatje nu een kleur geven met behulp van het commando Hue. Ik weet alleen niet precies hoe ik de code daarvoor moet aanpassen...
- Berichten: 7.556
Re: Mathematica
Jullie zijn duidelijk met een cursus bezig (toevallig ook Universiteit Utrecht, van Fons van Hees? ).
Je zou eens kunnen beginnen met in de Help functie kijken hoe de code "Hue" opgebouwd is en dan iets proberen.
De afstanden tussen steden zitten in een bepaald package dat jullie vast aangeleverd krijgen.
Je zou eens kunnen beginnen met in de Help functie kijken hoe de code "Hue" opgebouwd is en dan iets proberen.
De afstanden tussen steden zitten in een bepaald package dat jullie vast aangeleverd krijgen.
Never express yourself more clearly than you think.
- Niels Bohr -
- Niels Bohr -
-
- Berichten: 110
Re: Mathematica
Ik ben wel met een cursus bezig, maar niet van ene Fons van Hees.Phys schreef:Jullie zijn duidelijk met een cursus bezig (toevallig ook Universiteit Utrecht, van Fons van Hees? ).
Je zou eens kunnen beginnen met in de Help functie kijken hoe de code "Hue" opgebouwd is en dan iets proberen.
De afstanden tussen steden zitten in een bepaald package dat jullie vast aangeleverd krijgen.
Ik ben al op zoek gegaan naar de packages, maar weet niet hoe die heet en kan hem dus ook niet laden.
Wat betreft Hue, ik weet hoe het werkt, maar niet waar ik het in de gegeven code moet opnemen.
-
- Berichten: 3
Re: Mathematica
Haha Ja dat klopt...Phys schreef:Jullie zijn duidelijk met een cursus bezig (toevallig ook Universiteit Utrecht, van Fons van Hees? ).
Je zou eens kunnen beginnen met in de Help functie kijken hoe de code "Hue" opgebouwd is en dan iets proberen.
De afstanden tussen steden zitten in een bepaald package dat jullie vast aangeleverd krijgen.