MATLAB拟合的曲线不能显示出来

我用MATLAB来拟合曲线,各散点的值能显示出来,但就是那条拟合的曲线不能显示,请问怎么回事呢?我的程序为:clear,clcF=@(p,x)(x(:,2)+2.*x(:... 我用MATLAB来拟合曲线,各散点的值能显示出来,但就是那条拟合的曲线不能显示,请问怎么回事呢?
我的程序为:
clear,clc
F=@(p,x)(x(:,2)+2.*x(:,1)+3.*p(2)).^(3+p(1))-((x(:,2)+p(2)).*(x(:,1)+p(2)).^2).*(27.*(x(:,2)+2.*x(:,1)+3.*p(2)).^p(3)+p(3).*0.1013.^p(2));
x=[10,169.5
30,245.75
45,289
60,342.7];
p0=[1 1 1 ];
warning off
p=nlinfit(x,zeros(size(x,1),1),F,p0);
disp('m、c、u分别为:');
disp(num2str(p));
plot(x(:,1),x(:,2),'ro');
hold on;
ezplot(@(x,y)F(p,[x,y]),[0,1,-1e-3,1e-3]);
xlabel('x');
ylabel('y');
title('Duveau and Henry(matrix)');
legend('实验值','拟合曲线')
展开
 我来答
themanisjimmy
推荐于2018-04-12 · TA获得超过2757个赞
知道小有建树答主
回答量:843
采纳率:89%
帮助的人:231万
展开全部
关于曲线没有画出来,请检查是否发生如下问题:

1、画图函数的调用是否有误。如果错误的使用了画图函数,当然就会画不出图来,例如传入参数与要求不符合、数据类型不匹配等。这种错误多数情况下matlab会给出警告、提示。

2、图最后的axis范围是否囊括了所化曲线的区域。有时候,由于画了2条以上曲线,第二条曲线的范围内会看不到第一条曲线,这时候需要把范围放大。

3、新手最常见的失误,没有使用hold on命令,导致后画曲线把先画的曲线覆盖。这时候图中不显示第一条曲线。

4、关于隐函数,经过测试,对一些特俗情况,ezplot失效。案例:
syms r t%r为距离坐标 t为角度坐标,极坐标
f(r,t)=r+2*cos(t);%定义一个对r的隐函数,f=0时其实这是一个圆
syms x y;
f1(x,y)=f((x^2+y^2)^0.5,atan(y/x));
figure
ezplot(f1);
图形显然是一个圆,但是ezplot什么也画不出来。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式