全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1518 2
2014-07-16
建立了如下的m函数:
function ff=djf(p1)
pe=10;pw=4;la=0.001;lc=0.2;a=(lc-la)/lc;b=1/la;rw=0.1;re=100;
  g=@(r,p1)((b*(p1-pw)/log(re/rw)-a*r+r+sqrt((a*r-r-b*(p1-pw)/log(re/rw)).^2+4*a*b*r*(p1-pw)/log(re/rw)))./(2*b*r));
   ff=pe-pw-quadl(@(r)g(r,p1),0.1,re);
end
根据该函数,可以用fsolve求解
%[x,feval]=fsolve(@djf,6,optimset('Display','off','TolX',1e-8,'TolFun',1e-8))
请问:需要根据不同的re值(re变成向量),用arrayfun函数批量处理,这个函数该怎么修改?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-7-16 10:13:10
把帖子发到悬赏板块吧楼主,重赏之下必有勇夫
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-7-17 09:23:19
function ff=djf(p1,re)

pe=10;pw=4;la=0.001;lc=0.2;a=(lc-la)/lc;b=1/la;rw=0.1;

  g=@(r,p1)((b*(p1-pw)/log(re/rw)-a*r+r+sqrt((a*r-r-b*(p1-pw)/log(re/rw)).^2+4*a*b*r*(p1-pw)/log(re/rw)))./(2*b*r));
   ff=pe-pw-quadl(@(r)g(r,p1),0.1,re);
end

   
   

%主程序调用文件
% [x,feval]=fsolve(@djf,6,optimset('Display','off','TolX',1e-8,'TolFun',1e-8))
%不同生产时间,产量不同,用稳态逼近方法所对应的供给半径不同。选择不同半径,可以求得折算压力和修正系数
%以下是批处理主程序代码
% q=[1:100];
% for i=1:100
% re(i)=0.1*exp(0.0864*2*pi*10*6/q(i));
% end
% re=re';
% arrayfun(@(xx)fsolve(@(x)djf(x,xx),6),re)
%arrayfun要批处理的参数是xx.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群