How to draw with semiology in MATLAB?
    10 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Haitham AL Satai
 le 21 Sep 2022
  
    
    
    
    
    Commenté : Haitham AL Satai
 le 21 Sep 2022
            I have below the following information:
Q = [16,32,64,128,256,512,1024];
y = [9     9     9     9     5     0     0]*0.25;
y1 = [45    37    25    21     5     0     0]*0.25;
After multiplication with 0.25 they became as below
y

y1

and the above Q is the same

when I use the semiology plot function as below
semilogy(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
I saw the x and y axis are different than what I have in Q and Y as shown below. Does this make sense? 
Do I apply it in the wrong way (I mean xlim and ylim not as the values in vectors for example x-axis (16 , 32, ...1024))? If yes, May you assist me?

4 commentaires
Réponse acceptée
  Chunru
      
      
 le 21 Sep 2022
        
      Modifié(e) : Chunru
      
      
 le 21 Sep 2022
  
      Q = [16,32,64,128,256,512,1024];
y = [9     9     9     9     5     0     0]*0.25;
y1 = [45    37    25    21     5     0     0]*0.25;
% in logscale, log(0) = -inf and it cannot be plotted
semilogy(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
xlim(Q([1 end]))
% Why not plot in linear scale when data range is not big?
figure
plot(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
% or you should change your data
Q = [16,32,64,128,256];
y = [9     9     9     9     5   ]*0.25;
y1 = [45    37    25    21     5 ]*0.25;
figure
semilogy(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
Plus de réponses (1)
  Dyuman Joshi
      
      
 le 21 Sep 2022
        The graph is correct. The y axis values are shown in log values as you wanted them to be.
And, for the last two values of Q, the corresponding values are 0 in y and y1. So they are not included for the log values.
If you want to identify the points in x axis, you can try changing the xticks, but it might result in a distorted grid. (You can do the same for yticks as well.)
Q = [16,32,64,128,256,512,1024];
y = [9     9     9     9     5     0     0]*0.25;
y1 = [45    37    25    21     5     0     0]*0.25;
semilogy(Q,y,Q,y1)
xlabel('Q oder');
ylabel('Coverage area m^2');
grid on;
%yticks(union(y,y1))
xticks(Q)
Voir également
Catégories
				En savoir plus sur Log Plots dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



