
#1
May2212, 08:42 PM

P: 2

I'm somewhat new to Matlab and am having issues with a nested "for" and "if" loop. My code is below. This code is combining a binary signal with a cyclic one. I'm trying to create a matrix with the amplitude condition in the first column and in the second column I want the sum of the number of data points where the binary signal reads "1" and the analog cyclic signal's value is above the amplitude condition. I know the if loop works like I want because when I isolate it it gives me the results I want.
The problem is with the for loop. The second column has all the same number when I know they should vary. Every value is equal to what the correct value is for the first row. After the first row every number is the same for some reason. n=length(stab(:,1)); prob=zeros(2,2); prob1=zeros(n,1) for k=1:100 a(k)=k; for i=1:n if ((z2(i)>=a(k))(z2(i)<=a(k))) && (stab2(i)==1) prob1(i)=1; end prob(k,2)=sum(prob1); end prob(:,1)=a; end 



#2
Jun412, 10:04 AM

P: 194

I'm not a Matlab user, but I think you may be able to do away with the if statement and direct assign the result of your conditional expression to a variable; this would avoid having to reset prob1. I've attached a Mathcad image that shows this method. You may even be able to vectorize the entire expression and avoid the loop altogether. NR 



#3
Jun412, 10:20 AM

P: 2

Thank you that was very helpful! It's working great now.




#4
Jun612, 06:52 AM

P: 194

My Matlab for loop wont output the matrix I need 


Register to reply 
Related Discussions  
Is it safe to loop the inverter's output neutral to loop with the mains neutal??  Electrical Engineering  1  
Mathematica storing output generated from a loop  Math & Science Software  6  
Matrix Output (Matlab)  Math & Science Software  1  
MatLab: How to add a matrix to a structure without a loop?  Math & Science Software  5  
Matlab help. Can't figure out why this wont work!  Math & Science Software  6 