matlab初学者问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 08:05:21
x=-2:0.5:2;y=x;
[X,Y]=meshgrid(x,y);
F1=sin(X-Y);
F2=cos(X+Y);
v=[-0.2,0,0.2];
contour(X,Y,F1,v);
hold on ,
contour(X,Y,F2,v),xlabel('x'),ylabel('y'),hold off
[x0,y0]=ginput(2);
fun='[sin(x(1)-x(2)),cos(x(1)+x(2))]'; (为什么必须用x(1),x(2),而不能是s(1),s(2)之类的。。。。。)
[xy,f,exit]=fsolve(fun,[x0(2),y0(2)])

是啊是啊!俺也是第一次见。只有x能行,其他都不行,我想是不是根据他的提示错误找答案,即:

fuser = feval(funfcn{3},x,varargin{:});

它已经把x作为规定的变量了,还有,如果你这样:
>> fun=inline('[sin(y(1)-y(2)),cos(y(1)+y(2))]')

fun =
Inline function:
fun(x) = [sin(y(1)-y(2)),cos(y(1)+y(2))]

看看,看看fun(x),不是f(y),说明就认x。
谢谢你让俺增长了见识。