how can i convert from one value to multi values
    7 views (last 30 days)
  
       Show older comments
    
how can i replace value of 
alpha = 0.5
 by multi values  as 
alpha =[0.1 0.3 0.5 0.6 0.66 0.9 1]
in the following code:
alpha = 0.5;
u0    = 0;
a_k   = @(k) (k + 1)^(1 - alpha) - (k)^(1 - alpha);
n     = 100;
a     = 0;
b     = 1; 
h     = (b - a) / n;
t     = a:h:b;
f = @(t,u) (-u.^4) + (gamma(2*alpha+1) ./ gamma(alpha+1) ) .* (t.^alpha) - ...
         (2./gamma(3 - alpha) ) .* (t.^(2 - alpha)) + (t.^(2*alpha) - t.^2).^4;
up = zeros(1, n);
uc = zeros(1, n);
zp = zeros(1, n);
uc = zeros(1, n);  % ??? is this your "u"?
C = gamma(2 - alpha) * h ^ alpha;
for ni = 1:n
   up(ni) = a_k(ni - 1) * u0;
   for k = 1:ni - 1
       up(ni) = up(ni) + (a_k(ni - 1 - k) - a_k(ni - k)) * uc(k);
   end
   zp(ni) = C * f(t(ni), up(ni));
   uc(ni) = up(ni) + C * f(t(ni), up(ni) + zp(ni));
end
fprintf('%g\n', up(1:20))
2 Comments
Accepted Answer
  Image Analyst
      
      
 on 20 Jun 2022
        Try this:
% Define all the alphas that we want to use.
allAlpha =[0.1 0.3 0.5 0.6 0.66 0.9 1]
% Iterate the code for each value of alpha.
for kk = 1 : length(allAlpha)
    alpha = allAlpha(kk);
    % Existing code below:
    u0    = 0;
    a_k   = @(k) (k + 1)^(1 - alpha) - (k)^(1 - alpha);
    n     = 100;
    a     = 0;
    b     = 1; 
    h     = (b - a) / n;
    t     = a:h:b;
    f = @(t,u) (-u.^4) + (gamma(2*alpha+1) ./ gamma(alpha+1) ) .* (t.^alpha) - ...
        (2./gamma(3 - alpha) ) .* (t.^(2 - alpha)) + (t.^(2*alpha) - t.^2).^4;
    up = zeros(1, n);
    uc = zeros(1, n);
    zp = zeros(1, n);
    uc = zeros(1, n);  % ??? is this your "u"?
    C = gamma(2 - alpha) * h ^ alpha;
    for ni = 1:n
        up(ni) = a_k(ni - 1) * u0;
        for k = 1:ni - 1
            up(ni) = up(ni) + (a_k(ni - 1 - k) - a_k(ni - k)) * uc(k);
        end % of k loop
        zp(ni) = C * f(t(ni), up(ni));
        uc(ni) = up(ni) + C * f(t(ni), up(ni) + zp(ni));
    end % of ni loop
    fprintf('%g\n', up(1:20))
end % of kk loop
6 Comments
More Answers (1)
  Ayush Kumar Jaiswal
      
 on 19 Jun 2022
        
      Edited: Ayush Kumar Jaiswal
      
 on 19 Jun 2022
  
      You want to calculate that function at different values of alpha, it can done using 
arrayfun (func, arr);
See Also
Categories
				Find more on Modify Image Colors in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!