How to call element from vector out of t = @(theta) x*cos(theta)-y*sin(theta);
4 次查看(过去 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 ?
0 个评论
采纳的回答
Star Strider
2015-3-13
My approach:
tv = t(0.1);
t5 = tv(5) % Element 5
2 个评论
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 Center 和 File Exchange 中查找有关 Logical 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!