Can someone help me with my programs logic?

조회 수: 1 (최근 30일)
Joseph
Joseph 2014년 5월 12일
답변: Walter Roberson 2014년 5월 12일
I wrote this program which shows a graph in 4 subplots, each with a different view. then the program finds the min and max of the grid. I'm trying to create a flow chart of the programs logic. Does anyone know the order that the program functions? Or is it as simple as whatever is typed first is executed first? Thank You
% define x ,y and z
x = -10:1:10;
y = x;
[xGrid,yGrid] = meshgrid(x,y); % creates matrices to represent x and y
z = (1./((xGrid+3).^2 + (yGrid-1).^2 + 2)) + ((xGrid-yGrid) ./ ((xGrid-1) .^2 + (yGrid-2) .^2 + 4));
subplot(2,2,1)
surf(x,y,z)
title('Isometric View') % default view is isometric
xlabel('X')
ylabel('Y')
zlabel('Z')
subplot(2,2,2)
surf(x,y,z)
az=0; % changing elevation and azimuth can change veiwing angle
el=90;
view(az,el) % tell Matlab how to view it
title('View Normal to X-Y Plane')
xlabel('X')
ylabel('Y')
zlabel('Z')
subplot(2,2,3)
surf(x,y,z)
view(0,0)
title('View Normal to X-Z Plane')
xlabel('X')
ylabel('Y')
zlabel('Z')
subplot(2,2,4)
surf(x,y,z)
az=90;
el=0;
view(az,el)
title('View Normal to Y-Z Plane')
xlabel('X')
ylabel('Y')
zlabel('Z')
% Min/NegFunction represents the notation for an anonymous function. it
% creates a function where x is vector of independant variables.
MinFunction = @(x)(1./((x(1)+3).^2 + (x(2)-1).^2 + 2)) + ((x(1)-x(2)) ./ ((x(1)-1) .^2 + (x(2)-2) .^2 + 4));
NegFunction = @(x)(-1./((x(1)+3).^2 + (x(2)-1).^2 + 2)) + ((x(1)-x(2)) ./ ((x(1)-1) .^2 + (x(2)-2) .^2 + 4));
[xyMaxVector,zMax] = fminsearch(NegFunction,[0,3]);
xMax = xyMaxVector(1);% values of x when z is max
yMax = xyMaxVector(2);% value of min when z is max
[xyMinVector,zMin] = fminsearch(MinFunction,[0,1]);
xMin = xyMinVector(1);% values of x and y when z is min
yMin = xyMinVector(2);
fprintf('The Min Value was: z(%6.3f,%6.3f) = %6.3f\n',xMin,yMin,zMin)
fprintf('The Max Value was: z(%6.3f,%6.3f) = %6.3f\n',xMax,yMax,-zMax)

답변 (1개)

Walter Roberson
Walter Roberson 2014년 5월 12일
When there are no "if" or "for" or "while" or "break" or "continue" or "return" or "quit" or "exit", then statements are executed in sequence they appear in.

카테고리

Help CenterFile Exchange에서 NaNs에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by