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

조회 수: 2 (최근 30일)
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 ?

채택된 답변

Star Strider
Star Strider 2015년 3월 13일
My approach:
tv = t(0.1);
t5 = tv(5) % Element 5
  댓글 수: 2
Ole
Ole 2015년 3월 13일
편집: Ole 2015년 3월 13일
Thanks. I was hoping theres some trick without the need of allocating it again t(0.1)(5) .
Star Strider
Star Strider 2015년 3월 13일
편집: Star Strider 2015년 3월 13일
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)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by