Info
This question is closed. Reopen it to edit or answer.
If loop is not working
1 view (last 30 days)
Show older comments
I'm trying to execute this code but the program does not do the if loop. I know that because in the solution the B matrix is showing all 0. I can see in the solution that the rest of the code is working properly and that there is a value of PImagc=50 so B shouldn't be all 0.
Here is the code:
clear all
close all
s=input(Introduce s (1-40): ');
n=input('Introduce n (1-100): ');
af=zeros(1,s);
bf=zeros(s,n);
cf=zeros(s,n);
B=zeros(1,s);
C=zeros(1,s);
syms a b c;
F=6*a^3-10*b^2+c+i*(2*a+b+c);
Re=real(F)
Im=imag(F)
for h=1:s
af(h)=h;
a=af(h);
for j=1:n
bf(h,j)=j;
b=bf(h,j);
PRe=subs(Re);
sol=solve(PRe,c);
c=cf(i,j);
PImag=subs(Im);
PImagc=subs(PImag,c,sol);
if PImagc==50
B(1,h)=V;
C(1,h)=sol;
else
bf(h,j)=bf(h,j);
end
end
end
disp('B is: ' )
B
Thank you!
5 Comments
Answers (2)
Jan
on 30 Apr 2015
If you omit the brutal clear all it is easy to use the debugger. This tool is designed for stepping through the code line by line, such that you can examine directly what's going on. Therefore I'm astonished that clear all is used so often and recommended by any persons obviously, although it impedes the debugger such efficiently.
0 Comments
Guillaume
on 30 Apr 2015
The only line that modifies B is this one:
B(1, h) = V;
inside an if. Two possibilities:
- V is 0. V never get assigned any value the code you've shown, and since you start with a clear all, it probably does not even exists. So, unless you've made missed a line in your post, if the statement was executed, it would result in an error (undefined variable). Which strongly points to:
- The if condition is never true. You say that Pimagc is 50, but is it exactly 50 and not some value very close to 50 that matlab displays as 50? To check look at the value of Pimagc - 50. I suspect it is going to be a very small value but not exactly 0.
1 Comment
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!