如何用matlab画函数图象并输出函数表达式

2024-11-26 18:36:15
推荐回答(2个)
回答1:

你这是拟合问题。

其一般做法是:

首先,观察离散点的性质,看它可能是什么函数表达式(具有较大的人为性,同一组数据,个人有个人的看法)。

其次,用这种函数表达式的一般形式去拟合,求出待定的系数。

最后,给出该函数表达式。

举个例子:

-------------------------------------------------------------------

%首先人为创造一套数据,

x=-2*pi:0.1*pi:2*pi;

num=length(x);

y=sin(x)+0.01*rand(1,num);  %取函数y=sin(x)上的点,并加上一些随机扰动(可比拟观测误差)

[x;y]

plot(x,y,'r*',x,y,'b-')  %画图查看观测点的性质,这里可以看出应该是正余弦函数

f=inline('a(1)*sin(a(2)*x+a(3))+a(4)','a','x')   %故,采用sin函数的一般表达式y=A*sin(wx+a)+b 共4个参数  来拟合。

[a res]=lsqcurvefit(f,[1 1 1 1],x,y)  %向量a就是这4个参数,res代表了和误差,可以看出,与真实还是比较接近的。

回答2:

你对这个问题的看法有问题
经过这两个点的函数有很多,直线只是其中一个,
那么对于很多个点的坐标的话,函数表达式不是唯一的,你怎么确定呢?

如果你想要的是多项式函数,那就使用polyfit函数来拟合就行了!