24小时热门版块排行榜    

Znn3bq.jpeg
查看: 665  |  回复: 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的回帖

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的回帖

madonion

金虫 (正式写手)

上面的是网上搜的,不太完全,最好找本数学手册,找卡丹公式,就是一元三次方程的球根公式,直接按着编程就行,很简单的
5楼2008-07-19 20:03:20
已阅   回复此楼   关注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的回帖

匿名

用户注销 (小有名气)


suntao1982(金币+1,VIP+0):xiexie
本帖仅楼主可见
7楼2008-07-20 09:42:57
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

孔方兄

铜虫 (初入文坛)

看了大家的回答,真是万分感谢,从上大学开始就没有学过数学了,对大家的回答真是一头雾水,卡丹公式,看样子,我前面的想法太简单了,以为可以得到一个简单的方程式。
关于金币,实在是不知道该给谁?版主给我发吧。
关于卡丹公式,我看了半天没有明白,如果有那位高手,能直接帮我写一个程序就好了,生成exe文件,输入x,等到y

[ Last edited by 孔方兄 on 2008-7-20 at 10:21 ]
8楼2008-07-20 10:12:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sjfcs001

铁杆木虫 (正式写手)

★ ★ ★ ★
csfn(金币+4,VIP+0):3Q
我用vb作了个简单的计算程序,可直接运行的,不过只是近似运算,误差在5%以内,仅满足一般工程计算需要

不知道对楼主有用没?
9楼2008-08-30 13:47:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 孔方兄 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 售SCI一区T0P文章,我:8.O.5.5.1.O.5.4,科目齐全,可+急 +3 pmo95bazuy 2026-05-23 7/350 2026-05-24 06:35 by fpo5ljpv91
[考博] 26/27申博自荐 10+4 ZXW0202 2026-05-22 7/350 2026-05-23 23:01 by L135790
[基金申请] 河北省自然科学基金 +5 Peterchao 2026-05-18 7/350 2026-05-23 16:57 by articlefan
[基金申请] 揭秘青基评审内幕:几个A才能顺利中标 +3 国自然国社科中 2026-05-23 4/200 2026-05-23 15:37 by 2000zf36392
[基金申请] 青B发送上会通知了吗 +5 chemBioBro 2026-05-22 7/350 2026-05-23 12:35 by zhuifengzhy
[考博] 博士申请 +3 焦晓明 2026-05-21 3/150 2026-05-23 11:26 by mlc840311
[教师之家] 某211大学教师把个人教师官方主页改成:我跑了我跑了我跑了!官宣跑路! +3 zju2000 2026-05-21 4/200 2026-05-23 08:33 by xli1984
[基金申请] 今年审到国自然15份,谈谈感受 +27 国自然国社科中 2026-05-17 28/1400 2026-05-22 16:25 by hunter无悔
[论文投稿] 投稿求助,期刊 +4 希冀,有书读 2026-05-20 8/400 2026-05-22 10:16 by 希冀,有书读
[文学芳草园] 献血感触 +7 呀呀好傻 2026-05-19 13/650 2026-05-21 20:15 by 呀呀好傻
[基金申请] 面上本子正文33页,违规吗?会被低分嘛? +14 1234567wang 2026-05-17 16/800 2026-05-21 17:58 by 脆脆的饼干
[基金申请] 国自然评分 +4 无名者登山 2026-05-20 5/250 2026-05-21 16:35 by swuq
[基金申请] 国自然上会要求 +7 无名者登山 2026-05-18 11/550 2026-05-21 15:50 by draco1987
[基金申请] 提交了我也来说说感想 +9 fummck 2026-05-20 10/500 2026-05-21 14:17 by draco1987
[基金申请] 评审有感 +15 popular289 2026-05-18 26/1300 2026-05-21 10:35 by 西葫芦炒鸡蛋
[考博] 云南大学材料与能源学院解琳课题组钙钛矿博士招生 +4 光伏爱好者 2026-05-17 6/300 2026-05-21 01:37 by 17520222914
[有机交流] 反应很差,大量原料没有反应 5+3 Mr.Zot 2026-05-19 8/400 2026-05-20 22:19 by Equinoxhua
[考博] 如果工作了想读博,可以边工作边读全日制嘛? 30+3 铁达火车 2026-05-18 5/250 2026-05-20 09:33 by tfang
[考博] 博士申请 +5 星…… 2026-05-18 6/300 2026-05-18 23:49 by 糊糊涂涂好
[硕博家园] 我在等一个没有答案的答案 +3 Love_MH 2026-05-17 3/150 2026-05-18 02:22 by 竹林孤影
信息提示
请填处理意见