4 svar
204 visningar
abcdefg 274
Postad: 20 nov 2019 15:17 Redigerad: 20 nov 2019 15:58

Skriva om uttryck för vektorer till funktion i Matlab?

Hej, 

Jag har en vektor A = (A1, A2, A3) som är ortogonal mot en annan vektor, v = (v1,v2,v3), med längden 1 och vars första koordinat är 0.  Jag har lyckats skriva in detta i Matlab på följande sätt:

v2 = [0 A(2) -A(3)];

v3 = [0 -A(2) A(3)];

v2 = v2/norm(v2)

v3 = v3/norm(v3)

Men om jag vill skriva om det som en funktion istället, där A är input värde, hur gör jag då?  Jag är med på att funktioner skrivs in som function[v2,v3] = Namn(A3,A2) men hur gör jag det om på ovan uppgift där funktionen inte är given? 

Jag önskar inte svaret på uppgiften, utan mer en ledtråd hur jag ska tänka. 

Smaragdalena 80504 – Avstängd
Postad: 20 nov 2019 15:41

Flyttar tråden från Matematik/Universitet till Programmering/MatLab /moderator

Dr. G 9479
Postad: 20 nov 2019 16:59

Om du klipper in raden

function [v2,v3] = orthogonal_vectors(A)

före din kod och sedan ett "end" på slutet, så tar funktionen orthogonal_vectors(A) en vektor A och returnerar två vektorer v2 och v3, som är normerade, har förstakoordinat = 0 och är vinkelräta mot A.

abcdefg 274
Postad: 20 nov 2019 17:09 Redigerad: 20 nov 2019 17:11
Dr. G skrev:

Om du klipper in raden

function [v2,v3] = orthogonal_vectors(A)

före din kod och sedan ett "end" på slutet, så tar funktionen orthogonal_vectors(A) en vektor A och returnerar två vektorer v2 och v3, som är normerade, har förstakoordinat = 0 och är vinkelräta mot A.

Tack! Det verkar fungera nu, men problemet är bara att programmet vill att jag ska ange värden för A när jag trycker "Run", Please enter a vector A=[A1 A2 A3]: Ska jag inte bara i command window kunna skriva in t.ex [v2,v3] = orthogonal_vectors(1) ?  (alltså ange ett värde på A) 

Dr. G 9479
Postad: 20 nov 2019 17:22

A som argument i funktionen ska vara en vektor med längd 3.

Svara
Close