24小时热门版块排行榜    

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

chuzhenhui

金虫 (小有名气)

[交流] 【求助】请教一个关于解方程的问题 已有3人参与

问题描述:

在做一个gui程序,需要根据输入的数值,进行相应的计算。比如这样一个方程:

y=(w*c*k*x)/((1-k*x)*(1-k*x+c*k*x))

其中w,c,k,y为常数,x是变量。程序需要根据w,c,k,y的输入,代入方程中计算x的值,后面程序再用x进行其他的运算。

假如输入的常数分别是:w=0.0378;c=9.992;k=0.9247;y=0.026,我这么编:

w=0.0378;c=9.992;k=0.9247;y=0.026;

x=solve('(w*c*k*x)/((1-k*x)*(1-k*x+c*k*x))-y');

-------------------------
matlab出现错误如下:

??? Error using ==> solve>getEqns at 182
' w1*c1*k1*awi)/((1-k1*awi)*(1-k1*awi+c1*k1*awi))=in ' is not a valid expression or equation.

Error in ==> solve at 67
[eqns,vars] = getEqns(varargin{:});

Error in ==> solvetest at 3
solve('w1*c1*k1*awi)/((1-k1*awi)*(1-k1*awi+c1*k1*awi))=in');
-----------------------------------------------------------------------------------
直接用输入的数字代入方程,用solve是可以算出来的,x值有两个解,我要取正解。但是像以上的程序,先对符号赋值,再用符号代入方程中用solve就不能用了。

我想解决的就是如果要算以上方程中的x,我应该用什么方法?这样用solve和fsolve都不行。望大侠赐教!谢谢~~~
回复此楼
找到自己。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
hiqun(金币+1):感谢应助 2010-10-13 16:18:48
引用回帖:
Originally posted by chuzhenhui at 2010-10-12 17:16:29:
我暂时解决了,主要是因为x是sym型数据,我整成double型,再用 y=max(x)就可以得到x>0的解了,但这个方法有点投机,如果x有两个以上大于0的解,这样就行不通了,所以还是要请教正统的解决方法。

就是直接加个>0的条件 assuming>0
CODE:
>> result= evalin(symengine,'w:=0.0378;c:=9.992;k:=0.9247;y:=0.026;solve((w*c*k*x)/((1-k*x)*(1-k*x+c*k*x))-y) assuming x>0') result = [x = 0.14040415902146110092877008088218]

工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
8楼2010-10-13 14:16:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

robert2020

银虫 (著名写手)

★ ★
ctgu_zheng(金币+2):辛苦了。。。 2010-10-12 07:52:23
chuzhenhui(金币+6):多谢!! 2010-10-12 15:04:01
求解程序:
引用回帖:
clear all
syms x
w=0.0378;c=9.992;k=0.9247;y=0.026;
f=(w*c*k*x)/((1-k*x)*(1-k*x+c*k*x))-y;
x=vpa(solve(f))

验证程序:
引用回帖:
solve('0.026-(0.0378*9.992*0.9247*x)/((1-0.9247*x)*(1-0.9247*x+9.992*0.9247*x))=0')

结果:
引用回帖:
x =

-.926322075415857
  .140404159021461

Truthfulness,Compassion,Tolerance,Beauty
2楼2010-10-11 22:18:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijinfeng042

木虫 (小有名气)

Matlab

★
hiqun(金币+1):感谢应助,辛苦了 2010-10-12 13:58:42
chuzhenhui(金币+4):多谢!! 2010-10-12 15:04:13
CODE:
>> [result,status] = evalin(symengine,'w:=0.0378;c:=9.992;k:=0.9247;y:=0.026;solve((w*c*k*x)/((1-k*x)*(1-k*x+c*k*x))-y)')

result =

[ [x = 0.14040415902146110092877008088218], [x = -0.92632207541585789273828437767426]]


status =

     0

方法还有不少 符号计算subs代换也可以 vpa的内部也是调用了计算引擎mupadengine
工作了,偶尔会上来~可以关注新浪微博 @云是风的梦_Matlab
3楼2010-10-12 13:50:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chuzhenhui

金虫 (小有名气)

引用回帖:
Originally posted by robert2020 at 2010-10-11 22:18:04:
求解程序:


验证程序:


结果:

多谢指教,如果我要取x>0 的解,怎么弄?有专门设定方程解范围的函数可以用吗。。直接设定x>0好像不可以,我用y=max(x)也不行,请再指导一下吧,谢谢!
找到自己。
4楼2010-10-12 17:00:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 GDBe8tDZqE8z 2026-09-28 4/200 2026-09-29 09:49 by JzYBbHIXWSrW
[找工作] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +5 IDs3scOF0tjC 2026-09-28 5/250 2026-09-29 09:24 by JzYBbHIXWSrW
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 IDs3scOF0tjC 2026-09-28 6/300 2026-09-29 09:18 by JzYBbHIXWSrW
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 06:42 by ZvyPK8n6Nfki
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 06:34 by ZvyPK8n6Nfki
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 06:28 by ZvyPK8n6Nfki
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 ZYXdhzDAy9ZX 2026-09-28 3/150 2026-09-29 06:18 by ZvyPK8n6Nfki
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 tqUTOxClQUMF 2026-09-28 3/150 2026-09-28 23:46 by b8fCuTHqckEt
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 GDBe8tDZqE8z 2026-09-28 4/200 2026-09-28 23:19 by b8fCuTHqckEt
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 GDBe8tDZqE8z 2026-09-28 3/150 2026-09-28 23:12 by b8fCuTHqckEt
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 IDs3scOF0tjC 2026-09-28 4/200 2026-09-28 22:55 by ez6fGg9abYaj
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 CfXuS1rDhLYN 2026-09-28 4/200 2026-09-28 22:55 by ez6fGg9abYaj
[有机交流] 同一个分子,一条来自文献,一条来自AI——不告诉你答案,你会选哪条? +3 tianxiaoxian 2026-09-28 6/300 2026-09-28 22:44 by tianxiaoxian
[找工作] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 5/250 2026-09-28 22:32 by ez6fGg9abYaj
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 4/200 2026-09-28 22:28 by ez6fGg9abYaj
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 3/150 2026-09-28 22:21 by ez6fGg9abYaj
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 6/300 2026-09-28 22:15 by ez6fGg9abYaj
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 CfXuS1rDhLYN 2026-09-28 3/150 2026-09-28 19:08 by 9lS3ad5oOymn
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 IDs3scOF0tjC 2026-09-28 4/200 2026-09-28 18:51 by 9lS3ad5oOymn
[教师之家] 某top大学教授说“能够在市场中兑现的能力才是真能力”无比同意! +7 zju2000 2026-09-26 8/400 2026-09-28 16:42 by beefly
信息提示
请填处理意见