Gå til innhold

Hjelp med mathlab - ode45 pakken


Anbefalte innlegg

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

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...