그래서 두 개의 .m 파일로 구성되었습니다. 이것은 내가 데 문제의 예이며, 수학은 의사 수학에게 있습니다함수의 인수로 함수를 전달하십시오.
rectangle.m :
function [vol, surfArea] = rectangle(side1, side2, side3)
vol = ...;
surfArea = ...;
end
ratio.m : 나는 어떻게 확실 해요 무엇
function r = ratio(f,constant)
% r should return a scaled value of the volume to surface area ratio
% based on the constant provided.
% This line doesn't work but shows what I'm intending to do.
[vol,surfArea] = f
r = constant*vol*surfArea;
end
해야 할 일은 직사각형 함수를 f로 전달한 다음 ratio 함수 내에서 vol 및 surfArea에 액세스하는 것입니다. 필자는 함수 핸들과 함수 함수에 대한 Mathworks 페이지를 읽었으며이를 수행하는 방법을 알아 내려고 빈 페이지를 만들었습니다. MATLAB을 처음 사용하기 때문에 도움이되지 않습니다.
정보가 더 필요하면 알려주세요.
감사합니다.
, 어떻게 할 인수가없는 경우 함수가 결과를 제공 할 것으로 기대하십니까? –
그래서 전달 된 인수를 잘못 (잘못) 구상 중입니다. '비율 (직사각형 (1,2,3), 2)'. 그러나 이것이 올바른 답에 더 가깝다고 생각합니다. '비율 (@ 직사각형, 2) '또는이 비율 (@ (x) 비율 (1,2,3), 2). 마지막 두 경우에서 사각형 함수의 출력에 액세스하는 방법을 이해하지 못합니다. –
당신은 정말로 어떤 종류의 기능적 클로저를 생성해야합니까? 예제에서와 같이, 함수 핸들을 사용할 필요가 없습니다. 호출자가 먼저'f'를 먼저 호출 한 다음, 결과'vol'와'surfArea'를'ratio'의 여분의 인수로 전달하십시오 (즉,'ratio (사각형 (1,2,3), 2)'아이디어) – Notlikethat