24小时热门版块排行榜    

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

chaofan1231

银虫 (小有名气)

[求助] matlab解代数方程的问题

哪位大侠帮忙看下这是怎么回事啊?谢谢啊
y=2;
>> subs(solve('y=exp((1/0.0000005461-1/0.000000700)*0.014388/x+ln((x-993.74731)/2869.03078)-5*ln(700/546.1))','x'))
Warning: Explicit solution could not be found.
我把y=2直接代进去的话solve('2=exp((1/0.0000005461-1/0.000000700)*0.014388/x+ln((x-993.74731)/2869.03078)-5*ln(700/546.1))','x')
ans =matrix([[14197.808632879686391435779145547]]),但是我在origin中将这个方程画成曲线的话,y=2时x的两个值分别在1100和1900附近,这是怎么回事啊?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

忘传图乐


» 本帖已获得的红花(最新10朵)

showmethemoney
3楼2012-05-14 10:01:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

感谢参与,应助指数 +1
三个都是啊,我画出来3个点附近都接近2
showmethemoney
2楼2012-05-14 10:01:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chaofan1231

银虫 (小有名气)

送鲜花一朵
引用回帖:
3楼: Originally posted by csgt0 at 2012-05-14 10:01:30:
忘传图乐
5d/87/449046_1336960887_743.jpg

是这样的,但是为什么matlab中解出来只有一个解?我想要的是前两个。
4楼2012-05-15 08:05:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★
chaofan1231: 金币+5, ★★★★★最佳答案 2012-05-15 14:53:43
chaofan1231: 回帖置顶 2012-05-15 14:54:44
>> evalin(symengine, 'numeric::solve(2=exp((1/0.0000005461-1/0.000000700)*0.014388/x+ln((x-993.74731)/2869.03078)-5*ln(700/546.1)), x = 1000..2000)')

ans =

1092.7957902606343947864233870012

>> evalin(symengine, 'numeric::solve(2=exp((1/0.0000005461-1/0.000000700)*0.014388/x+ln((x-993.74731)/2869.03078)-5*ln(700/546.1)), x = 1500..2000)')

ans =

1826.2296709384982930177909403237

Solve the following equation:

syms x;
solve('sin(x) = x^2 - 1')

The symbolic solver cannot find an exact symbolic solution for this equation, and therefore, it calls the numeric solver. Because the equation is not polynomial, an attempt to find all possible solutions can take a long time. The numeric solver does not try to find all numeric solutions for this equation. Instead, it returns only the first solution that it finds:

ans =
-0.63673265080528201088799090383828

Plotting the left and the right sides of the equation in one graph shows that the equation also has a positive solution:

ezplot(sin(x), -2, 2);
hold on;
ezplot(x^2 - 1, -2, 2)
hold off

You can find this solution by calling the MuPAD numeric solver directly and specifying the interval where this solution can be found. To call MuPAD commands from the MATLAB Command Window, use the evalin or feval function:

evalin(symengine, 'numeric::solve(sin(x) = x^2 - 1, x = 0..2)')

ans =
1.4096240040025962492355939705895

» 本帖已获得的红花(最新10朵)

showmethemoney
5楼2012-05-15 09:18:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见