Definiera variabel i Matlab
Hej,
Hur gör jag om jag har ett uttryck/funktion för en vektor som jag vill definiera i ett script? Var skriver jag detta och hur skriver jag detta?
En variant är en s.k anonymous function
v = linspace(-5,5,101);
f = @(x) x.^2 + sin(x);
plot(v,f(v),'b-')
Funktionen kan även definieras som
function y = f(x)
y = x.^2 + sin(x);
end
För mer komplicerade funktioner som inte går att skriva på en rad är den senare varianten att föredra.
Dr. G skrev:En variant är en s.k anonymous function
v = linspace(-5,5,101);
f = @(x) x.^2 + sin(x);
plot(v,f(v),'b-')
Funktionen kan även definieras som
function y = f(x)
y = x.^2 + sin(x);
end
För mer komplicerade funktioner som inte går att skriva på en rad är den senare varianten att föredra.
Tack. Men i det här fallet har jag två vektorer v =(v1,v2,v3) och u = (u1,u2,u3), där jag har uttryck för v1 och v2:
V1 = sqr(u2)
V2 = sqr(u3)
Då kan jag väl inte skriva det som funktion?
Visst
function v = g(u)
v(1)= sqrt(u(2));
v(2)= sqrt(u(3));
v(3)= abs(u(2)-u(1));
end
Nu hittade jag på något uttryck för v(3).
Kör funktionen med t.ex
U = [2,3,4]
V = g(U)
eller
g([pi,0,1])
Tänk på att negativa tal i u kan ge komplexa tal i v.
Samms sak med anonymous function:
g = @(u) [sqrt(u(2)), sqrt(u(3)), abs(u(2)-u(1))];
U = [2,3,4]
V = g(U)
Dr. G skrev:Visst
function v = g(u)
v(1)= sqrt(u(2));
v(2)= sqrt(u(3));
v(3)= abs(u(2)-u(1));
endNu hittade jag på något uttryck för v(3).
Kör funktionen med t.ex
U = [2,3,4]
V = g(U)eller
g([pi,0,1])
Tänk på att negativa tal i u kan ge komplexa tal i v.
Tack!