Saving Loop Values to Array with Non-Integer Index

Hi All,
I'm trying to save the results of the iteration loop to an array for plotting, "r" and "x" specifically. My issue is that I can't figure out what to use as an index. My code is below, PLEASE HELP!
R = 0.6;
b = 0.1;
ro = R*b;
a = asind(b);
function [pl] = Geodesic(R, b, ro, a)
% This function plots a geodescic contour
% Initial Conditions
w = 0;
r = R;
x = 0;
Dr = 0;
Dx = 0;
Dw = 1;
hold on
for w = 0:Dw:90
rm = r / ( cosd(w) * (2-tand(a).^2) );
r(w) = r - Dr;
x(w) = x + Dx;
a = asind(ro/r);
Dx = rm * Dw*cosd(w);
Dr = rm * Dw * sind(w);
pl = plot(r(w),x(w),'k.');
title('Geodesic Dome Contour');
xlabel('Distance From Center');
ylabel('Y Position');
end
end

 Accepted Answer

Make the r and x as output arguments in the function
function [pl,r,x] = Geodesic(R, b, ro, a)
% This function plots a geodescic contour
% Initial Conditions
w = 0;r = R;x = 0;Dr = 0;Dx = 0;Dw = 1;
hold on
for w = 0:Dw:90
rm = r / ( cosd(w) * (2-tand(a).^2) );
r(w) = r - Dr;
x(w) = x + Dx;
a = asind(ro/r);
Dx = rm * Dw*cosd(w);
Dr = rm * Dw * sind(w);
pl = plot(r(w),x(w),'k.');
title('Geodesic Dome Contour');
xlabel('Distance From Center');
ylabel('Y Position');
end
end
Now r and x will be reflected in workspace, now please do whatever you want

3 Comments

Thank you for responding Kaylan!
The output displays final values instead of all iterations, how do you think I should proceed?
Its the array, in each iteration generates single x and r values, it reflected as an array
%Like x=[6 7 9 -0........]
Modifications
function [pl,r,x] = Geodesic(R, b, ro, a)
% This function plots a geodescic contour
% Initial Conditions
w= 0;r(1)=R;x(1)= 0;Dr = 0;Dx = 0;Dw = 1;
hold on
for w = 2:Dw:90
rm = r(w-1)/ ( cosd(w) * (2-tand(a).^2) );
r(w) = r(w-1) - Dr;
x(w) = x(w-1) + Dx;
a = asind(ro/r(w));
Dx = rm * Dw*cosd(w);
Dr = rm * Dw * sind(w);
end
plot(r,x,'k.');
title('Geodesic Dome Contour');
xlabel('Distance From Center');
ylabel('Y Position');
end
Thank you Kalyan! It's working now!

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!