simple MATLAB question ...
1 次查看(过去 30 天)
显示 更早的评论
ok i am writting a code in which i need to write :
U(1,1) ,U (2,2) ,U (0,3) etc
and then i am going to assign some value to these separately...
for this purpose i use 2 "for" loops as follows:
for a=0:n-1 for b=0:n-1 where n i given a number by the user in the code.. and then i use U(a,b) ,so that it may write the points itself in each iteration....
but using this method matlab shows error that "U" is not defined function... am I writting it in correct way? if not then please help and correct it ...
thanx.
0 个评论
采纳的回答
Matt Fig
2011-6-12
MATLAB indexing starts at 1, not 0.
n = 5;
U = zeros(n); % Pre-allocate the memory.
for a = 1:n
for b = 1:n
U(a,b) = a+b;
end
end
5 个评论
Matt Fig
2011-6-12
You simply cannot index into a MATLAB array with 0. In other languages (C++ for example) you can index into an array with 0, but not MATLAB. This will error. Look:
A = [1 2 4 6 8 9];
A(1)
A(2)
A(3)
A(0) % Error...
更多回答(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!