Help understanding matlab code ?
古いコメントを表示
I am completely new to Matlab and I also don't have Matlab - but I have been asked to convert some Matlab code to another language, which is proving a little bit tricky for me. At the moment I am stuck with the following lines which are within a loop:
d=s2(1)*ones(dim(1),1);
for i=2:R,
d=[d;s2(i)*ones(dim(i),1)];
s2 is a 1x2 matrix [0.1 1], dim = [3], and R is equal to 1 (the first time this code is evaluated)
My understanding is that the first line results in the 3x1 matrix
0.1
0.1
0.1
But I am confused by what happens in the for loop a) since R is 1, is this a decrementing loop (evaluated with i=2 then i=1 ?) b) I really don't get the line d=[d;s2(i)*ones(dim(i),1)] at all
Could anyone help explain this to me ?
採用された回答
その他の回答 (2 件)
dpb
2014 年 9 月 6 日
for i=2:R
for R=1 is an empty loop
Matlab for loop control is
for start:[increment:]end
with the default for increment when not given of +1. If initial end < start, the loop body is never entered. The code as written is the same as
for i=2:1:R
and a decrementing loop would require
for i=2:-1:R
the step variable cannot be skipped in that case. It's same as Fortran DO with the optional increment excepting Fortran writes the increment last instead of in the middle. The difference is that Matlab syntax follows that for vectors with the colon operator for consistency.
I really don't get the line d=[d;s2(i)*ones(dim(i),1)]
If R>=2, then it concatenates the results to the initial d to build a longer column vector of the elements of s repeated the number of times in the dim array.
Harmon Harmon
2016 年 10 月 5 日
0 投票
Hi, I'm trying my best to understand this code and how everything works together. I know that there are some comments, which are in green and I understand that.
1 件のコメント
Image Analyst
2016 年 10 月 6 日
How is this an answer of Modus's original question?
Do you have a question? Or is this just an announcement?
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!