For loop help needed
情報
この質問は閉じられています。 編集または回答するには再度開いてください。
古いコメントを表示
Can anyone see a reason why when I implement the following for loop:
for ashift = 1:n
x = [x(:,1) - x(ashift) x(:,2) - x(n+ashift) ...
x(:,3) - x(2*n+ashift)];
x = circshift(x,rowshift)
rowshift = rowshift - 1;
end
For the instance when n = 4, the output comes in the order of n = 1, n = 2, n = 4, n = 3 (I have checked this many times with manual calclations.
I can't think of any reason why this should be happening. Any help would be greatly appreciated.
Kind regards, Tom
5 件のコメント
Azzi Abdelmalek
2013 年 11 月 12 日
Your problem is not clear
Walter Roberson
2013 年 11 月 12 日
Your x appears to be a matrix, but you are access x(ashift) and x(n_ashift) and x(2*n+ashift), which are linear accesses. Are you sure you want to be switching between 2D coordinates and 1D coordinates in the same expression? If x is n rows down, then the 1D coordinates correspond to x(ashift, 1), x(ashift, 2) and x(ashift, 3) which would be clearer to read.
Walter Roberson
2013 年 11 月 12 日
What do you initialize rowshift to ?
Tom
2013 年 11 月 13 日
回答 (1 件)
Sean de Wolski
2013 年 11 月 12 日
0 投票
Use the debugger!
- Put this in a script or function and save the file.
- Put a break point on the first line (click on the dash next to the line number)
- Run the file and use dbstep or the Step icon to step through the loop and investigate what is happening on each line during each iteration.
4 件のコメント
Tom
2013 年 11 月 12 日
Walter Roberson
2013 年 11 月 12 日
Sean did give step by step instructions. Notice the "click on the dash next to the line number", and "dbstep or the Step icon"
Tom
2013 年 11 月 12 日
Sean de Wolski
2013 年 11 月 12 日
On each line run the line at the command prompt and figure out what each value is doing.
For example
x(:,1) - x(ashift) x(:,2) - x(n+ashift) x(:,3) - x(2*n+ashift)]
Notice I took the ';' off the end so it prints.
Not lets look inside at it
x(n+ashift)
Divide and conquer until you figure out what's going on.
この質問は閉じられています。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!