查看单个帖子
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 我如何在Matlab中将值传递给子函数?输出错误?

下面是我在Matlab中的代码,行和=(h / 2)*(f(a)+ f(b))+ h; Matlab说,当我尝试调用f(x)函数时,我必须有很多输出。我的f(x)函数有问题吗

function Trapezoid_Uniform(a,b,n) h = (b - a)/n; sum = (h/2) * (f(a) + f(b)) + h; for i = 1:n-1 x = a + i*h; sum = sum + f(x); end sum = sum*h; disp(sum); end function f(z) f = exp(z); end

回答:

您需要在函数中指定返回的变量。例如,在C ++中有一个明确的return语句-MATLAB如何知道需要返回什么?您可以在签名中指定它,即本例中为f_of_z 。

function f_of_z = f(z) f_of_z = exp(z); end

更多&回答...
poster 当前离线   回复时引用此帖