楼主: hnliujw
1385 3

[问答] 请教:非线性方程的求解问题 [推广有奖]

  • 4关注
  • 7粉丝

已卖:3396份资源

教授

4%

还不是VIP/贵宾

-

威望
0
论坛币
11626 个
通用积分
76.2055
学术水平
19 点
热心指数
23 点
信用等级
9 点
经验
22646 点
帖子
627
精华
0
在线时间
1473 小时
注册时间
2005-10-4
最后登录
2025-11-8

楼主
hnliujw 发表于 2012-11-24 16:36:52 |AI写论文
30论坛币
如何求解形如:a*x^m+b*x^n+c*x=0,这样的方程的解?a,b,c,m,n为参数。谢谢!



补充内容 (2013-1-16 20:04):
方程已经化简为:a*x^n-a*x^(n-1)+b=0,    其中:    -1<n<0,    0<=x<=1,    a,b为系数。

补充内容 (2013-1-16 21:57):
再化简就成了:x^n-x^(n-1)=c    用matlab能做么?怎么做?

关键词:非线性方程 线性方程 非线性 matlab 如何

沙发
TaskShare 发表于 2012-11-25 21:01:04
如果我是你,就用EXCEL中的Solver(没有装SOLVER时,可用EXCEL中Goal Seek,但可能效果会差些)来解。当然,得到的只是数值(实数)解,不是什么公式。

藤椅
hnliujw 发表于 2013-1-16 19:54:37
无法编辑自己的帖子?我想把方程改一下

板凳
quezhigang 发表于 2013-1-21 20:17:14
可以运用matlab中的solve函数,如果你x的幂都是整数的话,可以用roots函数解,如:
解方程 x^3 + 2x^2 + 2x + 1=0.            (符号“ ^ ”代表次方,x^3意思为x的3次方)
实现:
>> A=[1 2 2 1];
>> roots(A)

ans =
-1.0000         
-0.5000 + 0.8660i
-0.5000 - 0.8660i

其中 A 矩阵中的元素为变量的系数,从高位开始排,直到变量的0次幂。没有的幂的系数就用零
如果你的你x的幂都是不整数的话,可以用solve函数格式:s=solve('表达式',‘变量名’)
如:s=solve('x^(1/2)-x-3=0','x')
s =
(1/2*(4+4*5^(1/2))^(1/3)-2/(4+4*5^(1/2))^(1/3))^2
如果得到的结果形式比较复杂是可以再用double(s)简化结果
如double(s)
ans =
    0.1038
详细参照solve函数:help solve;还有什么问题可以给我发邮件:quezhigang@126.com,希望能帮上你

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 10:48