两组数据 时间和温度 怎么用MATLAB做一个温度随时间变化的曲线图?
发布网友
发布时间:2022-04-29 23:51
我来回答
共3个回答
热心网友
时间:2023-10-10 16:40
关键在于,你是仅仅想画图,还是要拟合。
如果想画图的话:
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');
当然上面仅仅只是一个例子,当你的模型表达式是非线性时,最好用最小二乘法来做。
可以搜搜我以前的贴子,看看
应当会有所收获。
热心网友
时间:2023-10-10 16:40
用plot命令绘图即可。
例子:
t=[1,2,3,4,5,6,7,8,9,10];
T=[35,33,30,27,25,30,32,34,35,37];
plot(t,T);
xlabel('时间(h)');
ylabel('温度(℃)');
title('温度时间变化曲线');结果如下:
热心网友
时间:2023-10-10 16:41
%欢迎交流
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')
%绘制图例
基本的就是这样。