24小时热门版块排行榜    

查看: 931  |  回复: 12
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

positron

木虫 (职业作家)

[交流] 【求助】matlab对符号方程组如何画出可视化图形【已解决】

我想画出缺陷浓度随样品中某一元素含量变化的曲线,原来都是用matlab做一些简单的
计算,现在碰到符号方程组,不知道怎么处理啦,盼前辈能指点帮忙:

问题是:如何画出x1,x2,x3,x4随Xa变化的图像?( x1,x2,x3,x4为样品中四种缺陷的浓度,Xa为样品中一种元素的含量,Xa取值区间为【0.70:0.75】)

下面的程序没有完成,现在不知道怎么下手啦:)

k=1.380658e-23;                                        %k 为玻尔兹曼常数
ee=1.60217733e-19;                                  %ee为单位电荷电量
K=1000*k/ee;                                             %为1000°时对应的能量
E1=1.47;E2=1.92;E3=0.56;E4=0.59;        %E1,E2,E3,E4为空位形成能,单位eV
A=4.5;
% x1,x2,x3,x4为四种缺陷浓度
%Xa为样品中一种元素的含量,Xa取值区间为0.5:0.75
tic;
syms x1 x2 x3 x4 Xa
x1=0.75*A*(4*x4)/(1-x4)^(Xa-1)*exp((-E1+(Xa-1)*E4)/K);   %x1缺陷浓度方程
x2=0.25*A*(4*x4/(1-x4))^Xa*exp((-E2+Xa*E4)/K);              %x2缺陷浓度方程
x3=0.75*(4*x4/(1-x4))^(-1)*exp((-E3-E4)/K);                       %x3缺陷浓度方程
x4=x3+(1-Xa)*x1-Xa*x2+Xa-0.75;                                         %x4缺陷浓度方程
solve(x1,x2,x3,x4)
toc;

[ Last edited by wangen994 on 2009-8-15 at 22:50 ]
回复此楼

» 猜你喜欢

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

hitzhang

木虫 (正式写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
positron(金币+20,VIP+0):谢谢,大概x1,x3,x4的形状是对的,x2的形状是相反的,呵呵,不过很不错啦 7-27 13:06
woshilsh(金币+8,VIP+0):辛苦了,张兄! 7-27 17:02
positron(金币+5,VIP+0): 7-30 00:03
引用回帖:
Originally posted by positron at 2009-7-27 00:05:
我想画出缺陷浓度随样品中某一元素含量变化的曲线,原来都是用matlab做一些简单的
计算,现在碰到符号方程组,不知道怎么处理啦,盼前辈能指点帮忙:

问题是:如何画出x1,x2,x3,x4随Xa变化的图像?( x1,x2,x ...

function code:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

function y=myfunction(x,Xa)
k=1.380658e-23;                                        %k 为玻尔兹曼常数
ee=1.60217733e-19;                                  %ee为单位电荷电量
K=1000*k/ee;                                             %为1000°时对应的能量
E1=1.47;E2=1.92;E3=0.56;E4=0.59;        %E1,E2,E3,E4为空位形成能,单位eV
A=4.5;
x1=x(1);
x2=x(2);
x3=x(3);
x4=x(4);
y=[x1-0.75*A*(4*x4)/(1-x4)^(Xa-1)*exp((-E1+(Xa-1)*E4)/K);x2-0.25*A*(4*x4/(1-x4))^Xa*exp((-E2+Xa*E4)/K);x3-0.75*(4*x4/(1-x4))^(-1)*exp((-E3-E4)/K);x4-x3+(1-Xa)*x1-Xa*x2+Xa-0.75];

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

command code
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

>> Xa=0.7:0.001:0.75;
>> Xaa=0.7:0.001:0.75;
for i=1:51
    Xa=Xaa(i);
    x0=1e-4*ones(1,4);
    f=@(x)myfunction(x,Xa);
    x(i, = fsolve(f,x0);
end
>> plot(Xaa',x)
>> xlabel('Xa')
>> ylabel('x')
>> legend({'x1','x2','x3','x4'})

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
8楼2009-07-27 12:55:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

rjjy

木虫 (著名写手)


positron(金币+1,VIP+0): 7-27 13:04
本人不懂,帮你顶!
2楼2009-07-27 00:08:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshilsh

荣誉版主 (职业作家)

优秀版主


positron(金币+1,VIP+0): 7-27 13:04
这四个解都是隐式,怎么画呢?大家思考思考!重奖!
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&say=各位版主辛苦了![/img][/url][/center]
3楼2009-07-27 02:06:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

positron

木虫 (职业作家)

文献中说是用迭代法(because the equations are not the explicit functions, they can be solved by iterated method using computer)

看了就是不知道怎么弄,呵呵
5楼2009-07-27 09:42:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见