11 svar
260 visningar
blygummi är nöjd med hjälpen
blygummi 216 – Fd. Medlem
Postad: 12 okt 2019 17:38

Plota en funktion!

Hej! 

Jag försöker plotta:

x2+y2 =1+2.5sin2(xy)

i Matlab utan att använda contour eller fimplict.

Jag tänkte ansätta polära koordinater, det vill säga, x=rcos(theta), y=rsin(theta) och därefter lösa ut radien som en funktion av vinkeln för att hädan efter lösa ekvationen med fzero. Såhär långt har jag kommit till och med nu:

r2=94-54cos(r2sin(2θ))

Problematiken består nu i att lösa ut r! Möjligtvis finns det bättre metoder man kan använda sig av för att plotta funktionen. Därefter vill jag beräkna längden av kurva genomlöpt ett varv, men det är sekundärt.

All assistans uppskattas otroligt mycket!

Tack på förhand!

blygummi 216 – Fd. Medlem
Postad: 12 okt 2019 18:03

Kan man stoppa in olika vinklar och hädanefter lösa ett ekvationssystem för r?

Laguna Online 28468
Postad: 12 okt 2019 18:11

I allmänhet går det inte att lösa ekvationer analytiskt där en variabel förekommer både som argument till en trigonometrisk funktion och utanför.

Matlab kan jag så lite att jag inte vet vad funktionerna du nämnde gör, fast jag kan gissa. Varför vill du inte använda dem?

blygummi 216 – Fd. Medlem
Postad: 12 okt 2019 18:27
Laguna skrev:

I allmänhet går det inte att lösa ekvationer analytiskt där en variabel förekommer både som argument till en trigonometrisk funktion och utanför.

Matlab kan jag så lite att jag inte vet vad funktionerna du nämnde gör, fast jag kan gissa. Varför vill du inte använda dem?

För att jag inte vet vad jag gör då. Men hur är ideen med ekvationsysstem? Ett problem känner jag då är att;

Radien beror ju av vinkeln, men, om vi väljer vinklarna 0, pi/2 och pi blir sinus, 0,0 och noll, i fallet ovan. cos(0)=1 och vi får r=1. Alltså, 0 = cos(sin(2theta))-1;

Om vi skulle välja två olika vinklar sådana att sin(2theta) blir skild från noll verkar det som om att vi endast får trivial lösning för r, det vill säga då vi sätter ekvationerna för respektive vinkel lika med varandra. 

Innebär detta inte att lösningarna då finns på cos(sin(2theta))? 

Möjligtvis har jag spårat ut helt, men jag gör absolut mitt yttersta för att komma framåt!

Laguna Online 28468
Postad: 12 okt 2019 18:34

Man kanske ska vända på det. Om du antar ett värde på r så får du en ganska enkel ekvation i theta.

blygummi 216 – Fd. Medlem
Postad: 12 okt 2019 18:51
Laguna skrev:

Man kanske ska vända på det. Om du antar ett värde på r så får du en ganska enkel ekvation i theta.

Ja exempelvis r = 1, det uppfyller kriteriet r<0, och vi får som jag skrev ovan, cos(sin(2theta))-1=0, varav lösningar existerar så sin(2(theta)=2sin(theta)cos(theta)=0? Men i och med att radien beror av vinkeln, får vi inte bara en av oändligt många lösningar nu?

Laguna Online 28468
Postad: 12 okt 2019 18:56
blygummi skrev:
Laguna skrev:

Man kanske ska vända på det. Om du antar ett värde på r så får du en ganska enkel ekvation i theta.

Ja exempelvis r = 1, det uppfyller kriteriet r<0, och vi får som jag skrev ovan, cos(sin(2theta))-1=0, varav lösningar existerar så sin(2(theta)=2sin(theta)cos(theta)=0? Men i och med att radien beror av vinkeln, får vi inte bara en av oändligt många lösningar nu?

Jo, lösningen blir periodisk i theta.

blygummi 216 – Fd. Medlem
Postad: 12 okt 2019 19:07 Redigerad: 12 okt 2019 19:16
Laguna skrev:
blygummi skrev:
Laguna skrev:

Man kanske ska vända på det. Om du antar ett värde på r så får du en ganska enkel ekvation i theta.

Ja exempelvis r = 1, det uppfyller kriteriet r<0, och vi får som jag skrev ovan, cos(sin(2theta))-1=0, varav lösningar existerar så sin(2(theta)=2sin(theta)cos(theta)=0? Men i och med att radien beror av vinkeln, får vi inte bara en av oändligt många lösningar nu?

Jo, lösningen blir periodisk i theta.

Så, fås alltså alla lösningar till den implicita funktionen ovan av cos(sin(2theta))-1=0? Det är vad jag anar, men som sagt, lite osäker, då det känns som, om jag stoppar in andra värden av r? För, enligt wolfram har den oändligt många lösningar?

Laguna Online 28468
Postad: 12 okt 2019 19:19
blygummi skrev:
Laguna skrev:
blygummi skrev:
Laguna skrev:

Man kanske ska vända på det. Om du antar ett värde på r så får du en ganska enkel ekvation i theta.

Ja exempelvis r = 1, det uppfyller kriteriet r<0, och vi får som jag skrev ovan, cos(sin(2theta))-1=0, varav lösningar existerar så sin(2(theta)=2sin(theta)cos(theta)=0? Men i och med att radien beror av vinkeln, får vi inte bara en av oändligt många lösningar nu?

Jo, lösningen blir periodisk i theta.

Så, fås alltså alla lösningar till den implicita funktionen ovan av cos(sin(2theta))-1=0? Det är vad jag anar, men som sagt, lite osäker, då det känns som, om jag stoppar in andra värden av r? För, enligt wolfram har den oändligt många lösningar?

Det blir oändligt många lösningar för theta, men inte för x och y.

blygummi 216 – Fd. Medlem
Postad: 12 okt 2019 19:33

blygummi 216 – Fd. Medlem
Postad: 12 okt 2019 20:47 Redigerad: 12 okt 2019 20:48

Okej! Men jag försökte med detta, snälla, ge mig gärna feedback!

Förklaring av nedan kod:

Jag skrev ut funktionen efter variabelbyte till polära koordinater. I och med att jag ovan ser att alla värden som antar r när vi varierar theta är i ett intervall från exempelvis 0 till 3 ger r mellan 1 tom 2. Att variera theta i detta intervallet verkar vara tillräckligt för att få ut alla r för vilket ekvationen har en lösning. Vilket är vad jag har gjort men får problem, "oändligt många lösningar?"!?

myimplicitfunc = @(r,t) 2.25-1.25.*sin((r.^(2)).*sin(2.*t))-r.^(2);
t=linspace(0,3,100);
implicitfunc = @(r) myimplicitfunc(r,t);
x0=1;
r=fzero(implicitfunc,x0);

 

"Operands to the || and && operators must be
convertible to logical scalar values.

Error in fzero (line 327)
elseif ~isfinite(fx) || ~isreal(fx)

Error in q1 (line 5)
r=fzero(implicitfunc,x0);"

blygummi 216 – Fd. Medlem
Postad: 14 okt 2019 14:16

Bumpar min tråd

Svara Avbryt
Close