Gå til innhold

Labview / C hjelp trengs


Anbefalte innlegg

Eg sitter nå å prøve å programmere et program i Labview. Og i det programmet eg lage så benytter eg meg av "formula node" hvor det skal være mulig å programmere "c lignende kode" som det så fint står i helpen.

I denne formula node skal eg lage en enkel for setning, som telleren skal begynne på -10 og gå til 10. Så har eg en formel som beskriver hvilken verdi Y skal ha.

Y er en funksjon som består av 2 variabler:

a, som er en verdi brukeren velger

i, som er telleren.

 

Det som skal sender ut av denne her er, i som eg kobler til x-grafen ( i praksis er i=x-aksen) og y som er verdien.

 

Her er det som eg har skrevet i formula node:

int32 i = -10;
for (i<11;)
{
y1=a*i**2;
i++;
}

 

Input på formula node er a, og output'er er y og i.

 

Utgangene kobles til en "Build XY graph" som lager et koordinat-system av dette.

Men eg får feilmelding om at eg mangler en "left parantese" i begynnelsen av linje2. Men ser ikkje at det er feil det eg har skrevet.

Noen tips?

Lenke til kommentar
Videoannonse
Annonse
Eg sitter nå å prøve å programmere et program i Labview. Og i det programmet eg lage så benytter eg meg av "formula node" hvor det skal være mulig å programmere "c lignende kode" som det så fint står i helpen.

I denne formula node skal eg lage en enkel for setning, som telleren skal begynne på -10 og gå til 10. Så har eg en formel som beskriver hvilken verdi Y skal ha.

Y er en funksjon som består av 2 variabler:

a, som er en verdi brukeren velger

i, som er telleren.

 

Det som skal sender ut av denne her er, i som eg kobler til x-grafen ( i praksis er i=x-aksen) og y som er verdien.

 

Her er det som eg har skrevet i formula node:

int32 i = -10;
for (i<11;)
{
y1=a*i**2;
i++;
}

 

Input på formula node er a, og output'er er y og i.

 

Utgangene kobles til en "Build XY graph" som lager et koordinat-system av dette.

Men eg får feilmelding om at eg mangler en "left parantese" i begynnelsen av linje2. Men ser ikkje at det er feil det eg har skrevet.

Noen tips?

7107911[/snapback]

 

ok, kan det være så enkelt at den vil ha parantesen helt innat for'en? ..slik:

 

for(i<11;)

 

 

forøvrig ser dette litt merkelig ut:

 

y1=a*i**2;

 

sikker på at det ikke skal stå y1=a*i*2; her?

 

edit:

du nevner også at y skal være en funksjon - det høres ut som om du sier at den er en funksjon som aksepterer to argumenter .. funksjoner kalles slik i C:

 

y(x, y);

Endret av lnostdal
Lenke til kommentar

** betyr opphøyd i formula node. Som nevnt så er dette "c lignende språk" i denne formula node saken eg bruke. Vet kordan funksjoner kalles, men det virker som formula node ikkje liker sånt. Mye prøving og feiling her. Er ikkje noe LabView konge. Har være en del borti C/C++ men denne formula node aksepterer svært lite..

 

Hadde vært fint for noen som har kunnskaper om denne formula node, som kan gi noen tips, er svært ny når det gjelder Labview, så all input er god input!

Har fått den til å ikke lage noen errors nå, men det eg har skrevet fungerer ikkje som eg trodde det skulle :ermm:

Endret av Furyfax
Lenke til kommentar

Litt vanskelig å forklare dette.

Poenget er at eg skal tegne et koordinat system, x ska være mellom -10 til 10.

Så skal formula node regne ut ka y1 skal være.

 

Her er screenshot fra Labview for å vise dette simple programmet.(Trykk for større bilde)

labview_thumb.JPG

 

Koden i formula node funker ikkje. Det som eg får ut er at i=-9 hele tiden. Og y1=a*(i)^2 men i er hele tiden = -10, slik at eg alltid får ut a*100 som ikkje er det eg vil ha ut!

 

Håper dette var mer beskrivende..

Lenke til kommentar
  • 4 uker senere...

Du bruker ikke for-loopen riktig. Du kan gjerne initialisere variabelen før for-loopen, (selv om det vanligste er å initialisere den inni for-loopen) men da må du legge til en semikolon først, slik at kompilatoren skjønner at initialiseringsfeltet er tomt, slik:

for(;i<11;)

 

jeg ville uansett foretrukket å legge mer av koden inni deklarasjonen av for-loopen, slik som dette:

 


int32 i;
for (i=-10;i<11;i++)
 y1=a*i**2;

 

På denne måten blir det litt mer oversiktlig.

Endret av kurant
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...