Element multiplication and subtraction
    6 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
I'd like to run the following though I keep getting element multiplication/division errors:
Ron			= 0.012;
RL			= 0.003;
R			= 6.667;
D 			= 0:0.001:.999;
M			= (D/(1-D))*(1/( (2*Ron*D/(R*((1-D)^2)))+1+(RL/R)*(1/((1-D)^2)) ))
plot			(D,M);
I've several permutations of placing dots in front of multiplication, division and raise to the power signs though I just cannot seem to get this to work.
How should "M" be written so that Matlab will accept it?
Thank you
0 Kommentare
Akzeptierte Antwort
  Adam Danz
    
      
 am 26 Mär. 2019
        
      Bearbeitet: Adam Danz
    
      
 am 26 Mär. 2019
  
      This line below avoids error but that doesn't mean it does what it is intended to do. 
   %(D/(1-D))*(1 /( (2*Ron*D/(R*((1-D) ^2)))+1+(RL/R)*(1 /((1-D) ^2)) ))  %old version 
M = (D/(1-D))*(1./( (2*Ron*D/(R*((1-D).^2)))+1+(RL/R)*(1./((1-D).^2)) ))  %new version
%               _                     _                 _       _         %underline differences
M2 = (D./(1-D)).*(1./( (2.*Ron.*D./(R.*((1-D).^2)))+1+(RL./R).*(1./((1-D).^2)) ))
isequal(M,M2)
%ans =
%  logical
%   0
This is why it's critical to understand what the equation is supposed to do.  I haven't put much time into making sense of it so maybe James' version is the correct version or maybe neither answers are correct.  
0 Kommentare
Weitere Antworten (2)
  James Tursa
      
      
 am 26 Mär. 2019
        
      Bearbeitet: James Tursa
      
      
 am 26 Mär. 2019
  
      If you are unsure, then just put dots next to every * and / and ^ operation. If a scalar happens to be involved it will still work as expected. E.g.,
M = (D./(1-D)).*(1./( (2.*Ron.*D./(R.*((1-D).^2)))+1+(RL./R).*(1./((1-D).^2)) ))
3 Kommentare
  James Tursa
      
      
 am 26 Mär. 2019
				
      Bearbeitet: James Tursa
      
      
 am 26 Mär. 2019
  
			"... is a bad approach ..."
I will respectfully disagree on this one. Just looking at the variables there was obviously only one vector, namely D.  So IMO it was quite likely he was just looking for element-wise operations in calculating M ... he was just unsure where to put the dots.  Again, I am talking about this particular post only!
  Adam Danz
    
      
 am 26 Mär. 2019
				You took the time to realize that and it was a good call.  My caution is against the preface "If you are unsure...".  I don't think it is a good idea to throw a dot in, test it, and if there's no error, accept it without being certain that it's the correct correction.  My answer is a good example of that. 
Siehe auch
Kategorien
				Mehr zu Get Started with Phased Array System Toolbox finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


