24小时热门版块排行榜    

查看: 2277  |  回复: 22
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

Littlecaesar

银虫 (小有名气)

[求助] 求高手解方程组(应该不难) 已有3人参与

下面的方程组,我用matlab里的fsolve求解的,但是每次结果都不准确,fval 值一个出来0, 另一个0.036,太大了。想把这个方程组解出来,求数学大神给点指点啊!

求高手解方程组(应该不难)
Untitled.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Littlecaesar

银虫 (小有名气)

引用回帖:
5楼: Originally posted by NicoleLas at 2014-06-12 23:57:18
文本格式代码...............
   你贴个图片难道还指望可能帮助你的人对照着图片输入公式一遍?
   为自己,为他人,都得考虑一下,dingd版主算是很热心的了,如果你直接给出了文本代码,他可以很方便地用1stOpt ...

clear
clc
K0=9.5e-5;
Eg=1;
Em=0.003;
tmax=0.52e-6;
delta_i=tmax/K0;
G=0.8e-6;
delta_f=2*G/tmax;
h=0.0004;
beta=sqrt(K0/(Eg*h));
L=100;
epsilon_m=linspace(0,0.1,11)
%  1st critical strain
epsilon_m_c1=delta_i*beta*coth(beta*L)
%  2nd critical strain
A=delta_i-delta_f
alfa=sqrt(tmax/(delta_f-delta_i)/(Eg*h))
fun=@(L1_c) A*cos(alfa*(L1_c-L))+(delta_i*beta*coth(beta*L1_c)/alfa)*sin(alfa*(L-L1_c));
L1_c0=100;
opts = optimset('Diagnostics','off','Display','off');
[L1_c,fval]=fzero(fun,L1_c0,opts)
epsilon_m_c2 =-(A*alfa*sin(alfa*(L-L1_c))-(delta_i*beta*coth(beta*L1_c)/alfa)*alfa*cos(alfa*(L-L1_c)))
x=linspace(0,L,100);
for ii=1:11
   
   if epsilon_m(ii)>epsilon_m_c2
%         calculate L1 and L2
     fun=@(Lc) [ A*alfa*sin(alfa*(Lc(2)-Lc(1)))-(delta_i*beta*coth(beta*Lc(1))/alfa)*alfa*cos(alfa*(Lc(2)-Lc(1)))+epsilon_m(ii); ...
         A*cos(alfa*(Lc(1)-Lc(2)))+(delta_i*beta*coth(beta*Lc(1))/alfa)*sin(alfa*(Lc(2)-Lc(1)))];
     L0=[100,100];
     opts = optimset('TolFun',1e-7,'TolX',1e-20);
     [Lc,fval,exitflag]=fsolve(fun,L0,opts)
     L1=Lc(1);
     L2=Lc(2);
     
          for jj=1:100
%               region I
             if x(jj)<L1|x(jj)==L1
                 epsilon_g(jj)=epsilon_m(ii)-delta_i*beta*cosh(beta*x(jj))/sinh(beta*L1);
%               region II
             elseif L1<x(jj)&x(jj)<L2
                 B=delta_i*beta*coth(beta*L1)/alfa;
                 epsilon_g(jj)=epsilon_m(ii)+A*alfa*sin(alfa*(x(jj)-L1))-B*alfa*cos(alfa*(x(jj)-L1));
             elseif x(jj)>L2
                 epsilon_g(jj)=0;
             end
          end
                 
      plot(x,epsilon_g,'g')
      hold on
      axis([0,200,0,0.12])
    end

end
6楼2014-06-13 00:08:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 23 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
B值没给?还有出了图片最好再给出文本。
2楼2014-06-12 23:10:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Littlecaesar

银虫 (小有名气)

谢谢楼上,刚才是没有给出B值,重新写了一下。BW,什么文本?不懂。。。
求高手解方程组(应该不难)-1
Untitled.png

3楼2014-06-12 23:27:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Littlecaesar

银虫 (小有名气)

引用回帖:
2楼: Originally posted by dingd at 2014-06-12 23:10:28
B值没给?还有出了图片最好再给出文本。

改过来了,,,BW,什么文本?
4楼2014-06-12 23:29:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见