2017-10-22 1 views
-1

나는 matlab에서 코스를 수강 중이며 assignment이 붙어 있습니다.원추형 컵의 부피와 면적을 찾는 것에 대한 배정

는 내 기능 코드입니다. 그러나 반지름의 입력 값으로 3을 입력하면 810.4933의 결과를 얻습니다. 나는 확실히 그렇지 않습니다.

기능 arad = funcup (r)

v = 10;

arad = pirsqrt ((r^2) + ((3 * v/pi * r^2))); 내가 어디서부터 시작 해야할지하지 않기 때문에

나는 코드의 세트를 두지 않았다. 그는 또한 전역 변수를 사용하는 대신 전역 변수를 가르치지 않았기 때문에 상수를 사용할 수 있다고 언급했다.

도움이 될 것입니다.

enter image description here

기능 할당에 지정된 영역을 계산 : 다음 반경 및 고도의 관점에서

답변

-1

영역은 명령 창에서

%%cone_area 
%Computes the area of a cone. 
%Depends on a globally defined volume V 
function area = cone_area(r) 
    global V; 
    area = sqrt(pi^2 * r^6 + 9 * V^2)/r; 
end 

하면 V를 선언해야 같은 글로벌 변수로

이런 식으로 cone_area은 V에 액세스 할 수 있습니다.

영역을 최소화하는 r의 값을 계산하려면 합리적인 상한선이 주어진 볼륨입니다. 사용 : fminbnd :

min_r = fminbnd(@cone_area, 0, V) 

필요에 따라 상한을 자유롭게 조정하십시오. 이것은 올바른 방향으로 나아갈 것입니다.

fminbnd에 대한 자세한 내용은 Matlab's site에서 찾을 수 있습니다. 전역 변수와 그 사용법에 대한 자세한 내용은 here

+0

입니다. xero smith가 나머지 작업을 수행합니다. – Jessie

+0

@Jessie 환영합니다. upvote하십시오. –

+0

할당을 위해 C 섹션에서 물어 본 것처럼 함수를 플로팅하려했지만 직선을 얻고 있습니다. fminbnd 함수를 사용하여 플롯하는 방법을 알지 못하기 때문에 뭔가 잘못 될 수 있습니다. 이것은 내가 그렸던 것입니다. fplot (min_r, [0 10]) – Jessie