matlab跳出循环函数吗,如何在MATLAB中调用for循环中的函数?

我想在这样的循环中调用(执行)一个m文件(函数):

global m, r

m = 2;

for n = 2:10;

for r1 = 0:n-m;

r2 = n-m-r1;

r = [r1,r2];

[Call the function here?????????]

end

end

这是功能:

function main

x0 = [-0.5403,0.5471];

fsolve(@fcn,x0)

function z = fcn(X)

rand('twister',5409);

global m, r

a = rand(m,1);

for i = 1:m

sm(i) = 0.0;

for l = m-i+1:m

sm(i) = sm(i)+r(l);

end

s = 1.0/(i+sm(i));

g(i) = (a(i))^s;

end

prod = 1.0;

for k = 1:m

prod = prod * g(m+1-k);

u(k) = 1.0-prod;

x(k) = (sqrt(3)/pi)*log(u(k)/(1-u(k)));

end

sum = 0;

sum1 = 0;

sum2 = 0;

for j = 1:m

sum = sum+(r(j)+2)*(1/(1+exp((-pi/sqrt(3))*((x(j)-X(1))/X(2)))));

sum1 = sum1+(r(j)+2)*((x(j)-X(1))/X(2))*(1/(1+exp((-pi/sqrt(3))*((x(j)-X(1))/X(2)))));

sum2 = sum2+(x(j)-X(1))/X(2);

end

z(1) = pi/(X(2)*sqrt(3))*(-m+sum);

z(2) =(-1/X(2))*(m+(pi/sqrt(3))*(sum2-sum1));

非常感谢你的帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值