Zeroing the start of my vectors with a for loop
1 次查看(过去 30 天)
显示 更早的评论
Hello, I have 6 vectors. Gauge1, Gauge2, Gauge3...Gauge6. They do not all start with a 0. So I want to reset each vector with a for loop.
for i=1:6
Gauge(i)=Gauge(i)-Gauge(i)(1);
end
So it should subtract all numbers in the vector with the first number in the vector...
But I get this from matlab ------ ()-indexing must appear last in an index expression. ------
What should I change. Thank you
0 个评论
采纳的回答
dpb
2015-11-12
编辑:dpb
2015-11-12
"I have 6 vectors. Gauge1, Gauge2, Gauge3..."
As you see, you can't address these variables easily as Matlab can't interpret variable names dynamically for ordinary arrays. Instead create a single array gauges of size [N,6]. Then the above operation becomes trivial--
gauges=bsxfun(@minus,gauges,gauges(1,:));
See
doc bsxfun % for details on the singleton expansion to subtract the one row from the rest
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!