How to call element from vector out of t = @(theta) x*cos(thet​a)-y*sin(t​heta);

2 Ansichten (letzte 30 Tage)
x = linspace(1,10,10);
y=x;
t = @(theta) x*cos(theta)-y*sin(theta);
t(0.1) will give me vector. How to get element 5 ?

Akzeptierte Antwort

Star Strider
Star Strider am 13 Mär. 2015
My approach:
tv = t(0.1);
t5 = tv(5) % Element 5
  2 Kommentare
Ole
Ole am 13 Mär. 2015
Bearbeitet: Ole am 13 Mär. 2015
Thanks. I was hoping theres some trick without the need of allocating it again t(0.1)(5) .
Star Strider
Star Strider am 13 Mär. 2015
Bearbeitet: Star Strider am 13 Mär. 2015
My pleasure.
Unfortunately, not.
The only way around it is to include ‘x’ and ‘y’ as arguments, then reference the 5th element of each:
txy = @(theta,x,y) x*cos(theta)-y*sin(theta);
t5 = txy(0.1,x(5),y(5))
----------
This strange construction actually works (it creates a cell array, and then references the 5th element and assigns the correct value to t5), but throws an annoying error and halts execution of the script:
t5 = {t(0.1)}(5)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by