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)

Accepted Answer

Geoff Hayes
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;
fprintf('No result was found')
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

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!