两组数据 时间和温度 怎么用MATLAB做一个温度随时间变化的曲线图?

来源:百度知道 编辑:UC知道 时间:2024/07/16 12:34:48
两组数据 时间和温度 怎么用MATLAB做一个温度随时间变化的曲线图?
1 12
2 23
3 26
4 46

请给出具体的程序和说明最好

关键在于,你是仅仅想画图,还是要拟合。
如果想画图的话:
x=[1,2,3,4];
y=[12,23,26,46]; %我怀疑你的第三个数据是不是36
plot(x,y,'*') %这个是画点图,如果想画线plot(x,y)

如果想拟合,就往下看(不过你的数据点稍少了一些)
然后从图中,我们得有一个拟合的模型。这个模型通常是:
线性模型,多项式,正余弦,指对数等。。
记得:一定得先有模型,才能拟合。
像上面这样,我们用线性模型。线性模型的一般表达式是:y=ax+b
这里我们只有a,b不知道。只要我们用最小二乘法拟合出合适的a,b即可。
将x,y已知的4个点代入y=ax+b会得到二元一次方程组(4个方程),这里一般写成矩阵形式,方程数大于变量数,可求得:

A=[x(:),ones(size(x(:)))];%这个是上面二元一次方程组对应的矩阵,注意x(:)是将x转成列向量
ab=A\y(:);
a=ab(1)
b=ab(2)
%求出拟合值,并作图
yfit=a*x(:)+b;
hold on
plot(x,yfit,'r');

当然上面仅仅只是一个例子,当你的模型表达式是非线性时,最好用最小二乘法来做。
可以搜搜我以前的贴子,看看
应当会有所收获。

%欢迎交流

time=[1 2 3 4]; %定义时间
temp=[12 23 26 46]; %定义温度
plot(time,temp) %画图
xlabel('time') %绘制x坐标说明
ylabel('temperature') % 绘制y坐标说明
title('Time versus temperature') %绘制图形标题
legend ('Temperature 1') %绘制图例

基本的就是这样