Hello everyone, In the following code, I am trying to record V values in the matrix V_mat not just the last value. Please help me how can I do it.
1 view (last 30 days)
Show older comments
Accepted Answer
Geoff Hayes
on 13 Oct 2021
@Mohammad Dawoodzada - initialize the matrix outside of your loops (rather than on each iteration of the inner loop) and keep track of which index to insert the new V into. For example,
V_mat = zeros(10, 4); % initialize here
index = 1; % current index variable
for r = Ri:1:Ro
for Theta = 3:1:6
Z1 = r*cos(Theta)*cos(Beta)-((P*Theta)/(2*pi))*sin(Beta);
Z2 = r*cos(Theta)*cos(Beta)-(((P*Theta)/(2*pi))-(P/N))*sin(Beta);
if Z2>Zwl && Z1>Zwl
dT = 0;
elseif Z2>=Zwl && Z1<= Zwl
dT = ((Zwl-Z1)/(Z2-Z1))*(P/N)*r;
elseif Z2<Zwl && Z1<Zwl
dT = (P/N)*r;
else
fprintf('No result was found')
end
fun = @(x,y) dT+0*x+0*y;
V = integral2(fun , Ri, Ro, 0, 2*pi);
V_mat(index) = V; % update V_mat
index = index + 1; % increment index
end
end
More Answers (0)
See Also
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!