ole_marius Skrevet 9. oktober 2015 Del Skrevet 9. oktober 2015 Vet jeg har posta dette innlegget også i fysikktråden, men da dette innebærer programering velger jeg å også legge ut dette spørsmålet her:Hei, prøver å kjøre ode45 pakken i mathlab for å løse en fysikkopgave. Info oppgave: pendel består av et punktformet legeme som glir på et underlag. Underlaget har form som del av en sirkel med radius r = 1 m. Vi legger på en glidefriksjon mellom legeme og underlag, friksjonskraften er gitt ved f = µn der µ er friksjonskoeffisienten og n er normalkraften på legemet. jeg vet da at diff ligningen blir: -g/r(sin(θ)+µcos(θ)= dobbelderiverte "θ" Har laget scripte myfunc2t: function dtheta = myfunc2 (t,theta); g=9.81; L=1; (u)=0.1; dtheta = [0 ; 0]; dtheta(1) = theta(2); dtheta(2) = -g/L*(sin(theta(1))-(u).*cos(theta(1))); end kjører så kommandoen: [t,theta] = ode45(@myfunc2,[0 15],[1.5708 ; 0]); og ender opp med feilmeldingen: Error using feval Error: File: myfunc2.m Line: 4 Column: 8 The expression to the left of the equals sign is not a valid target for an assignment. Error in odearguments (line 88) f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0. Error in ode45 (line 114) [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ... noen kloke sjeler som vet hva jeg skal endre på? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå