function that calculates volume and surface area of a sphere

조회 수: 49 (최근 30일)
Desperado Murphy
Desperado Murphy 2014년 5월 14일
답변: TED MOSBY 2024년 9월 2일
Write a function that calculates and returns the volume and surface area of a sphere V and S respectively with radius R. The function should check the input value of R (real and positive). If the user enters more than one value R, your function should automatically plot volume V as a function of radius R as well as surface area S as a function of radius R. Assume that R is in meters. Use subplot for your figure.
  댓글 수: 2
Image Analyst
Image Analyst 2021년 1월 2일
이동: Dyuman Joshi 2023년 11월 17일
Yelbatyr, your post is not an Answer to Desperado's 6 year old question, it's basically just a restatement of the original question. The pi symbol is "pi", so if you would have posted a real answer would have included lines like
volume = (4/3) * pi * r.^3;
surfaceArea = 4 * pi * r .^ 2;
Now you just need to add the function line.
Walter Roberson
Walter Roberson 2023년 2월 24일
이동: Dyuman Joshi 2023년 11월 17일
Hints:
In MATLAB, the numeric approximation of π is pi()
In MATLAB, there is no implied multiplication. You must use a multiplication operator

댓글을 달려면 로그인하십시오.

답변 (1개)

TED MOSBY
TED MOSBY 2024년 9월 2일
Hi,
To calculate and return the volume and surface area of a sphere, while also plotting these quantities if multiple radii are provided, I wrote an example MATLAB function as follows:
% call the function
[volume, surfaceArea] = sphereMetrics([1, 2, 3, 4]);
function [V, S] = sphereMetrics(R)
% sphereMetrics calculates the volume and surface area of a sphere.
% Inputs:
% R - Radius of the sphere (can be a scalar or vector)
% Outputs:
% V - Volume of the sphere(s)
% S - Surface area of the sphere(s)
% Check if R is a real positive number
if any(~isreal(R) | R <= 0)
error('Radius must be a real positive number.');
end
% Calculate volume and surface area
V = (4/3) * pi * R.^3;
S = 4 * pi * R.^2;
% If more than one radius is provided, plot the results
if numel(R) > 1
figure;
% Plot Volume as a function of Radius
subplot(2, 1, 1);
plot(R, V, 'b-o');
xlabel('Radius (m)');
ylabel('Volume (m^3)');
title('Volume of Sphere as a Function of Radius');
grid on;
% Plot Surface Area as a function of Radius
subplot(2, 1, 2);
plot(R, S, 'r-o');
xlabel('Radius (m)');
ylabel('Surface Area (m^2)');
title('Surface Area of Sphere as a Function of Radius');
grid on;
end
end
Hope this resolves your query!

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by