4 svar
186 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 Online 78169 – Lärare
Postad: 20 nov 2019 15:41

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

Dr. G Online 9321
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 Online 9321
Postad: 20 nov 2019 17:22

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

Svara Avbryt
Close