Hoe maak ik een werkende vergelijking bij mijn momentopgave

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • henknijland
  • Registratie: April 2016
  • Laatst online: 09-02 11:23
Ik ben bezig met het oplossen van een vraag, Het is de bedoeling dat ik MATLAB gebruik om de oplossing te vinden
De constructie is zoals in de afbeelding:Afbeeldingslocatie: http://s20.postimg.org/n8c04sht9/Momentopgave.png

Het is de bedoeling het maximale kracht van de bloempot te bepalen als het moment in buis OA niet meer mag zijn dan 450N.m

Ik heb de volgende code gemaakt om het moment te bepalen:
Afbeeldingslocatie: http://s20.postimg.org/6xu9rfyul/Code.png


Ik heb nu dus het moment in de buis OA veroorzaakt door krachtvecor F [0;0;t]. Het antwoord bevat dus de variabele t.
Ik heb een vergelijking opgesteld waar ik het moment (bij mij T_Max) gelijk heb gesteld aan 450, en die uiteindelijk t uitrekent. Zover ik het kan bekijken klopt mijn antwoord, maar......

Ik heb nu de waarde voor T_Max gekopieerd en daarmee een vergelijking gemaakt. Ik wil eigenlijk T_Max als variabele in de vergelijking zetten en gelijk stellen aan 450 en dan t vinden.

Dat laatste stukje kom ik niet uit.

Bij voorbaat dank,
Henk

Beste antwoord (via henknijland op 12-04-2016 15:55)


  • Okki5
  • Registratie: Augustus 2008
  • Laatst online: 11-09 12:30
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
clear all;
OC=[3/5;3/5*sqrt(3);0];
BC=[9/40*sqrt(3);27/40;9/20];
OB=OC+BC;
R=OB;
syms t
F=[0;0;t];
MO=cross(R,F);
OA=[0;1.2;0.9];
OAe=OA/norm(OA);
Max=dot(OAe,MO)*OAe;
T_max=norm(Max);
F_max=solve(T_max==450,t)


Bij mij geeft dit het antwoord wat je in je eerste post ook al hebt staan.

Het antwoord wat je zo krijgt lijk mij gewoon een beetje veel in dit geval.

Met moment om de as van OA bedoel je dus het torsie moment van de buis? In dat geval zou het goed kunnen:)

Alle reacties


Acties:
  • +1 Henk 'm!

  • Kraay89
  • Registratie: September 2012
  • Laatst online: 08-09 10:31
Zo te zien beheers je het aanmaken van variabelen al dus ik zie niet in waarom dit je niet lukt. Misschien snap ik je vraag niet.

Extra hint: De string die je meegeeft aan 'solve()' wordt gewoon uitgevoerd binnen dezelfde workspace als de rest van je berekening dus hij heeft ook toegang tot eventueel eerder gecreëerde variabelen. Ik wil je antwoord niet teveel voorkauwen want dit lijkt me een opdracht van een opleiding?

Probeer eens iets uit te weiden over wat je voor "dat laatste stukje" geprobeerd hebt?

PS. Mooie herkansing t.o.v. je vorige poging met deze vraag

Acties:
  • 0 Henk 'm!

  • henknijland
  • Registratie: April 2016
  • Laatst online: 09-02 11:23
Bedankt voor de reactie.

Het vraagstuk is inderdaad voor een opleiding. En op zich heb ik het antwoord voor de vraag al en wordt dat ook goedgekeurd. Ik wil alleen graag weten of ik een vergelijking kan maken die er uitziet als:
F_Max= solve('T_Max=450',t)

De leraar zelf kan het mij niet uitleggen :)

Ik heb het zelf geprobeerd zoals bovenstaand, en ik heb een extra sym aangemaakt met de waarde van T_Max. Bij beide krijg ik de melding empty sym. :?

p.s.
Mijn eerste poging was "misschien" wat te gehaast opgesteld....alle begin is moeilijk...

Acties:
  • +1 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-09 14:31
Ik mis ergens het probleem, vermoed ik: T_Max lijkt me een lineare functie van t ?

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • henknijland
  • Registratie: April 2016
  • Laatst online: 09-02 11:23
MSalters schreef op dinsdag 12 april 2016 @ 15:00:
Ik mis ergens het probleem, vermoed ik: T_Max lijkt me een lineare functie van t ?
Dus zou het zo moeten lukken als ik het opgesteld heb????

Acties:
  • +1 Henk 'm!

  • Okki5
  • Registratie: Augustus 2008
  • Laatst online: 11-09 12:30
Waarom voer je een string in in het solve commando? Roep eerst eens even de help functie op voor het solve commando, dan kom je er vanzelf achter hoe je het juist moet formuleren.

de syntax voor functies als solve enz, is heel makkelijk te vinden door te typen solve( en dan op f1 te drukken).

Daarnaast vraag ik mij sterk af of je antwoord juist is,om welke as mag je maximale moment 450Nm zijn?

[ Voor 50% gewijzigd door Okki5 op 12-04-2016 15:24 ]


Acties:
  • 0 Henk 'm!

  • henknijland
  • Registratie: April 2016
  • Laatst online: 09-02 11:23
Okki5 schreef op dinsdag 12 april 2016 @ 15:13:
Dit is het commando wat je zoekt;)

F_max=solve(T_max==450,t)

de syntax voor functies als solve enz, is heel makkelijk te vinden door te typen solve( en dan op f1 te drukken)
Dat heb ik geprobeerd, dan krijg ik de melding undefined function or varable... zet ik T_Max==450,t tussen apostrofjes dan krijg ik empty syms..

Acties:
  • +1 Henk 'm!

  • Okki5
  • Registratie: Augustus 2008
  • Laatst online: 11-09 12:30
Ik zie net dat mijn vorige comment niet zo lief was, sorry!
Mijn vermoeden over je laatste foutmelding:

Als je een script draait in Matlab, moet je aan het begin al je variabelen opschonen( tenzij je ze wilt blijven gebruiken). Dat is simpel te doen door clear all; aan het begin van je script te zetten...

Acties:
  • 0 Henk 'm!

  • henknijland
  • Registratie: April 2016
  • Laatst online: 09-02 11:23
Alle commentaar is welkom.
Het moment van maximaal 450N is om de buis OA
Als je een fout ziet.. zeg het...

Wat betreft opschonen, denk ik niet dat het enig effect heeft. Mijn enige variabele is t.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • Okki5
  • Registratie: Augustus 2008
  • Laatst online: 11-09 12:30
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
clear all;
OC=[3/5;3/5*sqrt(3);0];
BC=[9/40*sqrt(3);27/40;9/20];
OB=OC+BC;
R=OB;
syms t
F=[0;0;t];
MO=cross(R,F);
OA=[0;1.2;0.9];
OAe=OA/norm(OA);
Max=dot(OAe,MO)*OAe;
T_max=norm(Max);
F_max=solve(T_max==450,t)


Bij mij geeft dit het antwoord wat je in je eerste post ook al hebt staan.

Het antwoord wat je zo krijgt lijk mij gewoon een beetje veel in dit geval.

Met moment om de as van OA bedoel je dus het torsie moment van de buis? In dat geval zou het goed kunnen:)

Acties:
  • 0 Henk 'm!

  • henknijland
  • Registratie: April 2016
  • Laatst online: 09-02 11:23
Je hebt 100% gelijk, zo werkt het.... d:)b

Het moment is inderdaad het wringend moment in buis OA

Nog één vraag: Er komt een breuk uit. Kan dit ook in één keer omgezet worden in 568,3475

Acties:
  • +1 Henk 'm!

  • Okki5
  • Registratie: Augustus 2008
  • Laatst online: 11-09 12:30
Dan moet je F_max omzetten naar een floating point, was iets met vpa, maar dat ga ik niet voor je googlen;)

Acties:
  • 0 Henk 'm!

  • henknijland
  • Registratie: April 2016
  • Laatst online: 09-02 11:23
Dat googelen gaat wel lukken denk ik.

Bedankt voor de hulp.

Acties:
  • +1 Henk 'm!

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 10-09 14:31
henknijland schreef op dinsdag 12 april 2016 @ 15:07:
[...]
Dus zou het zo moeten lukken als ik het opgesteld heb????
Nee - ik bedoel dat je het een miljoen keer ingewikkelder maakt dan nodig. Probeer t = 1, wat is dan de T die eruit komt? Stel dat dat 225 is. Dan is de T_max dus 2*225, en de t die je zoekt is dan 2.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Acties:
  • 0 Henk 'm!

  • henknijland
  • Registratie: April 2016
  • Laatst online: 09-02 11:23
Dat klopt, het is een mogelijkheid. Maar bij mij gaat het toch nog wel om het leerdoel... Hoe je met MATLAB dergelijke problemen kunt oplossen. :) .

Bedankt voor de input...
Pagina: 1