Condition if on the elements of matrix in two For loop doesn't work
이전 댓글 표시
Dear all, I posted my problem there is some days ago but I'didn't recieve a right answer. In my code, I use two for loops with some conditions on the elements of the matrix. thre is no error using two loops and the size of different parametrs and that of the matrix is right. But when I compare the rsults to that obtained using one for loop, I realised that the condition if doesn't work.
Any one has an idea!!!!
Thank you in advance. Adam
댓글 수: 5
Azzi Abdelmalek
2012년 8월 21일
why don't you post your code? how are we supposed to find out your problem?
Azzi Abdelmalek
2012년 8월 21일
편집: Azzi Abdelmalek
2012년 8월 21일
the value of xxb? give all your values
Jan
2012년 8월 21일
Please, adam, omit the "clear all" because it is a frequently used, but always useless waste of time. If you are really convinced that a brute clearing helps you for any reasons, use "clear variables".
adam
2012년 8월 21일
답변 (3개)
Azzi Abdelmalek
2012년 8월 21일
편집: Azzi Abdelmalek
2012년 8월 21일
if i have understood whaat is your problem
- you are using if elseif elseif ....
- if the condition 1 is satisfied the other conditions will be skiped even they are true
- instead using if elseif elseif ... use
if exp1
%do
end
if exp2
%do
end
댓글 수: 12
adam
2012년 8월 21일
Azzi Abdelmalek
2012년 8월 21일
편집: Azzi Abdelmalek
2012년 8월 21일
ok it's a misunderstanding i tried your code, and it works, what is the problem? look at the updated answer
adam
2012년 8월 21일
adam
2012년 8월 21일
Azzi Abdelmalek
2012년 8월 21일
편집: Azzi Abdelmalek
2012년 8월 21일
Your if elseif elseif is not correct. i don't know exactly what are you looking for? but i can tell you that i found that your conditions are not exclusifs, which means if your condition 1 is true it claculate inter, then find the condtion 3 is true, then skip it that whhat you want?
adam
2012년 8월 21일
adam
2012년 8월 21일
adam
2012년 8월 21일
Jan
2012년 8월 21일
Whenever you mention in the forum, that an error appears, post the complete message and the line, which causes the error.
Azzi Abdelmalek
2012년 8월 21일
please, writte the code with all data. what is a?
adam
2012년 8월 22일
r=0:dr:5;
rr=r';
...
for l=1:length(xxb);
...
for m=1:length(rr)
if R<rr
Now rr is a vector, but R is a scalar. Then if R < rr is executed implicitly as
if all(R < rr) && ~isempty( R) && ~isempty(rr)
I guess you want something like if R < rr(m).
댓글 수: 4
adam
2012년 8월 21일
Jan
2012년 8월 21일
You compare the results of two different codes, but you post one of them only. Of course we can only guess what the difference might be. "don't work" is a bad description of the problem. Do the results differ from your expectations (if so, how) or do you get an error message (if so, which one)? Did you use the debugger already to check the values of x and y? The debugger is more powerful and much more direct than asking the forum.
adam
2012년 8월 21일
I repeat my suggestion to use the debugger by your own to find the cause of the differences. I still do not see a chance for us to distinguish correct from incorrect values, but you obviously have a method to do so.
And I recommend again to omit the useless but time consuming "clear all".
카테고리
도움말 센터 및 File Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!