24小时热门版块排行榜    

查看: 1459  |  回复: 3

wahrrysu

木虫 (正式写手)

[求助] 求助用matlab或者(1st0pt)编程解方程组

方程组
     x*y=10^(5.17-9810/t+(540.6/t-0.1651)*0.33)  ;
         (0.021-x)/(0.33-y)=92.9064/12.011;
     其中x的区间为[0,0.021],y的区间为[0,0.33]
给定一个t值,能够计算出X与y的值
求解当t从800增加到1500时,x,y的解,并做t-x的图

谢谢
回复此楼

» 猜你喜欢

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

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

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
csgt0: 金币+2, 谢谢 2013-07-18 17:56:04
wahrrysu: 金币+15, ★★★★★最佳答案 2013-07-19 11:49:19
function solve_nonl
clear all;clc
format long
global t
t=800;
x0=[0.12 0.00001];%y=x(1);x=x(2);
n=8;
for i=1:n
    tt(i)=t;
    xresult=fsolve(@nonfun,x0);
    t=t+100;
    u(i)=xresult(1);
    v(i)=xresult(2);
end
tt
[u' v']
plot(tt,v,'b-o'),axis([750 1550 -0.005 max(v)+0.01])

function f=nonfun(x)
global t
%y=x(1);
%x=x(2);
f(1)= x(2)*x(1)-10^(5.17-9810/t+(540.6/t-0.1651)*0.33);
f(2)= (0.021-x(2))/(0.33-x(1))-92.9064/12.011;



结果:
   0.327285153357280   0.000000363988946
   0.327286130401890   0.000007921535971
   0.327297142969628   0.000093104953106
   0.327375471784637   0.000698986912854
   0.327769442659100   0.003746394760137
   0.329282927902684   0.015453368820073
   0.333947896050736   0.051537408179756
   0.345785289192641   0.143100940125555
求助用matlab或者(1st0pt)编程解方程组
附图1.jpg

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-07-18 17:01:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wahrrysu

木虫 (正式写手)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-07-18 17:01:41
function solve_nonl
clear all;clc
format long
global t
t=800;
x0=;%y=x(1);x=x(2);
n=8;
for i=1:n
    tt(i)=t;
    xresult=fsolve(@nonfun,x0);
    t=t+100;
    u(i)=xresult(1);
    v(i)=xr ...

非常感谢您的回答,不过从您的结果来看,X和y的值都超过了原先设定的范围,一个必须小于0.33,而另一个应该小于0.021的,但图中出现0.14这样的点,是不是稍微有些问题?麻烦您再检查一下,谢谢!
3楼2013-07-18 17:28:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wahrrysu

木虫 (正式写手)

自己重新运行了一下,没有问题,谢谢
4楼2013-07-19 11:49:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wahrrysu 的主题更新
信息提示
请填处理意见