matlab变量任意值成立方程组的求解和两个小问题

matlab变量任意值成立方程组的求解和两个小问题
一、设二元函数F(x,y)里有a、b、c三个参量,现要求此三个参量.已知条件为

F(x1,y)=0对任意的y恒成立;
F(x,y1)=0对任意的x恒成立;
F(x0,y0)=C.
怎么用matlab解决?(主要是那个恒成立怎么表达好)
二、怎么用matlab判断两个函数相等,如:
已知f1和f2,怎么判断f1=f2,(相等输出1,不等输出0),(好像也有恒成立的感觉).
三、在matlab里怎么让结果还保留π^2之类的.


第一题的函数大家可以用F(x,y)=a(b+x)(c-y)做,条件是F(2,y)=0对任意的y恒成立,F(x,2)=0对任意的x恒成立,还有F(1,1)=-1.
第二题的函数:设f(x,y)=[1/(π^2)]*(π/2+arctan(x/2))*(π/2+arctan(y/3)),f1=f(x,y),f2=f(x,inf),f3=f(inf,y),求f1是否等于f2*f3.


我不懂matlab的,希望各位能提供完整的代码就好.期待ing~
旅游之家 1年前 已收到1个回答 举报

sally17 幼苗

共回答了24个问题采纳率:91.7% 举报

第一题
这道题其实通过简单的推导就可以得到结果:
由F(1,1) = a*(b+1)*(-1+c) = -1,可知 a≠0;
由F(2,y) = a*(b+2)*(c-y) = 0,可知a=0或b=-2,但由于a≠0,所以只能是b=-2;
由F(x,2) = a*(b+x)*(c-2) = 0,可知a=0或c=2,但由于a≠0,所以只能是c=2;
把b、c的值代入F(1,1)=-1,可得a=1.

如果要求必须用MATLAB求解,有两个方程分别对任意y、x成立,所谓的恒成立我还真不知道该怎么表达.不过,既然是任意,那么就任意取一个值好了,例如都取1,用下面的代码:
syms x y a b c
F=a*(b+x)*(c-y);
eq1=subs(F,{x,y},{2 1});
eq2=subs(F,{x,y},{1 2});
eq3=subs(F,{x,y},{1 1})-(-1);
[a,b,c] = solve(eq1,eq2,eq3)
即可得到上面分析出来的结果.当然,任意x、y也可以换成别的值,应该都能够得到同样的结果,唯一需要避免的是x、y的取值不要重复,以免方程组不封闭(例如x、y都取2).

第二题
这个题其实没太多可说的,用下面的代码即可:
f=sym('(1/(pi^2))*(pi/2+atan(x/2))*(pi/2+atan(y/3))');
f2=limit(f,y,inf);
f3=limit(f,x,inf);
D = simple(f-f2*f3);
isequal(D,sym(0))

稍微值得一提的是,对于符号量判断相等,比较可靠的做法是,判断二者之差是否为0,而不能直接判断相等.这是因为,虽然是相通的值,具体表达式可能不一样,例如,我们都知道,sin(a)^2+cos(a)^2 与 sin(b)^2+cos(b)^2 相等,但直接判断却是不可行的.

第三题
用符号运算即可,例如,上面第二题中的 f、f2、f3 表达式都包含符号 pi.

1年前 追问

5

旅游之家 举报

ȸл~ǵڶʺкǣ Undefined function or variable 'y'. Error in Untitled1 (line 2) f2=limit(f,y,inf); ôأ °f2f3infֱдȥдɺ ֵ tf = 0 ӦȵġǶԪ⣬Ϊf=x^2,f1=x,f2=xֵ1

举报 sally17

˳ǰĴдģ˰ѵڶˡǰһ

syms x y

űɡ

ֱдInfҲԣ

f=sym('(1/(pi^2))*(pi/2+atan(x/2))*(pi/2+atan(y/3))');
syms x y

f2=subs(f,y,inf);
f3=subs(f,x,inf);
D = simple(f-f2*f3);
isequal(D,sym(0))

可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.017 s. - webmaster@yulucn.com