我正在参加matlab课程并获得了assignment附件。
下面是我的功能代码。但是当我输入3作为半径的输入值时,我得到810.4933的输出,我很确定这是不对的。
功能arad = funcup(r)
V = 10;
阿拉德= pirsqrt((R ^ 2)+((3 * V / PI * R ^ 2)^ 2));
端
我没有放置任何代码集,因为我不知道从哪里开始。他还提到,对于(b。)而不是使用全局变量,我们可以使用常量,因为他没有教过全局变量。
非常感谢任何帮助。
答案 0 :(得分:-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
声明为全局变量,如此
>>> global V;
这样cone_area
可以访问V。
要计算最小化Area的r值,合理的上限是给定的体积。使用fminbnd
:
min_r = fminbnd(@cone_area, 0, V)
根据需要随意调整上限。这可以让你走上正确的轨道。
您可以从Matlab's site找到fminbnd
的详细信息。还可以找到全局变量及其用法的详细信息here