i not able to find error..not getting right plot
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
clc;
clear all;
k=1;
g=0.01:.1:6;
lambda=2;
b=2;
c=1;
l=2;
for x=0.01:.1:6
  T=[];
  P=(0.5*lambda)/((b^(lambda*c))*gamma(c));
  Q=(k^0.5)*l^(lambda*c-0.5)/((2*pi)^(0.5*(l+k)-1));
  R=evalin(symengine, sprintf('meijerG([[1],[]], [[1,0.5],[]],%f)',x^2));
  T=[T P*Q*R];
end
plot(g,T)
Respuesta aceptada
  dpb
      
      
 el 17 de Ag. de 2015
        for x=0.01:.1:6
  T=[];
  ...
  T=[T P*Q*R];
end
plot(g,T)
You wipe out T every pass thru the loop so the result is simply the last P*Q*R computed. Move that outside the loop altho "growing" an array like this dynamically is not good practice; use preallocation and fill instead.
T=zeros(size(0.01:0.1:6));  % preallocate
ix=0;                       % array index
for x=0.01:0.1:6
  ...
  ix=ix+1;
  T(ix)=P*Q*R;
end
Or, use the loop for an integer variable and compute x dynamically as x=x+dx;
4 comentarios
  dpb
      
      
 el 18 de Ag. de 2015
				In that case, you've got to allocated a square array instead of a vector and store into it...
T(ix,:)=P*Q*R;
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


