MATLAB function creation and application

  • Thread starter GE2014
  • Start date
  • #1
11
0

Homework Statement



*see attachment*

Homework Equations





The Attempt at a Solution



Alright, so we just began messing with functions in our class and I'm kinda struggling to grasp this assignment. I believe it should begin like this:


shape = menu('Choose a shape','1: Sphere','2: Isosceles Triangular Pyramid','3: cylinder','4: Cone','5: Rectangular Prisim','-1: Exit');
if (shape<-1||shape>5||shape==0)
disp('Invalid Entry')
end
while shape~=-1
switch shape
case 1
r=input('Enter the radius of the sphere (Inches): ');
if (r<0)
disp('Invalid Entry')

end


sphereArea = surfaceAreaShapes(r);
sphereVolume = volumeShapes(r)
%calling the functions^^^^
%note: Im only showing 1 case of the switch statement and I realize the while loop is . %missing an end.


now that I called the functions, now I have to make em...(surfaceAreaShapes.m and volumeShapes.m) This is where I get super confused. I have a general idea that I'll perform an if/switch statement in order to call up the right formula that corresponds with the shape the user inputs. Just not real sure on the correct formatting of a function.

...Heres what I got for surfaceAreaShapes.m

area=surfaceAreaShapes(radius);

the parameter radius I set doesn't seem like it would make sense considering I will have other things that will need to be put in in order to determine area.

*sorry in advance its not indented properly. That bugs the hell outta me
 

Attachments

Last edited:

Answers and Replies

  • #2
11
0
Updated attempt since class this morning


shapesFunc.m

clc
clear
shape = menu('Choose a shape','1: Sphere','2: Isosceles Triangular Pyramid','3: cylinder','4: Cone','5: Rectangular Prisim','-1: Exit');
if (shape<-1||shape>5||shape==0)
disp('Invalid Entry')
end
while shape~=-1
switch shape
case 1

r=input('Enter the radius of the sphere (Inches): ');
sphereArea = surfaceAreaShapes(r)




sphereArea=round(sphereArea*100)/100;
sphereVolume=round(sphereVolume*100)/100;
fprintf('For a radius of %g\n',r)
fprintf('Surface Area = %g square inches\n',sphereArea)
fprintf('Volume = %g square inches\n',sphereVolume)


end
end



surfaceAreaShapes.m (function)​
area=surfaceAreaShapes(radius);
global r b h l s w shape
switch shape
case 1

if (r<0)
disp('Invalid Entry')
break
end
%calculate surface area and volume
sphereArea = 4*pi*(r^2);
sphereVolume = (4/3)*pi*(r^3);
end

and heres the error statement I keep getting
Attempt to execute SCRIPT surfaceAreaShapes as a function:
C:\Users\Micheal\Documents\MATLAB\surfaceAreaShapes.m

Error in shapesFunc (line 12)
sphereArea = surfaceAreaShapes(r)
 
  • #3
11
0
lolwow Im a dumbass.

might want to put Function in the function file huhh?
 
  • #4
11
0
Update:

clc
clear
shape = menu('Choose a shape','1: Sphere','2: Isosceles Triangular Pyramid','3: cylinder','4: Cone','5: Rectangular Prisim','-1: Exit');
if (shape<-1||shape>5||shape==0)
disp('Invalid Entry')
end
while shape~=-1
switch shape
case 1

r=input('Enter the radius of the sphere (Inches): ');
area = surfaceAreaShapes()




sphereArea=round(sphereArea*100)/100;
sphereVolume=round(sphereVolume*100)/100;
fprintf('For a radius of %g\n',r)
fprintf('Surface Area = %g square inches\n',sphereArea)
fprintf('Volume = %g square inches\n',sphereVolume)


end
end



Function
function area=surfaceAreaShapes(radius);
global r b h l s w
shape = menu('Choose a shape','1: Sphere','2: Isosceles Triangular Pyramid','3: cylinder','4: Cone','5: Rectangular Prisim','-1: Exit');
switch shape
case 1

if (r<0)
disp('Invalid Entry')
return
end
%calculate surface area and volume
sphereArea = 4*pi*(r^2);
sphereVolume = (4/3)*pi*(r^3);
end
end


Error message: Error in surfaceAreaShapes (line 2)
global r b h l s w

Output argument "area" (and maybe others) not assigned during call to
"C:\Users\Micheal\Documents\MATLAB\surfaceAreaShapes.m>surfaceAreaShapes".

Error in shapesFunc (line 12)
area = surfaceAreaShapes()
 

Related Threads on MATLAB function creation and application

  • Last Post
Replies
0
Views
1K
  • Last Post
Replies
1
Views
2K
  • Last Post
Replies
3
Views
2K
  • Last Post
Replies
3
Views
5K
  • Last Post
Replies
1
Views
10K
  • Last Post
Replies
16
Views
3K
  • Last Post
Replies
0
Views
3K
  • Last Post
Replies
4
Views
2K
Replies
0
Views
971
  • Last Post
Replies
8
Views
6K
Top