24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1776  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

月只蓝

主管区长 (职业作家)

[求助] MATLAB求解代数方程组问题,请帮忙

function ff=test(x,y)
f1=x+y;
f2=x-y;
ff=[f1;f2];
---------------------------------------
clear all;clc
[x,y]=fsolve(@test,[1;1])

运行结果:
??? Input argument "y" is undefined.

Error in ==> test at 2
f1=x+y;

Error in ==> fsolve at 195
        fuser = feval(funfcn{3},x,varargin{:});

Error in ==> testsolve at 2
[x,y]=fsolve(@test,[1;1])

请问,这个程序到底什么地方有问题呢?如果可以请您给出正确的程序。谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
2楼: Originally posted by xinghair at 2012-07-30 20:14:40
把初值设成向量,像这样应该可以
function ff = test(x)
f1 = x(1) + x(2);
f2 = x(1) - x(2);
ff = ;
end
看一下fsolve的帮助就知道怎么用了

谢谢您的回复,您这样是把ff定义为x的一元函数了,而我就是希望定义出一个二元函数:ff(x,y),怎么实现呢?
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2012-07-31 11:04:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

xinghair

木虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
csgt0: 金币+1, 多谢应助 2012-07-31 09:45:14
把初值设成向量,像这样应该可以
function ff = test(x)
f1 = x(1) + x(2);
f2 = x(1) - x(2);
ff = [f1; f2];
end
看一下fsolve的帮助就知道怎么用了
2楼2012-07-30 20:14:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xinghair

木虫 (初入文坛)

引用回帖:
3楼: Originally posted by 月只蓝 at 2012-07-31 11:04:33
谢谢您的回复,您这样是把ff定义为x的一元函数了,而我就是希望定义出一个二元函数:ff(x,y),怎么实现呢?...

不太懂你的意思,x是向量,f(x1,x2)和f(x,y)不是一样的吗

最好举个具体的例子看看
4楼2012-07-31 11:46:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
4楼: Originally posted by xinghair at 2012-07-31 11:46:01
不太懂你的意思,x是向量,f(x1,x2)和f(x,y)不是一样的吗

最好举个具体的例子看看...

就用这个题的例子吧
function ff=test(x,y)
f1=x(1)+y(1);
f2=x(1)-y(1);
ff=[f1;f2];
--------------------------------
[x,y]=fsolve(@test,[1,1])

就说把ff定义为x和y的二元函数
会出问题,说y没有定义
但是按照下面的程序,就可以解
function ff=test(x)
f1=x(1)+x(2);
f2=x(1)-x(2);
ff=[f1;f2];
--------------------------------
[x,y]=fsolve(@test,[1,1])

我想问的就是,为什么ff表示成(x,y)的就要出问题?
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
5楼2012-08-01 19:22:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见