这样的指数方程组用matlab怎么解?我就这么多财富了,全给高手了

A*(1-exp(-t1/l1)).*exp(-t1/l2)-0.1=0;A*(1-exp(-t2/l1)).*exp(-t2/l2)-0.9=0;A*(1-exp(-t... A*(1-exp(-t1/l1)).*exp(-t1/l2)-0.1=0;
A*(1-exp(-t2/l1)).*exp(-t2/l2)-0.9=0;
A*(1-exp(-t4/l1)).*exp(-t4/l2)-0.5=0;其中t1,t2,t4是已知量,A,l1,l2是待求的量,请高手帮忙,指条明路,我实在没辙,忙活了几天也搞不定。我用fsolve命令也解不出来,给定初值,解出来的竟然还是初值
已经解决了,用数值分析中牛顿迭代的方法,自己编程,这种复杂的方程看来是不能指望matlab给我们做了
展开
泊进√62a8648
2009-10-22 · TA获得超过501个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:290万
展开全部
我想人机结合可以解的:
先将方程组
A*(1-exp(-t1/l1)).*exp(-t1/l2)-0.1=0;
A*(1-exp(-t2/l1)).*exp(-t2/l2)-0.9=0;
A*(1-exp(-t4/l1)).*exp(-t4/l2)-0.5=0;
假设exp(-1/l1) = a1, exp(-1/l2) = a2
变形为
A*(1-a1^t1)*a2^t1 = 0.1
A*(1-a1^t2)*a2^t2 = 0.9
A*(1-a1^t4)*a2^t4 = 0.5
显然t1,t2,t4均不相等
消去A,a2得方程:
(t1-t2)/(t2-t4) =
[ln(0.1/(1-a1^t1) - ln(0.9/(1-a1^t2)))] / [ln(0.9/(1-a1^t2) - ln(0.5/(1-a1^t4)))]
求a1的代码如下:
clc,clear all;
t=[1,2,3]; %[t1 t2 t4]
syms t1 t2 t4 a1 a2 A equal;
equal = (t1-t2)*(log((1-a1^t4)/(1-a1^t2)) - log(0.9/0.5)) - (t2-t4)*(log((1-a1^t2)/(1-a1^t1)) - log(0.1/0.9));
equal = subs(equal,{'t1','t2','t4'},{t(1),t(2),t(3)});
eq = inline(equal);
plot(linspace(-100,100,1000),eq(linspace(-100,100,1000)));
如果图形与y=0无交点,则方程无实数解。若有则输入如下代码:
x1 = fzero(eq,x0);%注意x0根据图形来确定,最好在y=0对应x的大概范围.
这样可以解出l1,
剩下A,l2马上就可以得出了。

如果知道t1,t2,t4的值就好解一点了
m1,m2已知吧?

参考资料: 原创

鱼一只0H7
2009-10-18 · TA获得超过707个赞
知道小有建树答主
回答量:309
采纳率:100%
帮助的人:329万
展开全部
你见过solve解.*的方程了吗?
你这里怎么出来.*了呢,A是矩阵啊?如果是矩阵的话,你就不应该用solve求了,那就属于矩阵方程了!!!

回答补充:
A不是变量,你为什么写个.*呢,这就是矩阵的.*公式啊
呵呵,
看看下面的大侠怎么解决!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星期一小新
2009-10-18 · TA获得超过1010个赞
知道小有建树答主
回答量:363
采纳率:0%
帮助的人:453万
展开全部
A首先是个矩阵,我猜想t1,t2,t4只是个数,l1,l2也只是数,那你这样列
A*(1-exp(-t1/l1)).*exp(-t1/l2)-0.1=0是不行的。矩阵和一个数相乘跟一个矩阵相乘结果和表达方式都不一样。A是不是一行3列的矩阵?
这样解决,你把A分别改为A1,A2,A3这样一个个数代回原来方程
这样就变成求有3个未知数非线性方程组的解了,现在用solve命令试一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wltongxing
2009-10-18 · 超过17用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:0
展开全部
应该用fsolve解吧,非线性方程,迭代。
f=@(x)([x(1)*(1-exp(-1/x(2))).*exp(-1/x(3))-0.1;x(1)*(1-exp(-2/x(2))).*exp(-2/x(3))-0.9;x(1)*(1-exp(-4/x(2))).*exp(-4/x(3))-0.5]);你把1 2 4换成你的t1,t2,t4的值。
x=fsolve(f,[1 1 1],options);
options的具体参看doc fsolve
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dwangli
2009-10-18 · TA获得超过2159个赞
知道小有建树答主
回答量:536
采纳率:0%
帮助的人:0
展开全部
A,l1,l2值 拿上来看看。解不出来很正常,三个未知数是不假,但不是线性关系,当然有多组解了。。。

还有选 初始值 的问题,你首先估计一个近似解出来,用它当初始值,不然的话容易跑偏 。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jasonDeviling
2009-10-18
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
先将方程组
A*(1-exp(-t1/l1)).*exp(-t1/l2)-0.1=0;
A*(1-exp(-t2/l1)).*exp(-t2/l2)-0.9=0;
A*(1-exp(-t4/l1)).*exp(-t4/l2)-0.5=0;
假设exp(-1/l1) = a1, exp(-1/l2) = a2
变形为
A*(1-a1^t1)*a2^t1 = 0.1
A*(1-a1^t2)*a2^t2 = 0.9
A*(1-a1^t4)*a2^t4 = 0.5
显然t1,t2,t4均不相等
消去A,a2得方程:
(t1-t2)/(t2-t4) =
[ln(0.1/(1-a1^t1) - ln(0.9/(1-a1^t2)))] / [ln(0.9/(1-a1^t2) - ln(0.5/(1-a1^t4)))]
求a1的代码如下:
clc,clear all;
t=[1,2,3]; %[t1 t2 t4]
syms t1 t2 t4 a1 a2 A equal;
equal = (t1-t2)*(log((1-a1^t4)/(1-a1^t2)) - log(0.9/0.5)) - (t2-t4)*(log((1-a1^t2)/(1-a1^t1)) - log(0.1/0.9));
equal = subs(equal,{'t1','t2','t4'},{t(1),t(2),t(3)});
eq = inline(equal);
plot(linspace(-100,100,1000),eq(linspace(-100,100,1000)));
如果图形与y=0无交点,则方程无实数解。若有则输入如下代码:
x1 = fzero(eq,x0);%注意x0根据图形来确定,最好在y=0对应x的大概范围.
这样可以解出l1,
剩下A,l2马上就可以得出了....

如果知道t1,t2,t4的值就好解一点了 .....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式