• Support PF! Buy your school textbooks, materials and every day products Here!

Matlab: Problem with function inputs

  • Thread starter jdawg
  • Start date
  • #1
365
2

Homework Statement


The volume V of a liquid in a partially filled ellipsoid shaped tank is given by
V = (pi/3)*(3*a-h)*(((b^2)*(h^2))/(a^2))
Develop an M-file to create a plot of volume versus depth. Here are the first few lines:
function myellipsoid(a,b,plot_title)
% Volume of horizontal ellipsoid
% Inputs:
% a - vertical semiaxis
% b - horizontal semiaxis
% plot_title - string holding plot title Test your program with:
>> myellipsoid(2,5,'Volume versus depth for ellipsoid')

I'm having trouble with this function, I'm not really sure what I'm doing wrong.

Homework Equations




The Attempt at a Solution

 

Attachments

Answers and Replies

  • #2
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,798
1,666

Homework Statement


The volume V of a liquid in a partially filled ellipsoid shaped tank is given by
V = (pi/3)*(3*a-h)*(((b^2)*(h^2))/(a^2))
Develop an M-file to create a plot of volume versus depth. Here are the first few lines:
function myellipsoid(a,b,plot_title)
% Volume of horizontal ellipsoid
% Inputs:
% a - vertical semiaxis
% b - horizontal semiaxis
% plot_title - string holding plot title Test your program with:
>> myellipsoid(2,5,'Volume versus depth for ellipsoid')

I'm having trouble with this function, I'm not really sure what I'm doing wrong.

Homework Equations




The Attempt at a Solution

From the figures attached, it looks like h can run only between 0 and 2*a. IDK why you have h running between 0 and 3*a.

In any event, when the tank is full, you should obtain a finite, non-zero value for the volume.
 
  • #3
365
2
Hmmm... I just retyped it as h = 0:(2*a); and got this error:

function myellipsoid(a,b,plot_title)

Error: Function definitions are not permitted in this context.
 
  • #4
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,798
1,666
Hmmm... I just retyped it as h = 0:(2*a); and got this error:

function myellipsoid(a,b,plot_title)

Error: Function definitions are not permitted in this context.
Ya got something wrong somewhere in the function myellipsoid.

In any event, you should be able to calculate by hand the full volume of the ellipsoid given the dimensions of the axes. If your function can't do that, then further debugging is required.
 
  • #5
365
2
oops, I tried rerunning it and it gave me the same message as earlier;

>> myellipsoid(2,5,'Volume versus depth for ellipsoid')
Not enough input arguments.

Error in myellipsoid (line 12)
h = 0:(2*a);
 
  • #6
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,798
1,666
oops, I tried rerunning it and it gave me the same message as earlier;

>> myellipsoid(2,5,'Volume versus depth for ellipsoid')
Not enough input arguments.

Error in myellipsoid (line 12)
h = 0:(2*a);
You've apparently got some disagreement between the call to myellipsoid and its definition. Since you have not provided the definition, I can't really help further.

The function myellipsoid apparently is expecting more than 3 arguments to be passed to it, or the ones you are passing are not being recognized properly.

I don't know if Matlab lets you pass numeric arguments by value. You could make up a couple of dummy variable names and assign values of a and b to those variables and see if the error goes away.
 

Related Threads for: Matlab: Problem with function inputs

  • Last Post
Replies
5
Views
734
Replies
1
Views
1K
  • Last Post
Replies
2
Views
5K
Replies
10
Views
686
  • Last Post
Replies
2
Views
2K
  • Last Post
Replies
10
Views
1K
Replies
3
Views
2K
Replies
7
Views
1K
Top