Changing the unknown variable in a matlab line
    2 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I have the following line in matlab:
y=sum(bin(xout>xout(1) & xout < -lim));
In the above line, Iam computing the value 'y' from known row-vectors 'bin' , 'xout', and known value 'lim'
How can I write the above equation, if I want to compute the value 'lim' if the value 'y' and row-vectors 'bin', 'xout' are now known.
%%---- Following scenario ---%% PICTURE ADDED
Please help
6 Commenti
  Azzi Abdelmalek
      
      
 il 16 Ago 2012
				do you mean bin(1x6000) and xout(1x200)? because with bin(1x200) and xout(1x6000).
y=sum(bin(xout>xout(1) & xout < -lim));
don't work
Risposta accettata
  Azzi Abdelmalek
      
      
 il 16 Ago 2012
        
      Modificato: Azzi Abdelmalek
      
      
 il 16 Ago 2012
  
      Example: run this to find y
 bin=rand(20,1);xout=rand(20,1);lim=-0.5;
 y=sum(bin(xout>xout(1) & xout < -lim));
then run this to find lim
 lim=[];
 for k=1:length(xout);
     if sum(bin(xout>xout(1) & xout < xout(k)))==y;
         lim=[lim -xout(k)]
     end
 end
 lim=max(lim)
note: you will notice that lim is not exactly the same as the first. and if lim contains many values, you choose the bigest (-lim will be the smaller)
3 Commenti
  Azzi Abdelmalek
      
      
 il 16 Ago 2012
				
      Modificato: Azzi Abdelmalek
      
      
 il 16 Ago 2012
  
			if y is given by
y=sum(bin(xout>xout(1) & xout < -lim));
lim can't be empty, unless you impose y. in this case, it's possible that lim will be empty
Più risposte (1)
  Image Analyst
      
      
 il 16 Ago 2012
        How about (untested)
% Get area as function of xout.
cumulativeSum = cumsum(bin);
% For a given area, called desiredArea, 
% find the index where the cumulative sum first exceeds that area.
lim = find(cumulativeSum >= desiredArea, 1, 'first');
% lim was the index.  Now find the xout value at that index:
xOutValue = xout(lim);
Vedere anche
Categorie
				Scopri di più su Construction in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



