Gå til innhold
Trenger du skole- eller leksehjelp? Still spørsmål her ×

[Løst] Trenger hjep i matlab


Anbefalte innlegg

Jeg skal rekne ut noen vinkler basert på 3 ligninger, og lurte på om dette er mulig å få til i matlab?

 

L1=1,66

L2=7,01

L3=3,58

 

t1, t2 og t3 er de ukjente vinklene

 

Ligning 1:

cos(t1)*(L3*cos(t2 + t3) + L2*cos(t2))=4.600

sin(t1)*(L3*cos(t2 + t3) + L2*cos(t2))=0.200

L1 + L3*sin(t2 + t3) + L2*sin(t2)=1.400

 

Takker :)

Lenke til kommentar
Videoannonse
Annonse

Hei!

 

Prøv:

T1 = -226.1512

T2 = 100.0027

T3 = 59.0648

 

Matlab Kode:

D=solve('(cos(T1)*(3.58*cos(T2+T3)+7.01*cos(T2)))=4.600','(sin(T1)*(3.58*cos(T2+T3)+7.01*cos(T2)))=0.200','(1.66+3.58*sin(T2+T3)+7.01*sin(T2))=1.400','T1','T2','T3')
subs(D.T1)
subs(D.T2)
subs(D.T3)

Lenke til kommentar

Hmm, så rart. Hvis du legger ut koden du har brukt så kan jeg se på den. Jeg lagde bare en ny funksjon, så får følgende utskrift i kommando vinduet.

 

>> Sjekk
D =
   T1: [1x1 sym]
   T2: [1x1 sym]
   T3: [1x1 sym]

ans =
-226.1512

ans =
 100.0027

ans =
  59.0648
>>

 

Man må gjøre D`en om ved hjelp av subs(D.T2). Mener det var fordi man trenger en eller annen Matlab symbolic toolbox for visningen av "D"

Lenke til kommentar

Jeg har prøvd:

 

 

>> [t1 t2 t3]=solve('cos(t1)*(L3*cos(t2 + t3) + L2*cos(t2))=4.600','sin(t1)*(L3*cos(t2 + t3) + L2*cos(t2))=0.200','L1 + L3*sin(t2 + t3) + L2*sin(t2)=1.400')

 

og

 

 

S=solve('cos(t1)*(L3*cos(t2 + t3) + L2*cos(t2))=4.600','sin(t1)*(L3*cos(t2 + t3) + L2*cos(t2))=0.200','L1 + L3*sin(t2 + t3) + L2*sin(t2)=1.400','t1,t2,t3')

 

Når jeg får ut svar, så får jeg også flere svar:

 

D =
   T1: [4x1 sym]
   T2: [4x1 sym]
   T3: [4x1 sym]

Lenke til kommentar

Nå er ikke jeg et "rå-skinn" på MATLAB (bruker det bare litt i skolesammenheng) men det virker som at når du definerer konstantene til L1, L2 og L3 så blir det problemer og programmet blir fryktelig tungt å kjøre (hvert fall på min laptop). Hvis jeg bytter ut L1, L2 og L3 med tall i "solve" så fungerer programmet ditt fint

Lenke til kommentar

Ja, det virker sånn. Tusen takk for hjelpen uansett! :)

 

Et siste spørsmål: jeg får disse verdiene:

 

D =
   T1: [4x1 sym]
   T2: [4x1 sym]
   T3: [4x1 sym]

ans =

						    [-3.098141758 ]
						    [			 ]
						    [0.04345089539]
						    [			 ]
						    [-3.098141758 ]
						    [			 ]
						    [0.04345089539]

ans =

						    [-2.613352541 ]
						    [			 ]
						    [-0.5282401131]
						    [			 ]
						    [ 2.726169513 ]
						    [			 ]
						    [0.4154231405 ]

ans =

						    [-2.516094425]
						    [		    ]
						    [2.516094425 ]
						    [		    ]
						    [2.516094425 ]
						    [		    ]
						    [-2.516094425]

 

Får du opp gradene i stedet? Går det an å stille inn matlab på grader eller radianer?

Lenke til kommentar

Får du opp i radianer når du bruker koden jeg har linket? Jeg har aldri tenkt særlig over det men bruker som regel radianer i argumentene selv.

 

Men du kan eventuelt bruke dette om det er til hjelp. Hvis ikke så ligger det mange ferdige funksjoner på nettet om du googler :)

 

 

adtodeg

Convert angles from radians to degrees

Syntax

angleInDegrees = radtodeg(angleInRadians)

Description

angleInDegrees = radtodeg(angleInRadians) converts angle units from radians to degrees. This is both an angle conversion function and a distance conversion function, because arc length can be a measure of distance in either radians or degrees (provided the radius is known).

Examples

There are 180º in π radians:

anglout = radtodeg(pi)

anglout = 180

Endret av Salt_Skin
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...