如何使用MATLAB在一个图中创建多条拟合曲线的方法
- 以下是未进行拟合的原始曲线的实现代码
x1=[0,2.95,6,7.0,13.1,15]; x2=[0,3.1,6,7.1,12.9,15]; y1=[410,328,350,365,250,245]; y2=[400,320,348,362,250,245]; plot(x1,y1); hold on $不更新图形的情况下画第二条曲线 plot(x2,y2);
- 下面进行图形的拟合
点击工具➡️基本拟合➡️保形插值。
选择数据中选择data1,绘制拟合图中选择保形插值。
(这里我选择保形插值,因为我希望保留曲线的形状趋势)
可以看到虽然保形插值曲线绘制成功了,但是是三条曲线在同一个图中,而且保形曲线只能有一条,不是我想要的两条保形曲线。
3.我们换一种方法修改代码,加入cftool
x1=[0,2.95,6,7.0,13.1,15];
x2=[0,3.1,6,7.1,12.9,15];
y1=[410,328,350,365,250,245];
y2=[400,320,348,362,250,245];
cftool
点击运行,X data选择x1,Y data 选择y1,右侧选择Interpolant,method选择shape-preserving(PCHIP).
右下角的图标中就出现了使用保形插值方法拟合的曲线,这样我们就得到了一条拟合曲线了。
怎么在图形中生成第二条曲线呢,进入第四步。
4.点击文件➡️选择 generate code导出生成这条曲线的代码。
我们会发现下面的代码是函数形式的m文件,并不是我们经常用的.m脚本文件。所以这个函数是可以直接在脚本文件中进行调用的。
function [fitresult, gof] = createFit1(x1, y1)
%CREATEFIT1(X1,Y1)
% Create a fit.
%
% Data for 'untitled fit 1' fit:
% X Input : x1
% Y Output: y1
% Output:
% fitresult : a fit object representing the fit.
% gof : structure with goodness-of fit info.
%
% 另请参阅 FIT, CFIT, SFIT.% 由 MATLAB 于 26-Nov-2018 11:06:07 自动生成%% Fit: 'untitled fit 1'.
[xData, yData] = prepareCurveData( x1, y1 );% Set up fittype and options.
ft = 'pchipinterp';% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, 'Normalize', 'on' );% Plot fit with data.
%figure( 'Name', 'untitled fit 1' );
h = plot( fitresult, xData, yData );
legend( h, 'y1 vs. x1', 'untitled fit 1', 'Location', 'NorthEast' );
% Label axes
xlabel x1
ylabel y1
grid on
5.如何调用函数生成曲线
按照3.4中方法我们生成这两条曲线的代码,我这里分别把函数名命名为了
function [fitresult, gof] = createFit(x2, y2)和
function [fitresult, gof] = createFit1(x1, y1)
所以只要先后调用这两个函数就可以了。具体代码如下:
x1=[0,2.95,6,7.0,13.1,15];
x2=[0,3.1,6,7.1,12.9,15];
y1=[410,328,350,365,250,245];
y2=[400,320,348,362,250,245];
createFit(x2, y2)
hold on
createFit1(x1, y1)
至此,教程结束,欢迎大家与我交流。
微博@慕亦001
如何使用MATLAB在一个图中创建多条拟合曲线的方法相关推荐
- pyplot画多个图,在一个图中绘制多个子图
pyplot绘制多个子图方法 matplotlib在一个图中绘制多个子图用plt.subplot()方法. import matplotlib.pyplot as plt import numpy a ...
- MATLAB中利用cftool导出代码实现一张图中拟合多条平滑曲线
MATLAB中自带的cftool拟合工具箱不能将多条曲线同时画在同一副图中,而常规的plot()函数又不能拟合平滑直线,接下来总结一种可以利用cftool导出的代码,在一张图中拟合多条平滑曲线. 首先 ...
- Spring Boot+RocketMQ集群只会在一个Broker中创建队列
问题: 在使用springboot集成RocketMQ Client后,开启自动创建队列,发现只会在一个Broker中创建Topic,但是在短时间内发送多条信息,就可以在集群情况下,在多个Broker ...
- python boxplot 多组_Python:在一个pann中创建多个boxplots
我已经使用R很长时间了,最近我正在学习Python. 我想在Python中在一个面板中创建多个方框图. 我的数据集是向量形式的,标签向量表示每个数据元素对应的框.示例如下:N = 50 data = ...
- matlab的三条线如何区分,股票的三条线代表什么意思?股票k线图中的三条线如何判断...
股票的三条线代表什么意思? 它各自意味着KDJ三条线,在其中J线的挪动速率更快,次之是K线,比较慢的是D线.KDJ指标是股市上最常见的技术性分析工具,它在根据当日或近期几日最高成交价,最低价位及收盘价 ...
- vscode设置templates_在VScode中创建你的代码模板的方法
使用VScode的用户代码片段功能,来生成自己习惯的代码模板,提升开发效率 1.选择菜单里的 文件 > 首选项 > 用户代码片段 2.选择你需要自定义模板的文件,以vue为例 3. 配置对 ...
- matlab换挡程序,一种基于MATLAB换挡过程中快速锁定分析数据的方法与流程
本发明涉及汽车变速器数据分析,特别的,涉及一种基于matlab换挡过程中快速锁定分析数据的方法. 背景技术: 自动变速器的核心功能是能根据驾驶员意图进行自动换挡,解放驾驶员的左脚:在自动变速器的使用过 ...
- R语言使用pROC包在同一图中绘制两条ROC曲线并通过假设检验检验ROC曲线的AUC或者偏AUC的差异(输出p值)
R语言使用pROC包在同一图中绘制两条ROC曲线并通过假设检验检验ROC曲线的AUC或者偏AUC的差异(输出p值) 目录
- python 子图_python 实现在一张图中绘制一个小的子图方法
有时候为了直观展现图的信息,可以在大图中添加小子图的方式进行数据分析,如下图所示: 具体的代码如下:该图连接了数据库,当然重要的不是数据展示,而是添加子图的方法. import matplotlib. ...
最新文章
- 重温目标检测--YOLO v1
- bash: 无法为立即文档创建临时文件: 权限不够_世界顶级Linux大牛耗时三年总结出3000页Linux文档...
- jquery UI 后台图
- 成功解决TypeError int object is not iterable
- SQL Server 2017 2019 Linux(Centos、Unbuntu16.04、Unbuntu18.04、Unbuntu20.04)安装过程详解
- 如何在mysql查找效率慢的SQL语句
- 如何用chrome查看post get及返回的数据
- 自定义列_如何对Pandas DataFrame进行自定义排序
- 使用MediaCodec硬解码h.265视频及音频进行播放
- .net连接mysql中文乱码问题的解决
- 学习C++项目—— 搭建多线程网络服务框架,性能测试(并发性能测试,业务性能测试,客户端响应时间测试,网络带宽测试)
- 一文搞懂三种工厂模式
- PG修改表字段长度报错 cached plan must not change result type Hint: Please restore the result type
- 前端页面点击姓名查看详情
- html制作网页毕业论文,网页设计与制作 (毕业论文)
- ThinkAdmin基本操作
- 计算机专业必须知道的东西——C语言的发展
- ​Web前端剪切板文本分享到文件发送
- 乐学偶得python怎么样_乐学偶得 - 主页
- VBA生成和为定值的随机数