Inloggen

Gebruikersnaam:
Wachtwoord:
 
 
Registreren

Heb je nog geen TaZrum account? Registreer je dan nu en log in om de hele site te kunnen gebruiken!



Algemeen Programmeertopic



1 2 4 6 7 8 9 10
Mirielle

Avatar niet gevonden
Kitty nooo

Status: Offline
Posts: 21843
Geslacht: Vrouw

22-02-2013 13:02:59
TaZ schreef:
Mirielle schreef:
...

if patchMax>betagamma(:,:,2) & betagamma(:,:,2)>patchMin
foundBeta = betagamma(maxBeta>betagamma(:,:,1) & betagamma(:,:,1)>minBeta,1);
end


...

foundBeta = betagamma(patchMax>betagamma(:,:,2) & betagamma(:,:,2)>patchMin & maxBeta>betagamma(:,:,1) & betagamma(:,:,1)>minBeta);


...

Dit ziet eruit alsof je betagamma waarden wilt accessen met booleans als coordinaten, wat misschien niet kan. (Ik ken geen MATLAB dus dit is slechts intuitief!)

Bijvoorbeeld deze regel
foundBeta = betagamma(maxBeta>betagamma(:,:,1) & betagamma(:,:,1)>minBeta,1);


Het eerste argument van betagamma is
maxBeta>betagamma(:,:,1) & betagamma(:,:,1)>minBeta
(een boolean) en het tweede argument is 1.

Ik weet niet of dat een soort filtering methode is in MATLAB, maar het komt niet echt overeen met hoe je een matrix zou accessen (namelijk alle drie parameters een integer, range of wildcard.)

Matlab doet aan logical indexing. A(A > 12) levert een vector op van alle waarden in A die hoger zijn dan 12.
betagamma(betagamma(:,:,1) > patchMin, 1) zou alle waarden in betagamma(:,:,1) moeten returnen die hoger zijn dan patchMin. Het loopt in de soep op het moment dat ik dat soort indices ga combineren en, basically, het overzicht kwijtraak. :/

Op zich wijst dit me wel in de goede richting, aangezien ik nu merk dat ik nog even goed moet nalopen hoe logical indexing werkt.
TaZ

Avatar niet gevonden
Mojitodrinker

Status: Offline
Posts: 17850
Geslacht: Man

22-02-2013 13:13:06
Hmm, tja. Ik weet niet of zoiets mogelijk is:

partialresult = betagamma(logical check for beta)
finalresult = partialresult(logical check for gamma)

of zelfs

result = betagamma(logical checks for beta and for gamma)

Met die laatste optie krijg je dus een soort logische check die uit 4 stukjes bestaat:
maxBeta > (beta waarde) &
(beta waarde) > minBeta &
patchMax > (gamma waarde) &
(gamma waarde) > patchMin

[add]
Nevermind, dat had je al. Maar je had twijfels over of dat wel aan de goede voorwaarden voldoet: lijkt me wel!
Mirielle

Avatar niet gevonden
Kitty nooo

Status: Offline
Posts: 21843
Geslacht: Vrouw

22-02-2013 13:23:54
Die laatste probeerde ik inderdaad rond te krijgen, maar ik denk dat dat niet gaat lukken.

Ik heb nu twee aparte logical indices gemaakt, die ik zo combineer dat de resulterende index alleen een 1 heeft als beide indices 1 zijn:


gammaIndex = (patchMax>betagamma(:,:,2)) & (betagamma(:,:,2)>patchMin);
betaIndex = (maxBeta>betagamma(:,:,1)) & (betagamma(:,:,1)>minBeta);

betagammaIndex = zeros(size(betagamma));
for i = 1:numel(betagammaIndex)
betagammaIndex(i) = min(gammaIndex(i),betaIndex(i));
end

foundBeta = betagamma(betagammaIndex,1);


Niet zo mooi als het kon zijn, maar vermoedelijk werkt het.

[add] Probleem met die code die ik al had was dat helemaal niet duidelijk was of de resultaten daar uit (:,:,1) of (:,:,2) of beide kwamen. Hier begrijp ik in elk geval wat er gebeurt. x)
Twilight

Avatar niet gevonden
Intrepid Traveler

Status: Offline
Posts: 31523
Geslacht: Man

30-04-2013 14:27:33
Volgens mij zie ik iets heel stoms over het hoofd, maar ik snap niet waarom dit object niet gewoon van kleur veranderd als ik het document opnieuw laadt (is geplaatst in een switch-statement in php):

Quote:
<div class=\"submenuobject3\" onload=\"changeColor(this,'#DEE1EA')\">2013</div>


Verbonden aan de javascript functie die eerder in het php-document wordt gemaakt:

Quote:
function changeColor(x, color)
{
x.style.background=color;
}


Bij andere objecten met een code als dit:

Quote:
<div class=\"submenuobject2\" onmouseover=\"changeColor(this,'#DEE1EA')\" onmouseout=\"changeColor(this,'#F2F4FA')\">


werkt het wel!
Dus ik denk dat het aan 'onload' ligt?
TaZ

Avatar niet gevonden
Mojitodrinker

Status: Offline
Posts: 17850
Geslacht: Man

30-04-2013 15:29:38
Onload wordt niet uitgevoerd als dit bijv. in een AJAX call wordt opgehaald (uit veiligheidsoverwegingen I guess) en ik weet niet zeker of het in een iframe wordt uitgevoerd, misschien ligt het daaraan? En anders is "this" misschien niet het goede element in het geval van een onload trigger, maar dat zou ik niet precies weten.
Twilight

Avatar niet gevonden
Intrepid Traveler

Status: Offline
Posts: 31523
Geslacht: Man

30-04-2013 15:35:21
Hm thanks. Nee ik gebruik geen iframes. Het moet toch simpeler kunnen.
Ik wil eigenlijk gewoon elements van een css-set (het liefst via html en javascript) kunnen veranderen nadat er op een link is geklikt en dezelfde pagina geladen wordt met nieuwe parameters. Het liefst ook de position, maar via een try-out op w3schools ben ik er al achter gekomen dat dat niet echt mogelijk lijkt te zijn.

Wat position in CSS betreft; als ik het volgende doe:
Quote:
.test {
position: absolute;
left: 100px;
top: 100px;
}

.test2 {
font-family: arial;
font-size: 10pt;
width: 200px;
height: 60px;
}


En dan in html:

Quote:
<div class="test"><div class="test2">hallo</div></div>

Dan kan dat toch gewoon?
TaZ

Avatar niet gevonden
Mojitodrinker

Status: Offline
Posts: 17850
Geslacht: Man

30-04-2013 17:59:50
Twilight schreef:
Wat position in CSS betreft; als ik het volgende doe:
Quote:
.test {
position: absolute;
left: 100px;
top: 100px;
}

.test2 {
font-family: arial;
font-size: 10pt;
width: 200px;
height: 60px;
}


En dan in html:

Quote:
<div class="test"><div class="test2">hallo</div></div>

Dan kan dat toch gewoon?

Dat kan. Je kan ook dit doen om een extra div te besparen:

Quote:
<div class="test test2">hallo</div>

Twilight

Avatar niet gevonden
Intrepid Traveler

Status: Offline
Posts: 31523
Geslacht: Man

30-04-2013 20:39:53
Ah thanks! Wist niet dat dat kon, dat is wel handig.
Twilight

Avatar niet gevonden
Intrepid Traveler

Status: Offline
Posts: 31523
Geslacht: Man

01-05-2014 23:59:25
Een algemene vraag:

Is het mogelijk om van een website een bepaald deel (in mijn geval een de dow jones index van een beurs website) te nemen en dat op je eigen site te gebruiken en manipuleren? Ik ben (voorlopig) niet van plan dit zelf te doen, vandaar dat het een algemene vraag is. Maar toch vraag ik me ook af of dit heel ingewikkeld is, of dat het met een eenvoudig script al te regelen is. Kan een van de pro's hier me hier wat meer over vertellen? (Is dit bijv met javascript te doen?)
TaZ

Avatar niet gevonden
Mojitodrinker

Status: Offline
Posts: 17850
Geslacht: Man

02-05-2014 09:21:27
Twilight schreef:
Een algemene vraag:

Is het mogelijk om van een website een bepaald deel (in mijn geval een de dow jones index van een beurs website) te nemen en dat op je eigen site te gebruiken en manipuleren? Ik ben (voorlopig) niet van plan dit zelf te doen, vandaar dat het een algemene vraag is. Maar toch vraag ik me ook af of dit heel ingewikkeld is, of dat het met een eenvoudig script al te regelen is. Kan een van de pro's hier me hier wat meer over vertellen? (Is dit bijv met javascript te doen?)

Hangt er een beetje vanaf. Als ze dit supporten dan zullen ze een bepaalde tool aanbieden (paar regels html/javascript of misschien een api) die dat faciliteert. Anders kan je in theorie server-side de website inladen en de broncode ervan uitpluizen, manipuleren, en weer outputten. Het nadeel daarvan is dat de bronwebsite gewijzigd kan worden waardoor je implementatie niet meer werkt.

Beurs indexen zijn denk ik wel heel wijdverspreid zijn op het web, het lijkt me dat er wel ergens een API is die de rauwe data kan geven of anders een appletje kan aanleveren.
Twilight

Avatar niet gevonden
Intrepid Traveler

Status: Offline
Posts: 31523
Geslacht: Man

02-05-2014 14:14:39
Alright, thanks for the advice!
Snorro

Avatar niet gevonden
dfSAambuce!!

Status: Offline
Posts: 15671
Geslacht: Man

05-10-2014 19:19:02
Vraagje over OOP met PHP.

Ik heb nu een class met een aantal functies. Een functie is flink lang en ik heb het idee dat niet heel dynamisch is. Is het nu beter om deze functie op te delen in meerdere functies binnen deze class? Of is het beter een nieuwe class te maken en daarin de functie op te delen en die vervolgens weer op te roepen in de originele class? Of maakt het geen donder uit?

I pulled over to the side and felt no time
Off the highway with the landscape aglow
Still not sure what we were trying to find
I only know we went home
TaZ

Avatar niet gevonden
Mojitodrinker

Status: Offline
Posts: 17850
Geslacht: Man

06-10-2014 09:54:21
Maakt technisch geen donder uit, maar een logische opdeling is wel heel handig om het overzicht te blijven houden wanneer je applicatie groeit!

De logische opdeling vinden is een van de lastigere aspecten van programmeren. Hier een paar punten die ik altijd in het achterhoofd houd:
- Bij het extenden van een klasse, ga na of je een "is een" relatie kan bedenken. Dus class Auto extends Voertuig is logisch, want "een auto is een voertuig".
- Het is erg fijn om klassen als een black box op te zetten: alle werking die niet relevant is voor de buitenwereld afschermen. Dus maak alle methoden standaard private of protected, tot je ze een keer nodig hebt van buitenaf, dan maak je ze public. Zolang je klasse een zo klein mogelijke interface naar buiten heeft, is ie makkelijker te verifieren en ook te onderhouden.
- Zo min mogelijk op andere klassen dependen, als je al je klassen in een diagram zet met verbindingen waar een klasse een andere klasse nodig heeft, wil je idealiter een mooie boomdiagram. Als het eruit ziet als een haarbal dan maak je een ononderhoudbaar monster. (Nouja, daar zijn op zich wel uitzonderingen op als de code groeit, maar dan moet je zorgen dat haarballen niet teveel op elkaar dependen.) Dependencies naar een standaard library zijn wel okee, aangezien die op elke installatie aanwezig zijn.
- En nog veel, veel meer...

[add]
Om je vraag echt te beantwoorden... () Code uit functies trekken om daarmee de functie kleiner en overzichtelijker te maken is helemaal prima, als je werkt volgens het principe: "elke functie doet 1 ding". Je moet nooit kunnen twijfelen aan hoe je een functie noemt, dat moet al min of meer vanzelf spreken. Dus als je 500 regels hebt is het vrij nutteloos om gewoon de eerste 250 in een functie te zetten en de rest ergens anders: denk in functionaliteit en niet in code. Waar je de kleinere functies plaatst (zelfde class of nieuwe class) hangt helemaal van de functionaliteit af.
Mirielle

Avatar niet gevonden
Kitty nooo

Status: Offline
Posts: 21843
Geslacht: Vrouw

06-10-2014 12:04:08
TaZ schreef:
Als het eruit ziet als een haarbal dan maak je een ononderhoudbaar monster.
Spaghetticode. :')
Snorro

Avatar niet gevonden
dfSAambuce!!

Status: Offline
Posts: 15671
Geslacht: Man

06-10-2014 16:16:24
Thanks voor het antwoord! Hier heb ik wel wat aan

I pulled over to the side and felt no time
Off the highway with the landscape aglow
Still not sure what we were trying to find
I only know we went home
Snorro

Avatar niet gevonden
dfSAambuce!!

Status: Offline
Posts: 15671
Geslacht: Man

20-10-2014 17:11:53
Ik ben bezig met een functie te maken die verschillende buttons pakt bij verschillende statussen. Om een of andere reden komt de code echter niet goed door.

Quote:
function set_buttons() {
$s = $this->row['status'];
$buttons = "<tr><td colspan=2><table><tr>";
if ($s == 0) { $buttons .= $this->editbutton().$this->sendbutton().$this->sellbutton(); }
if ($s == 1) { $buttons .= $this->cancelbutton(); }
$buttons .= "</tr></table></td></tr>";
echo $buttons;
}



Dit is mijn code, maar als ik het uitvoer dan krijg ik dit in de source te zien (in deze volgorde)

Quote:
$buttons .= $this->cancelbutton(); <tr><td colspan=2><table><tr></tr></table></td></tr>


Oftewel, hetgeen dat ik als eerst als $buttons definieer komt in het midden te staan.

Iemand een idee hoe dit komt?

I pulled over to the side and felt no time
Off the highway with the landscape aglow
Still not sure what we were trying to find
I only know we went home
TaZ

Avatar niet gevonden
Mojitodrinker

Status: Offline
Posts: 17850
Geslacht: Man

20-10-2014 17:34:29
Snorro schreef:
Ik ben bezig met een functie te maken die verschillende buttons pakt bij verschillende statussen. Om een of andere reden komt de code echter niet goed door.

Quote:
function set_buttons() {
$s = $this->row['status'];
$buttons = "<tr><td colspan=2><table><tr>";
if ($s == 0) { $buttons .= $this->editbutton().$this->sendbutton().$this->sellbutton(); }
if ($s == 1) { $buttons .= $this->cancelbutton(); }
$buttons .= "</tr></table></td></tr>";
echo $buttons;
}



Dit is mijn code, maar als ik het uitvoer dan krijg ik dit in de source te zien (in deze volgorde)

Quote:
$buttons .= $this->cancelbutton(); <tr><td colspan=2><table><tr></tr></table></td></tr>


Oftewel, hetgeen dat ik als eerst als $buttons definieer komt in het midden te staan.

Iemand een idee hoe dit komt?

Dat is officieel vreemd.

Als ik de code uitvoer lukt het wel.
Snorro

Avatar niet gevonden
dfSAambuce!!

Status: Offline
Posts: 15671
Geslacht: Man

20-10-2014 18:49:18
Kan het iets te maken hebben met dat de uitvoer van die variabelen die worden toegevoegd een <form> bevatten?

Voorbeeld schreef:
function editbutton() {
$table = "<td><form method=\"post\" action=\"vehicles/edit_v.php?id=$this->vehicle\">
<input name=\"editopen\" type=Submit value=\"Edit\"></form></td>";
echo $table; }

I pulled over to the side and felt no time
Off the highway with the landscape aglow
Still not sure what we were trying to find
I only know we went home
TaZ

Avatar niet gevonden
Mojitodrinker

Status: Offline
Posts: 17850
Geslacht: Man

20-10-2014 19:47:39
Nee. Het meest aannemelijke is dat er ergens anders in het bestand een parse error zit (vergeten sluit quote na een string ofzo) en dat de rest van het bestand dan wordt geïnterpreteerd als een string tot het de sluitquote tegenkomt.

Maar zelfs dat zou niet jouw vreemde verschijnsel verklaren denk ik.
Twilight

Avatar niet gevonden
Intrepid Traveler

Status: Offline
Posts: 31523
Geslacht: Man

31-10-2014 14:58:03
Ik heb het nu gelukkig opgelost (niet op de manier die ik zou willen), maar: MIJN GOD, wat is CSS vreselijk als het aan komt op alignment.
Ik wilde gewoon een plaatje onderaan een DIV-object uitlijnen, daar lijkt helemaal geen optie voor. StackOverflow kon me ook niet echt helpen er mee.

Heb het nu opgelost door er gewoon een nieuw DIV-object overheen te zetten met een hogere waarde voor 'top'.
1 2 4 6 7 8 9 10