Value for each loop

14 views (last 30 days)
SUSHANT CHAVAN
SUSHANT CHAVAN on 30 Aug 2019
Commented: Star Strider on 1 Sep 2019
v0=0.01;
y=[0.094 0.15]
for c0=[1 2 5 6]
for c1=[5 6 8 7]
[y,v] = ode45(@(y,v)(([c0]/v^2)-([c1]/v)),y ,v0);
disp(v);
end
end
%%How would I get value of 'v' for each combination of c0 and c1. As there is 16 different combinations of c0 and c1 is possible.
%%How to get value for each combination

Accepted Answer

Star Strider
Star Strider on 30 Aug 2019
Your only option is likely to iterate over the vectors in nested loops:
v0=0.01;
y =[0.094 0.15];
yv = linspace(min(y), max(y), 25);
c0=[1 2 5 6];
c1=[5 6 8 7];
for k1 = 1:numel(c0)
for k2 = 1:numel(c1)
[y,v(k1, k2, :)] = ode45(@(y,v)((c0(k1)/v^2)-(c1(k2)/v)),yv ,v0);
% disp(v);
end
end
Plotting them is going to be something of a challenge. This could be an option:
figure
hold all
for k = 1:size(v,3)
surf(c0, c1, v(:,:,k))
end
hold off
grid on
xlabel('c0')
ylabel('c1')
zlabel('zv')
view(-45, 20)
  2 Comments
SUSHANT CHAVAN
SUSHANT CHAVAN on 1 Sep 2019
Loads of Thanks....
Star Strider
Star Strider on 1 Sep 2019
As always, my pleasure!

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!