24小时热门版块排行榜    

查看: 848  |  回复: 5

1090632763

银虫 (初入文坛)

[求助] Undefined function 'a' for input arguments of type 'double' 已有1人参与

clear
x=randint(5,2,[0,10]);
z=3*ones(5,1);
f=@(a,x)a(1)*x(:,1).^2+a(2)*x(:,1).*x(:,2)+a(3)*x(:,2).^2;
a=lsqcurvefit(f,[1 1 1],[x(:,1) x(:,2)],z);
plot(x(:,1),x(:,2),'r*');
hold on;
ezplot('a(1)*x^2+a(2)*x*y+a(3)*y^2');

这是我的一段程序,为什么运行出现了问题,暂时看不出来问题所在,新人求助帮忙
回复此楼

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

东大小生

木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
我觉得吧 可能你最后ezplot里面不能直接这么写a(),应该改成ezplot([num2str(a(1)),'*x^2+',num2str(a(2)),'*x*y+',num2str(a(3)),'*y^2']);就不会错了,我觉得是ezplot没有直接把你那个a识别为数组,而是像里面的y一样识别成了一个变量
:)
2楼2015-07-26 11:37:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1090632763

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by 东大小生 at 2015-07-26 11:37:39
我觉得吧 可能你最后ezplot里面不能直接这么写a(),应该改成ezplot();就不会错了,我觉得是ezplot没有直接把你那个a识别为数组,而是像里面的y一样识别成了一个变量...

我运行了下,还是不对怎么回事?图像中没有这个曲线,只有第一个plot的几个点
3楼2015-07-26 12:55:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

东大小生

木虫 (著名写手)

引用回帖:
3楼: Originally posted by 1090632763 at 2015-07-26 12:55:11
我运行了下,还是不对怎么回事?图像中没有这个曲线,只有第一个plot的几个点...

你调调坐标范围不就行了么
:)
4楼2015-07-26 13:00:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

东大小生

木虫 (著名写手)

引用回帖:
3楼: Originally posted by 1090632763 at 2015-07-26 12:55:11
我运行了下,还是不对怎么回事?图像中没有这个曲线,只有第一个plot的几个点...

我只是针对你那个写法,没具体去试
:)
5楼2015-07-26 13:01:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

东大小生

木虫 (著名写手)

我觉得应该是你初值选的不好吧,给拟合飞了 你再琢磨一下吧
:)
6楼2015-07-26 13:14:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 1090632763 的主题更新
信息提示
请填处理意见