急!matlab solve用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急!matlab solve用法相关的知识,希望对你有一定的参考价值。

这是由于matlab里面有个关于默认自变量规定问题
一般情况下默认自变量为表达式中距离x最近的字母
你可以用这种方法来求解
[x0]=solve('2600*(z0+15)=(z0-24985)*x1')
[z0]=solve('2600*(z0+15)=(z0-24985)*x1')
由于上两行行中只有x1与z0两个变量,而且x1与x较近,所以是求解x1
为了求解z0,可以用
[z0]=solve('2600*(z0+15)=(z0-24985)*x1','z0')
这样的话就没问题了
建议你指定代求变量
相关函数
findsym
查找自变量,比较有用
参考技术A subs我没有用过,solve确实可以解方程
solve('方程1',
'方程2',
'方程3',
...,
'方程n',
'欲解出的变量1(根据你的要求,写y即可)',
...,'欲解出的变量n')
对于方程中的字母元,应先用syms
定义
比如syms
x
y
a
b即可定义a
b
x
y
四个元
参考技术B 1、solve
这个命令用来求解符号方程、方程组等。
x=solve('eqn1','eqn2',...,'var1','var2',...)
例子:
解方程组:x^2+y-6=0;y^2+x-6=0
程序设计:[x,y]=solve('x^2+y-6','y^2+x-6','x','y')
2、subs可以把符号表达式里面的符号变量替换为新的变量
F=subs(f,old,new)
例子:
用符号表达式计算x^2+x-1在x=2时的值
程序设计:g=sym('x^2+x-1');
G=subs(g,'x',2)
参考技术C 1、solve
这个命令用来求解符号方程、方程组等。
x=solve('eqn1','eqn2',...,'var1','var2',...)
例子:
解方程组:x^2+y-6=0;y^2+x-6=0
程序设计:[x,y]=solve('x^2+y-6','y^2+x-6','x','y')
2、subs可以把符号表达式里面的符号变量替换为新的变量
F=subs(f,old,new)
例子:
用符号表达式计算x^2+x-1在x=2时的值
程序设计:g=sym('x^2+x-1');
G=subs(g,'x',2)

matlab 在特定曲线之间画阴影,急急急!!!!

我想在左边这块区域(蓝色线和坐标轴之间)铁甲阴影,怎么弄,望大神指点呀,
下面是我这个图的程序:
h4=ezplot('alpha*beta=0'); set(h4,'linestyle','-','color','b') hold on h5=ezplot('alpha*beta-2*alpha-2*beta+4+alpha*beta*(-0.5)=0'); set(h5,'linestyle','-','color','c') hold on h6=ezplot('(1-alpha)*(1-beta)=1'); set(h6,'linestyle','-','color','m'); hold on axis([0 2 0 2]);

程序改成如下:

clear all;clc;
[x1,y1]=solve('x=0','x*y-2*x-2*y+4+x*y*(-0.5)=0');%
[x2,y2]=solve('x=0','y=0');%
[x3,y3]=solve('x*y-2*x-2*y+4+x*y*(-0.5)=0','y=0'); %
plot(x1,y1,'bo',x2,y2,'bo',x3,y3,'bo');
hold on;
X=[x1,x2,x3,x1];
Y=[y1,y2,y3,y1];
h=fill(X,Y,'c');


hold on
x=0:0.001:2;
 y=(2*x-4)./(x-0.5*x-2);
h1= fill(x,y,'c');

 axis square
 axis([0 2 0 2]);

上图是程序得的结果。中间多了两根黑线。我只能手动编辑能去掉,如下图:

参考技术A

可用fill( )函数画阴影。

fill( )函数的输入本质上是一系列点。其对从第一点开始依次连接剩余点最后连接第一点所围闭合区域画阴影。

所以根据题主要求只要在蓝色线的基础上添加第一个点为(0,0)即可。

在题主代码的基础上添加以下代码即可:

hold on
alpha=0:0.001:2;
beta=(2*alpha-4)./(alpha-0.5*alpha-2);
%add (0,0) point manually
alpha1=[0,alpha];
beta1=[0,beta];
h1= fill(alpha1,beta1,'c');

参考技术B 请用:fill() 或 patch() 函数。
具体用法在matlab中 help fill; 或者 help patch;

以上是关于急!matlab solve用法的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB中关于solve函数的用法

关于matlab solve函数的用法

matlab中solve的用法

matlab中solve的用法

matlab中solve函数的用法。悬赏20分

matlab的solve用法