请教高手帮忙解决利用matlab求解方程组交点,并绘制图形的问题,万分感谢

两个变量x1,x2;其中要求0<x1<x2<1当x1=0:0.001:1时x2=(C-b1.*x1)./(2.*((1-a)-(1+b1).*x1));得出自变量(横坐标... 两个变量x1,x2;其中要求 0<x1<x2<1
当x1=0:0.001:1时
x2=(C-b1.*x1)./(2.*((1-a)-(1+b1).*x1));
得出自变量(横坐标)为x1,函数值(纵坐标)为x2的一个曲线
当x2=0:0.001:1时
x1=(C-b2.*x2)./(2.*((1-a)-(1+b2).*x2));
得出自变量为x2,函数值为x1的一个曲线;

注:其中C,a,b1,b2都是可调整的参数,例如C=0.5;a=0.2;b1=0.4;b2=0.1;
将之前的到得两个曲线整合到一个坐标系上,该坐标系横坐标是x1,纵坐标是x2( 0<x1<x2<1),并求出两个曲线的交点的值(x1,x2)。
以下是我写的matlab代码,问题很大,得到的结果不是我想要的,希望各位matlab高手帮帮小妹,万分万分的感谢!
x1=0:0.001:1;
x2=0:0.001:1;
C=0.5;
a=0.2;
b1=0.4;
b2=0.1;
x2=(C-b1.*x1)./(2.*((1-a)-(1+b1).*x1));
x1=(C-b2.*x2)./(2.*((1-a)-(1+b2).*x2));
展开
zjdxsjx
2012-09-14 · TA获得超过235个赞
知道答主
回答量:53
采纳率:100%
帮助的人:54.5万
展开全部

在你的代码里

x1=0:0.001:1;

x2=0:0.001:1;

C=0.5;

a=0.2;

b1=0.4;

b2=0.1;

x2=(C-b1.*x1)./(2.*((1-a)-(1+b1).*x1));

x1=(C-b2.*x2)./(2.*((1-a)-(1+b2).*x2));

在计算最后一行 x1=(C-b2.*x2)./(2.*((1-a)-(1+b2).*x2));时,里面的x2已经不是0:0.001:1了,而是前一行x2=(C-b1.*x1)./(2.*((1-a)-(1+b1).*x1))的计算结果~


另外,你的描述 :将之前的到得两个曲线整合到一个坐标系上,该坐标系横坐标是x1,纵坐标是x2( 0<x1<x2<1),并求出两个曲线的交点的值(x1,x2)。

这句话我实在不是很理解,你里面颠来倒去用了好多次x1,x2,一会儿x1横坐标,一会儿x2横坐标,才得到的两条曲线,最后又要画在一个坐标系,有点晕~ 


我猜测你的原始意图,改了下代码,不知道是不是你想要的,代码如下,你可以试试:

x1=0:0.001:1;

x2=0:0.001:1;

C=0.5;

a=0.2;

b1=0.4;

b2=0.1;

xx2=(C-b1.*x1)./(2.*((1-a)-(1+b1).*x1));

plot(x1,xx2,'b');

xx1=(C-b2.*x2)./(2.*((1-a)-(1+b2).*x2));

hold on;

plot(xx1,x2,'r');

xlabel('x1');

ylabel('x2');

axis([0 1 0 1]);


这里面暂时没有考虑 0<x1<x2<1这个条件,如果加入这个条件就是取我上面代码画出的图形里对角线x2=x1左上方部分的曲线~ 

sawsaw12321
2012-09-14 · 超过12用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:37.9万
展开全部
求出两个曲线的交点的值(x1,x2)x1,x2不用限制0.0001步长,定义syms x1 x2,然后用fsolve解方程即可。若希望精度0.0001,设置以下数据类型即可。
追问
请问可以给出一个例子吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式