24小时热门版块排行榜    

查看: 806  |  回复: 8
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

孔方兄

铜虫 (初入文坛)

[交流] 【求助】一个生物类的公式如何反编译(悬赏20)

本人是学习生物类的,数学很糟糕,悬赏20个金币,求助一公式反编译。
X=363.1888+y* 23.25622-y的平方* 1.745972+y的立方*0.0552203,
要求输入x,得到y值。
如果有人能用vb实现同样的功能,同样有奖。
谢谢个位高手出手相助。

[ Last edited by csfn on 2008-11-30 at 11:53 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

madonion

金虫 (正式写手)

★ ★ ★
suntao1982(金币+3,VIP+0):辛苦了,欢迎常来!
找到一个现成的,不过是c语言的
用卡丹公式解一元三次方程

#include

#include

#include

//////////////////函数--用卡丹公式解一元三次方程/////////////////

void fun(double a,double b,double c,double d,

   double *real_y1,double *real_y2,double *real_y3,

   double *imag_y1,double *imag_y2,double *imag_y3)

{

double p,q,r,u,v,g,h,fai;

p=(3.0*a*c-b*b)/(3*a*a);

q=(2.0*pow(b,3.0)-9*a*b*c+27.0*a*a*d)/(27.0*pow(a,3.0));

r=b/(3.0*a);

h=pow(q/2.0,2.0)+pow(p/3.0,3.0);

g=sqrt(h);

if(h>=0)

{

  if(-q/2.0+g<0)

  u=-pow(fabs(-q/2.0+g),1.0/3.0);

  else

  u=pow((-q/2.0+g),1.0/3.0);

  if(-q/2.0-g<0)

  v=-pow(fabs(-q/2.0-g),1.0/3.0);

  else

  v=-pow((-q/2.0-g),1.0/3.0);

  if(h==0)

  {

   *real_y1=u+v-r;            *imag_y1=0;

      *real_y2=-(u+v)/2-r;       *imag_y2=0;

   *real_y3=-(u+v)/2-r;       *imag_y3=0;

  }

  else

  {

   *real_y1=u+v-r;       *imag_y1=0;

   *real_y2=-(u+v)/2;    *imag_y2=sqrt(3.0)*(u-v)/2;

   *real_y3=-(u+v)/2;    *imag_y3=-sqrt(3.0)*(u-v)/2;

  }

}

else

{

  fai=acos((-q/2)/(sqrt(pow(fabs(p),3)/27)));

  *real_y1=2*sqrt(fabs(p)/3.0)*cos(fai/3.0)-r;

  *real_y2=-2*sqrt(fabs(p)/3.0)*cos((fai+3.1415926)/3.0)-r;

        *real_y3=-2*sqrt(fabs(p)/3.0)*cos((fai-3.1415926)/3.0)-r;

  *imag_y1=0;   *imag_y2=0;    *imag_y3=0;

}

}

//////////////////////////////////主函数////////////////////////////////

void main()

{

  double a,b,c,d;

  double real_x1,real_x2,real_x3;

  double *preal_x1=&real_x1;

  double *preal_x2=&real_x2;

  double *preal_x3=&real_x3;

  double imag_x1,imag_x2,imag_x3;

  double *pimag_x1=&imag_x1;

  double *pimag_x2=&imag_x2;

  double *pimag_x3=&imag_x3;

  cout<<"请输入方程的系数a,b,c,d:"<<"\n"<
  cout<<"系数a=";

  cin>>a;

  cout<
  cout<<"系数b=";

  cin>>b;

  cout<
  cout<<"系数c=";

  cin>>c;

  cout<
  cout<<"系数d=";

  cin>>d;

  cout<
  fun(a,b,c,d,preal_x1,preal_x2,preal_x3,pimag_x1,pimag_x2,pimag_x3);

  cout<<"  "<<"   "<<"根的实部"<<"      "<<"根的虚部"<<"\n"<
  printf("x1   %.5f      %.5f\n\n",real_x1,imag_x1);

  printf("x2   %.5f      %.5f\n\n",real_x2,imag_x2);

  printf("x3   %.5f      %.5f\n\n",real_x3,imag_x3);

}
6楼2008-07-19 20:05:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

595304082syl

木虫 (小有名气)

上网搜搜一元三次方程的万能公式,照着做就行了
2楼2008-07-18 10:47:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

spkeey

金虫 (正式写手)

★ ★
suntao1982(金币+2,VIP+0):xiexie
三次方程可能有一个值对应几个自变量的情况(不符合函数定义),只能说在某个区间上的反函数。

你的导数  x=23.25622-1.745972y1+0.0552203*y2 (二次可能经过X轴)算了下没有经过0。是单调的,不用分开讨论。。算你运气。。。。
可以求反函数。

数值上可以这样处理的:

y=a+bx+cx2+dx3
等效于求
0=(a-y)+bx+cx2+dx3 的根。。

===========
此有公式。

[ Last edited by spkeey on 2008-7-19 at 03:37 ]
SPKEEY
3楼2008-07-18 22:13:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

madonion

金虫 (正式写手)

★ ★ ★
suntao1982(金币+3,VIP+0):辛苦了,欢迎常来!
卡丹公式
确定一般的三次方程的根的公式.
如果用现在的数学语言和符号,卡丹公式的结论可以借助于下面这样一种最基本的设想得出。
假如给我们一个一般的三次方程:
ax3+3bx2+3cx+d=0 (1)
如果令
x=y-b/a
我们就把方程(1)推导成
y3+3py+2q=0 (2)
其中 p=c/a-b2/a2,2q=2b3/a3-3bc/a2+d/a 。
借助于等式
y=u-p/u
引入新变量u 。把这个表达式带入(2),得到:
(u3)2+2qu3-p3=0 (3)
由此得
u3=-q±√(q2+p3),
于是
y=3√(-q±√(q2+p3))-p/3√(-q±√(q2+p3)) 。
=3√(-q+√(q2+p3))+3√(-q-√(q2+p3)) 。
(最后这个等式里的两个立方根的积等于-p 。)
这就是著名的卡丹公式。
如果再由y转到x,那么,就能得到一个确定一般的三次方程的根的公式。
4楼2008-07-19 20:01:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[职场人生] 40+中年人失业后,还能找到好工作吗? +11 xqy2009 2026-10-13 13/650 2026-10-15 21:32 by bear2007
[有机交流] 用NBS溴化时溶剂除了CCl4外还有什么 +3 18834002860 2026-10-12 6/300 2026-10-15 14:30 by 长沙摩尔信息科�
[基金申请] 申请科研项目纯靠实力能成功吗? 200+7 David1982 2026-10-13 11/550 2026-10-15 10:30 by zyqchem
[硕博家园] 极限拉扯,如何抉择 +11 Isak0320 2026-10-12 15/750 2026-10-14 21:55 by 猫鱼不是鱼
[论文投稿] 二审4个多月了还是Awaiting Reviewer Scores 10+3 纳斯达克ML 2026-10-11 4/200 2026-10-14 17:30 by babero
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
信息提示
请填处理意见