Exceeds array bounds Error when running m-file, but no problem if the function is run alone.
显示 更早的评论
Hello, I m new at Matlab and have a simple question:
I wrote a short m-file function with the purpose of showing me the exact index where 3 conditions are fulfilled.
function[II]=cutdataB(VP,VT,PH)
global switchdata
II=find(switchdata(:,1)==VP&switchdata(:,3)==VT&switchdata(:,4)==PH-1)
If I run it, Matlab says:
cutdata (2,2,2)
Index in position 2 exceeds array bounds.
Error in cutdataB (line 3)
The confusing part is coming now:
Entering the third line alone, with filling in VP=2, VT=2, PH=2, results in Matlab showing the correct index vector
II=find(switchdata(:,1)==2&switchdata(:,3)==2&switchdata(:,4)==2-1)
II =
33
So, what is wrong with my m-file?
(If you re wondering, actually it's just a simplified version of another m file that I'm going to write. But in order to get that running, I m trying to at least manage to create an easy one)
Best regards
1 个评论
Stephen23
2019-9-10
"So, what is wrong with my m-file?"
Global variables.
etc.
Use one of the more reliable methods described in the MATLAB documentation:
Personally I find nested functions very intuitive and reliable.
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!