1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

MATLAB function creation and application

  1. Apr 9, 2012 #1
    1. The problem statement, all variables and given/known data

    *see attachment*

    2. Relevant equations



    3. 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
     

    Attached Files:

    Last edited: Apr 9, 2012
  2. jcsd
  3. Apr 9, 2012 #2
    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)
     
  4. Apr 9, 2012 #3
    lolwow Im a dumbass.

    might want to put Function in the function file huhh?
     
  5. Apr 9, 2012 #4
    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()
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: MATLAB function creation and application
  1. MATLAB Function (Replies: 0)

Loading...