声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2718|回复: 7

[1stopt] 关于一个超定方程求解

[复制链接]
发表于 2008-5-31 09:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
方程如图


  1. function q=myfun(k)
  2. uf=0.33;
  3. db=0.0149;
  4. m=1; % you can change m here m=1 2 3
  5. beta=1;
  6. beta1=sqrt((sqrt(k^2*db^2+4*k)-k*db)/(2*m^2*beta^2)+1);
  7. beta2=sqrt((sqrt(k^2*db^2+4*k)-k*db)/(2*m^2*beta^2)-1);
  8. beta3=sqrt(1+2/((1-uf)*db*m^2*beta^2));
  9. q=[beta1*beta3*(1+db*m^2^beta^2*(beta2^2+1))*tanh(m*pi*beta*beta1/2)+...
  10.     beta2*beta3*(1-db*m^2^beta^2*(beta1^2-1))*tan(m*pi*beta*beta2/2)-...
  11.     db*m^2*beta^2*(beta1^2+beta2^2)*tanh(m*pi*beta*beta3/2);
  12.     beta1*beta3*(1+db*m^2^beta^2*(beta2^2+1))*cosh(m*pi*beta*beta1/2)-...
  13.     beta2*beta3*(1-db*m^2^beta^2*(beta1^2-1))/tan(m*pi*beta*beta2/2)-...
  14.     db*m^2*beta^2*(beta1^2+beta2^2)*cosh(m*pi*beta*beta3/2)];
  15. end

复制代码


用matlab写了个m函数,本想用fsolve发现不行
所以求助于1stopt

我写的1stopt代码老说字符串不对
未命名.JPG
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-5-31 09:59 | 显示全部楼层

回复 楼主 的帖子

另外 问下1stopt有没有续行,类似于...

[ 本帖最后由 sigma665 于 2008-5-31 12:17 编辑 ]
发表于 2008-5-31 14:33 | 显示全部楼层

超定方程求解

用MAPLE 的fsolve可求出m=1时k=0.2994356158,不知是否符合你的要求
 楼主| 发表于 2008-5-31 18:18 | 显示全部楼层

回复 3楼 的帖子

可否共享下你的maple程序
发表于 2008-5-31 22:34 | 显示全部楼层

1stOpt不用换行号,不加“;",则自动视为一行。如

Function y=a+b+c+d+e+f;
等同与:
Function y=a+b+c+
                  d+e+f;

能否把你写的1stOpt代码贴出来,也好发现错在哪。

评分

1

查看全部评分

 楼主| 发表于 2008-6-1 09:10 | 显示全部楼层
  1. Title "Type your title here";
  2. Parameters k;
  3. //Variable ;
  4. Constant uf=0.33,
  5. db=0.0149,
  6. m=4,
  7. beta0=1;
  8. beta3=sqrt(1+2/((1-uf)*db*m^2*beta0^2));
  9. ConstStr beta1=sqrt((sqrt(k^2*db^2+4*k)-k*db)/(2*m^2*beta0^2)+1);
  10. beta2=sqrt((sqrt(k^2*db^2+4*k)-k*db)/(2*m^2*beta0^2)-1);
  11. Function

  12. beta1*beta3*(1+db*m^2^beta0^2*(beta2^2+1))*tanh(m*pi*beta0*beta1/2)+
  13. beta2*beta3*(1-db*m^2^beta0^2*(beta1^2-1))*tan(m*pi*beta0*beta2/2)-
  14. db*m^2*beta0^2*(beta1^2+beta2^2)*tanh(m*pi*beta0*beta3/2)=0;
  15. beta1*beta3*(1+db*m^2^beta0^2*(beta2^2+1))*cosh(m*pi*beta0*beta1/2)-
  16. beta2*beta3*(1-db*m^2^beta0^2*(beta1^2-1))/tan(m*pi*beta0*beta2/2)-
  17. db*m^2*beta0^2*(beta1^2+beta2^2)*cosh(m*pi*beta0*beta3/2)=0
复制代码


代码现在没问题了
每次算的都不一样,能否一下就给出全部解
发表于 2008-6-2 13:38 | 显示全部楼层
几点错误:
1:beta0=1;
beta3=sqrt(1+2/((1-uf)*db*m^2*beta0^2));
应该为:
beta0=1,
beta3=sqrt(1+2/((1-uf)*db*m^2*beta0^2));

2:ConstStr beta1=sqrt((sqrt(k^2*db^2+4*k)-k*db)/(2*m^2*beta0^2)+1);
beta2=sqrt((sqrt(k^2*db^2+4*k)-k*db)/(2*m^2*beta0^2)-1);
应该为:
ConstStr beta1=sqrt((sqrt(k^2*db^2+4*k)-k*db)/(2*m^2*beta0^2)+1),
beta2=sqrt((sqrt(k^2*db^2+4*k)-k*db)/(2*m^2*beta0^2)-1);
3:另外,第二个式子是否正确?

评分

1

查看全部评分

发表于 2008-6-6 10:08 | 显示全部楼层

maple程序

> restart;
> uf := .33; `δb` := 0.149e-1; m := 1; beta := 1;
> beta1 := ((sqrt(ka^2*`δb`^2+4*ka)-ka*`δb`)/(2*m^2*beta^2)+1)^(1/2); beta2 := ((sqrt(ka^2*`δb`^2+4*ka)-ka*`δb`)/(2*m^2*beta^2)-1)^(1/2); beta3 := (1+2/((1-uf)*`δb`*m^2*beta^2))^(1/2);
> eq1 := beta1*beta3(1+`δb`*m^2*beta^2*(1+beta2^2))*tanh((1/2)*m*Pi*beta*beta1)+beta2*beta3*(1-`δb`*m^2*beta^2*(beta1^2-1))*tanh((1/2)*m*Pi*beta*beta2)-`δb`*m^2*beta^2*(beta1^2+beta2^2)*tanh((1/2)*m*Pi*beta*beta3);
> fsolve(eq1, ka);
                                                                         0.2994356158

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-28 18:48 , Processed in 0.075590 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表