2016-02-19 3 views
0
function [ surface_area, volume ] = cube_and_sphere_calculator(geometry,l_r) 
if geometry == 1 
    surface_area = 6 * l_r^2 
    volume = l_r^3 
elseif geometry == 0 
    surface_area = 4*pi*l_r^3 
    volume = (4/3)*pi*l_r^3 
else 
    disp('you have to choose a value that is either equal to one if you want to calculate the surface area and the volume of a cube or equal to zero if you want to calculate the surface area and the volume of a sphere') 
end 
end 

Если я поставил точки с запятой после формул, matlab дает только одну выходную переменную: ans. Этот ответ равен площади поверхности. Я хочу две выходные переменные, и я хочу, чтобы они были поверхностными и объемными. Почему это не работает?Как получить две выходные переменные в MATLAB?

ответ

0

Из MatLab документации Declare function

function [m,s] = stat(x) 
n = length(x); 
m = sum(x)/n; 
s = sqrt(sum((x-m).^2/n)); 
end 

И вызвать функцию.

values = [12.7, 45.4, 98.9, 26.6, 53.1]; 
[ave,stdev] = stat(values) 

Таким образом, вы вызываете функцию так же, как ее записываете.