16 svar
103 visningar
Sara.alaga._12345 behöver inte mer hjälp
Sara.alaga._12345 158
Postad: 2 nov 2023 12:45 Redigerad: 2 nov 2023 13:21

PythonUppgift

försöker skriva ett program för att besvara  frågan:

Programmeringsuppgift:Skriv ett program som löser ekvationen, Z^n =a + bi

 där a, b heltal och n är ett positivt heltal.

Användaren av programmet ska kunna välja talen n, a och b själv.

Mitt försök var såhär men sedan förstår jag inte varför de blir inte rätt det kmr röd ruta, vad ska jag ändra för att få det rätt ? Vart gör jag fel ?

 

Yngve 40279 – Livehjälpare
Postad: 2 nov 2023 12:51

Jag kan inte Python, men att döma av felmeddelandet så verkar det inte finnas ngn metod pow i modulen cmath.

Sara.alaga._12345 158
Postad: 2 nov 2023 12:57 Redigerad: 2 nov 2023 13:02

Ska jag kanske istället i rad 6, skriva cmath.power_n=c**n,

Blir oxå fel då..de it det säkert. Då jag gör det får jag z^n = none istället 

Laguna Online 30484
Postad: 2 nov 2023 13:06

Din kod verkar försöka lösa fel uppgift. Du ska inte upphöja a+bi till n.

Titta i dokumentationen för cmath och se vad du kan använda där.

Sara.alaga._12345 158
Postad: 2 nov 2023 13:16 Redigerad: 2 nov 2023 14:17

Upgift skrev fel förlåt...

Programmeringsuppgift:Skriv ett program som löser ekvationen, Z^n =a + bi

Sara.alaga._12345 158
Postad: 2 nov 2023 13:31

Sara.alaga._12345 158
Postad: 2 nov 2023 13:31 Redigerad: 2 nov 2023 14:36

Gjort om, är det rätt gjort nu ?

Men räknar jag för hand blir svaret 2 av ekvationen..är det ngt som blir fel , vad i så fall :/ 

Sara.alaga._12345 158
Postad: 2 nov 2023 15:09 Redigerad: 2 nov 2023 15:13


Tillägg: 2 nov 2023 15:14

Nu får jag det till 2 , det verkar rimligt.

Är det rätt kan jag lämna under såhär ? 

Eller bör jag skriva på annat sätt 

D4NIEL 2932
Postad: 2 nov 2023 15:32 Redigerad: 2 nov 2023 15:36

Jag tror uppgiften går ut på att lösa ekvationen för variabeln zz.

Du gör något annat. Drar roten ur och verkar stundtals vilja räkna ut a+jb\sqrt{a+jb} eller znz^n. Kanske missförstår vi vad din uppgift är? Kan du lägga in en bild på själva uppgiften?

 

Så här tror jag att uppgiften är tänkt att fungera enligt den formulering du själv givit

Ekvationen z2=3+4jz^2=3+4j har parametrarna

a=3a=3

b=4b=4

n=2n=2

Och lösningarna

z1=2+jz_1=2+j

z2=-2-jz_2=-2-j

Din uppgift är att skapa ett program som löser ekvationen och skriver ut de nn rötterna z1,,znz_1,\dots,z_n givet parametrarna aba\,b och nn.

 

Sara.alaga._12345 158
Postad: 2 nov 2023 15:41


Tillägg: 2 nov 2023 15:43

Bild på upgiften.

D4NIEL 2932
Postad: 2 nov 2023 15:48

Kontrollera om din nuvarande kod ger de två svaren z1=(2+i)z_1=(2+i) och z2=-(2+i)z_2=-(2+i) om du anger a=3a=3 b=4b=4 och n=2n=2

Om den inte gör det måste du utöka koden så att den anger samtliga rötter, inte bara första tänkbara.

Sedan kan du testa a=-26a=-26 och b=-18b=-18 för n=3n=3 och kontrollera att du får tre rötter varav en av rötterna faktiskt blir (1+3i)(1+3i) osv.

Sara.alaga._12345 158
Postad: 2 nov 2023 15:51

Ska skriva istället för a=8 , b= 0 , n= 3 

Blir det såhär =


Tillägg: 2 nov 2023 15:52

Det blir fel, men för just den upgiften vi fått blev det rätt :/

D4NIEL 2932
Postad: 2 nov 2023 15:58 Redigerad: 2 nov 2023 16:01

Vad är det som blir fel?

Får du fel antal rötter?

Ser rötterna konstiga ut? T.ex. (1.0000000000000004+2.9999999999999996j) istället för 1+3j?

Lösningarna på ekvationen z3=8z^3=8 är

z1=2z_1=2

z2=-1+3jz_2=-1+\sqrt3j

z3=-1-3jz_3=-1-\sqrt3 j

Sara.alaga._12345 158
Postad: 2 nov 2023 16:01

Jag förstår inte riktigt, satte jag in sosiffran du sa så fick jag 2.0+1.0i 

Inga

z1

Z2 

Z3

Jag menar

D4NIEL 2932
Postad: 2 nov 2023 16:03 Redigerad: 2 nov 2023 16:04

Ekvationen z3=a+biz^3=a+bi har 3 lösningar

Ekvationen z12=a+biz^{12}=a+bi har 12 lösningar

Ekvationen z7=a+biz^7=a+bi har 7 lösningar

Ekvationen zn=a+biz^n=a+bi har nn lösningar

Ditt program skriver bara ut en enda lösning. Du måste skriva ut nn lösningar.

Sara.alaga._12345 158
Postad: 2 nov 2023 16:28 Redigerad: 2 nov 2023 17:01


Tillägg: 2 nov 2023 16:29

Såhär ? 

Är det rätt nu ?

D4NIEL 2932
Postad: 2 nov 2023 17:48 Redigerad: 2 nov 2023 17:49

Ja, nu ser det bra ut. Möjligtvis kan du döpa om "resultater" till "resultaten" eller "lista_med_rotter". Men det har mer med svenska att göra.

Har du tagit hjälp av chatGPT eller copilot? Lite varning på listhantering och konstruktioner som r = [c ** (1 / n)]  samt användning av enumerate i effektiva loopvillkor.

Svara
Close