EngelsFransSpaans

Ad


OnWorks-favicon

mincalc - Online in de cloud

Voer minccalc uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht mincalc die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online-emulator of MAC OS online-emulator

PROGRAMMA:

NAAM


minccalc - voer complexe wiskundige bewerkingen uit op minc-bestanden

KORTE INHOUD


mincalc [ ] .mnc [ .mnc...] .mnc

PRODUCTBESCHRIJVING


mincalc zal complexe, voxel-voor-voxel wiskundige bewerkingen uitvoeren op een of meer minc-bestanden
van dezelfde vorm en met dezelfde coördinatenbemonstering, waardoor een enkel uitvoerbestand wordt geproduceerd.
De uit te voeren bewerkingen worden ingevoerd met behulp van de -uitdrukking betoog (zie UITDRUKKINGEN).
Standaard is het uitvoerbestand het laatste niet-optieargument. Echter, als de -uitbestand
optie wordt gebruikt, worden alle niet-optieargumenten beschouwd als invoerbestanden en als uitvoer
bestandsnamen komen van de -uitbestand opties, waarvan er meer dan één kunnen zijn.

OPTIES


Houd er rekening mee dat opties in verkorte vorm kunnen worden opgegeven (zolang ze uniek zijn) en
kan overal op de opdrachtregel worden gegeven.

-2 Maak uitvoerbestanden in MINC 2.0-formaat.

-Help Druk een samenvatting van de opdrachtregelopties af en sluit af.

-versie
Druk het versienummer van het programma af en sluit af.

-klodder
Een bestaand bestand overschrijven.

-geen klomp
Overschrijf een bestaand bestand niet (standaard).

-geen_klopper
Synoniem voor -noclobber.

-uitgebreid
Druk voortgangsinformatie af voor elk stuk gekopieerde gegevens (standaard).

-rustig Druk geen voortgangsinformatie af.

-debuggen Druk foutopsporingsinformatie af.

-kopieer_header
Kopieer alle koptekstinformatie van het eerste invoerbestand (standaard voor één invoerbestand
bestand).

-nocopy_header
Kopieer niet de hele header van het eerste invoerbestand; kopieer alleen coördinaat
informatie (standaard voor meer dan één invoerbestand).

-bestandstype
Maak een uitvoerbestand aan van hetzelfde type als het eerste invoerbestand (standaard).

-byte Sla uitvoervoxels op in 8-bits integer-indeling.

-korte Sla uitvoervoxels op in 16-bits integer-indeling.

-in Sla uitvoervoxels op in 32-bits integer-indeling.

-lange vervangen door -in.

-vlotter Sla uitvoervoxels op in 32-bits drijvende-komma-indeling.

-dubbele
Sla uitvoervoxels op in 64-bits drijvende-komma-indeling.

-ondertekend
Gebruik ondertekend, twee-complement integer-formaat. Alleen van toepassing als het type uitvoervoxel
is gespecificeerd als een geheel getal (een van -byte, -korte, -in or -lange).

-ongetekend
Gebruik een niet-ondertekend integer-formaat. Is alleen van toepassing als het uitvoervoxeltype is opgegeven voor
een geheel getal zijn (een van -byte, -korte, -in or -lange).

-bereik Min max
Beperk het geldige bereik van gehele gegevens. Geldt alleen als een van de -byte,
-korte, -in or -lange opties zijn gespecificeerd.

-max_buffer_grootte_in_kb grootte
Specificeer de maximale grootte van de interne buffers (in kbytes). Standaard is 4096
(4MB).

-Afmetingen dimnaam
Geef een dimensie op waarlangs we een cumulatieve bewerking willen uitvoeren.

-controleer_afmetingen
Controleer of alle invoerbestanden overeenkomende steekproeven hebben in werelddimensies (standaard).

-nocheck_afmetingen
Negeer eventuele verschillen in bemonstering van werelddimensies voor invoerbestanden.

-propageren_nan
Voor cumulatieve vectorbewerkingen (som, por en avg), ongeldige gegevens (Not-A-Number
of NaN) in een element van de vector zal ongeldige gegevens in het resultaat opleveren
(standaard).

-negeer_nan
Voor cumulatieve vectorbewerkingen worden ongeldige gegevens (NaN) in de vector genegeerd, dwz.
behandeld alsof het niet aanwezig is.

- nan Wanneer een illegale bewerking wordt geprobeerd op een voxel (zoals delen door nul), wordt de
resultaat is ongeldige gegevens (NaN) (standaard). Geen geldige invoergegevens hebben voor een cumulatief
operatie wordt ook beschouwd als een illegale operatie wanneer -negeer_nan is gebruikt.

-nul Wanneer een illegale bewerking wordt geprobeerd op een voxel (zoals delen door nul), wordt de
resultaat is waarde nul.

-illegale_waarde waarde
Wanneer een illegale bewerking wordt geprobeerd op een voxel (zoals delen door nul), wordt de
resultaat is de waarde die door deze optie wordt gespecificeerd.

-uitdrukking snaar
Geef de uitdrukking op die bij elke voxel moet worden geëvalueerd (zie EXPRESSIES).

-expbestand bestandsnaam
Specificeer een bestand dat een uitdrukking bevat die bij elke voxel moet worden geëvalueerd (zie
UITDRUKKINGEN). Als de bestandsnaam ``-'' wordt gegeven, wordt de expressie gelezen uit stdin.
Het enige verschil met opdrachtregeluitdrukkingen is dat er commentaar kan worden gegeven
het bestand. Een commentaarregel wordt gespecificeerd door een ``#'' te plaatsen als eerste niet-
witruimtekarakter van de regel. Mincalc-scripts kunnen worden gemaakt door de
eerste regel naar

#! /usr/local/mni/bin/minccalc -expfile

-uitbestand symbool output-bestand
Geef op dat de uitvoer naar het opgegeven bestand moet worden geschreven, waarbij waarden worden overgenomen van het
symbool dat moet worden gemaakt in de uitdrukking (zie het Voorbeelden sectie). Als
deze optie wordt gegeven, dan worden alle niet-optie argumenten als invoerbestanden genomen. Dit
optie kan meerdere keren worden gebruikt voor meerdere uitvoerbestanden.

-eval_breedte waarde
Geef het aantal voxels op dat parallel moet worden verwerkt. Standaard is 200.

UITDRUKKINGEN


De -uitdrukking argument is een enkele tekenreeks die de te evalueren functie beschrijft. De
functie-uitdrukking wordt typisch geschreven in termen van de vector A.

De volgende uitdrukking somt bijvoorbeeld de eerste twee invoerbestanden op:

EEN[0] + EEN[1]

Er kunnen meerdere uitdrukkingen worden opgegeven, gescheiden door puntkomma's, in welk geval alleen de waarde van
de laatste uitdrukking wordt gebruikt. Deze uitdrukkingslijsten kunnen met toewijzing worden gebruikt
expressies om de syntaxis erg C-achtig te maken:

verhouding = A[0]/A[1]; A[2]*exp(-verhouding)

Een lijst met uitdrukkingen tussen accolades is een geldige uitdrukking en retourneert de waarde van last
uitdrukking in de lijst. Dit is vooral handig in For en if uitdrukkingen (zie hieronder).

Er zijn twee soorten waarden in de taal: vectoren en scalairen. Scalaire letterlijke woorden zijn
getallen met drijvende komma of kunnen verschijnen als symbolen waarvan de naam begint met een kleine letter.

Naast normale scalaire operatoren zoals +, -, * en /, is ook de uitdrukking taal
ondersteunt de infix machtsverheffende operator ^ , de gebruikelijke relationele operatoren <, <=, >,
>=, ==, != en de booleaanse operatoren && (en), || (of en ! (niet). Merk op dat de
&& en || booleaanse operatoren evalueren altijd beide operanden, in tegenstelling tot C. Scalar mathematisch
functies omvatten abs, vierkante meter, exp, inloggen, zonde, cos, looien, als in, akoes en een tint. Er zijn ook
enkele gespecialiseerde functies:

isnan(v) - 1 als v ongeldig is en anders 0
klem(v1,v2,v3) - v1 begrensd door [v2, v3]
segment(v1,v2,v3) - test of v1 in [v2, v3] is

De scalaire constante NaN is zo gedefinieerd dat isnan(NaN) 1 retourneert.

Vectoren kunnen in de volgende `uitbreidingsvorm' worden geschreven

[ waarde1, waarde2, ... ]

of door de volgende bereikgenererende notaties te gebruiken:

[ a : b ] genereert {a, a+1, ..., b-1, b}
[ a : b ) genereert {a, a+1, ..., b-1}
( a : b ] genereert {a+1, ..., b-1, b}
( a : b ) genereert {a+1, ..., b-1}

of worden gegenereerd, door 'intentie'. De volgende intentie-expressie genereert de vector
{3,2,1}:

{ ik in [1:3] | 4 - ik }

Vectoren kunnen ook verschijnen als symbolen waarvan de naam begint met een hoofdletter.

Naast de scalaire operatoren worden de volgende vectoroperators geleverd:

avg - de gemiddelde waarde van de scalairen in vector
len - de lengte van
som - de som van de elementen van
prod - het product van de elementen van
max - de maximale waarde van
min - de minimumwaarde van
imax - de index van de maximale waarde van
imin - de index van de minimumwaarde van
V[s] - het s'de element van vector V met oorsprong 0.

Symboolnamen worden geïntroduceerd in een globale symbooltabel door toewijzingsuitdrukkingen van de
formulier

een = EEN[2] * inloggen(2)

Symbolen die beginnen met een kleine letter vertegenwoordigen scalairen, symbolen die beginnen met een
hoofdletters vertegenwoordigen vectoren. Aangezien = een operator is, kan het resultaat ervan worden gebruikt in een
uitdrukking (zoals in C).

Er worden enkele besturingsconstructies gegeven:

For-lussen kunnen worden gemaakt om over een vector te lopen, waarbij elke waarde aan een symbool wordt toegewezen en vervolgens
een uitdrukking evalueren. Dit wordt gedaan met uitdrukkingen van het formulier

totaal=0; voor{i in [0:len(A))} totaal=totaal+A[i]; totaal

wat gelijk is aan som(A). Merk op dat dit vergelijkbaar is met gebruiken

totaal=0; len{i in [0:len(A)) | totaal=totaal+A[i]}; totaal

omdat de For construct is eigenlijk een operator (hoewel het meestal alleen wordt gebruikt voor
symboolwaarden wijzigen). Merk ook op dat zonder het uiteindelijke "totaal" de uitdrukking zou
niet erg handig omdat het alleen de lengte van de vector zou retourneren.

Net als in C kan een lijst met uitdrukkingen worden opgegeven in curlies:

totaal=totaal2 = 0;
voor {i in [0:len(A))} {
totaal = totaal + A[i];
totaal2 = totaal2 + A[i]^2
}

Er zijn ook enkele vormen van de als dan anders construct:

A[0]<0 ? 0 : EEN[0]

als (A[0]<0) resultaat=0 else resultaat=A[0]

De anders is optioneel. Nogmaals, de if-constructie is een operator en de harte or anders
uitdrukkingen kunnen uitdrukkingenlijsten zijn in curly's, in welk geval de waarde van de last
expressie wordt geretourneerd. Als de anders expressie ontbreekt, wordt de waarde 0 geretourneerd
wanneer de testexpressie 0 (false) is.

De belangrijkste eigenaardigheid met de For en if constructies is dat ze, in tegenstelling tot C-statements, moeten
worden gescheiden van de volgende uitdrukking door een puntkomma, zelfs wanneer een uitdrukkingslijst in
curlies wordt gebruikt:

voor i in [0:len(A)) {totaal=totaal+A[i]} ; totaal/len(A)
als (A[i]>0) {resultaat=2;} else {resultaat=1} ; resultaat*5

Een alternatieve manier om symboolnamen te introduceren is via laten-uitdrukkingen. Bijvoorbeeld de
volgende expressie zal altijd resulteren in 3:

laat a = 1, b = 2 in a + b

Deze waren oorspronkelijk ontworpen om alleen variabelen te creëren binnen de geëvalueerde uitdrukking,
maar er zijn wijzigingen aangebracht zodat de globale symbolentabel is gewijzigd.

Voorbeelden


Hier is een uitdrukking voor het berekenen van de standaarddeviatie, rekening houdend met de
mogelijkheid van ongeldige invoergegevens, die wordt genegeerd:

s0 = s1 = s2 = 0;

voor { ik in [0:len(A))} {
v=A[i];
als (!isnan(v)) {
s0 = s0 + 1;
s1 = s1 + v;
s2 = s2 + v*v;
}
};

als (s0 > 1) {
sqrt((s2 - s1*s1/s0) / (s0-1));
}
else {
NaN;
};

De laatste if kan worden gewijzigd om 0 terug te geven als s0 > 0 maar <= 1 is. We laten ook de gekrulde
haakjes, maar dan mag er geen ";" tussen de if en de else

als (s0 > 1)
kwadraat((s2 - s1*s1/s0) / (s0-1))
anders als (s0 > 0)
0
anders
NaN

Als we zowel het gemiddelde als de standaarddeviatie willen, kunnen we de gebruiken -uitbestand keuze,
het commando aanroepen met

minccalc -expfile stdev \
-outfile gemiddelde gemiddelde.mnc \
-outfile stdev stdev.mnc \
inbestand1.mnc inbestand2.mnc ...

En met behulp van het expressiebestand (met nog een andere vorm van if-expressie):

s0 = s1 = s2 = 0;

voor {i in [0:len(A))} {
v=A[i];
als (!isnan(v)) {
s0 = s0 + 1;
s1 = s1 + v;
s2 = s2 + v*v;
}
};

stdev = (s0 > 1) ? sqrt((s2 - s1*s1/s0) / (s0-1)) :
(s0 > 0) ? 0: NaN;
gemiddelde = (s0 > 0) ? s1/s0: NaN;

WAARSCHUWINGEN


Een paar dingen die je moet onthouden...

Vectorvariabelen moeten beginnen met een hoofdletter.

Namen van vectorvariabelen mogen niet een van de functiesleutelwoorden zijn,
som, len, prod, ... enz

For-lussen en if-expressies moeten altijd door een a van de volgende expressie worden gescheiden
puntkomma.

De symbolentabel is globaal.

Booleaanse operatoren && en || evalueer altijd beide operanden.

Een opmerking over parallellisme: om redenen van efficiëntie worden evaluaties op veel voxels tegelijk uitgevoerd
(het aantal voxels wordt de breedte van de evaluatie genoemd en wordt gewijzigd met
de -eval_breedte keuze). Een vreemd gevolg hiervan is dat beide kanten van een als-anders
uitspraken worden altijd geëvalueerd (tenzij alle voxels hetzelfde testresultaat geven), maar
uitspraken binnen elke consequentie worden alleen geëvalueerd op de juiste voxels. In
in het bijzonder worden vermeldingen in de symbolentabel alleen gewijzigd volgens een voxelmasker. A
neveneffect hiervan is dat elk vectorsymbool dat in een if-else consequentie is geplaatst, niet mag veranderen
de lengte van het symbool (hoewel het het kan creëren) en beide zijden van de resulterende must
het eens worden over de lengte van alle vectorsymbolen die ze allebei wijzigen. Als dit niet duidelijk is,
probeer het gewoon - het programma zal klagen als het niet tevreden is.

Gebruik mincalc online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    Turkse devops
    Turkse devops
    TurkDevOps en kaynak yaz?l?m
    geli?tirici topluluklar? DevTurks-Team
    Tarafunda desteklenmektir..
    Kenmerken:https://github.com/turkdevopshttps://turkdevops.g...
    Turkdevops downloaden
  • 2
    asamdf
    asamdf
    *asammdf* is een snelle Python-parser en
    redacteur voor ASAM (Association for
    Standaardisatie van automatisering en
    Meetsystemen) MDF / MF4
    (Meetgegevensformaat...
    Asammdf downloaden
  • 3
    LAME (lame is geen mp3-encoder)
    LAME (lame is geen mp3-encoder)
    LAME is een educatief hulpmiddel om te gebruiken
    voor meer informatie over MP3-codering. De
    doel van het LAME-project is om te verbeteren
    de psycho-akoestiek, kwaliteit en snelheid
    van MP...
    LAME downloaden (Lame is geen MP3-encoder)
  • 4
    wxPython
    wxPython
    Een set Python-uitbreidingsmodules die
    verpak de platformonafhankelijke GUI-klassen van
    wxWidgets.. Publiek: Ontwikkelaars. Gebruiker
    interface: X Window-systeem (X11), Win32 ...
    WxPython downloaden
  • 5
    packfilemanager
    packfilemanager
    Dit is de bestandsbeheerder van het Total War-pakket
    project, vanaf versie 1.7. EEN
    korte introductie in Warscape
    modificatie: ...
    Packfilemanager downloaden
  • 6
    IPerf2
    IPerf2
    Een tool voor netwerkverkeer om te meten
    TCP- en UDP-prestaties met metrische gegevens
    rond zowel doorvoer als latentie. De
    doelen zijn onder meer het onderhouden van een actieve
    iperf kabeljauw...
    IPerf2 downloaden
  • Meer "

Linux-commando's

Ad