Matlab:拟合(1)
拟合练习:

function f = curvefun(x, tdata)
f = (x()*x()*x()) / (x()-x()) * ( exp(-x()*tdata)/(x()-x()) + exp(-x()*tdata)/(x()-x()) - (/(x()-x())+/(x()-x()))*exp(-x()*tdata) );
%数据输入
tdata = [0.25 0.5 0.75 1.5 2.5 3.5 4.5 ];
vdata = [ ];
%拟定估计值
x0 = [ ];
x = lsqcurvefit('curvefun', x0, tdata, vdata)
f = curvefun(x, tdata)
%作散点图和你和图
plot(tdata, vdata, 'k+')
hold on
plot(tdata, f, 'r')
结果: x =
256.2035 0.1512 0.2422 1.9506
f =
Columns 1 through 8
39.7501 62.2565 74.2700 79.9309 81.3616 77.1765 71.3312 65.2712
Columns 9 through 16
59.5001 54.1706 49.3072 44.8893 37.2494 30.9669 25.7925 21.5224
Columns 17 through 23
17.9914 15.0658 12.6370 10.6167 8.9330 7.5272 6.3515


方法一:解超定方程组

x = :0.1:;
y = [-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
R = [(x.^)', x', ones(, )];
A = R\y'
结果:
A =
-9.8108 20.1293 -0.0317
即为系数a1, a2, a3
方法二:用多项式拟合
x = :0.1:;
y = [-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];
%二次多项式拟合
A = polyfit(x, y, )
%计算拟合之后的原始数据点的函数值
Y = polyval(A, x);
%作出数据点和拟合曲线的图形
plot(x, y, 'k+')
hold on
plot(x, Y, 'r')
结果:
A =
-9.8108 20.1293 -0.0317
拟合曲线

Matlab:拟合(1)的更多相关文章
- matlab拟合函数的三种方法
方法一:多项式拟合polyfit 1 x=[1 2 3 4 5 6 7 8 9]; 2 3 y=[9 7 6 3 -1 2 5 7 20]; 4 P= polyfit(x, y, 3) %三阶多项式拟 ...
- matlab拟合三维椭球
同学问的,查了下资料. %需要拟合的点的坐标为(0,-174.802,990.048),(0.472,-171.284,995.463),(0.413,-168.639,1003.55 ...
- Matlab:拟合(2)
非线性最小二乘拟合: 解法一:用命令lsqcurvefit function f = curvefun(x, tdata) f = x() + x()*exp() * tdata); %其中x() = ...
- MATLAB拟合正态分布
clear;clc;close all format compact %% 正态分布的拟合 % 生成随机数 num = 50; y = randn(1000,1); x = 1:num; y = hi ...
- MATLAB拟合和插值
定义 插值和拟合: 曲线拟合是指您拥有散点数据集并找到最适合数据一般形状的线(或曲线). 插值是指您有两个数据点并想知道两者之间的值是什么.中间的一半是他们的平均值,但如果你只想知道两者之间的四分之一 ...
- 基于MATLAB的多项式数据拟合方法研究-毕业论文
摘要:本论文先介绍了多项式数据拟合的相关背景,以及对整个课题做了一个完整的认识.接下来对拟合模型,多项式数学原理进行了详细的讲解,通过对文献的阅读以及自己的知识积累对原理有了一个系统的认识.介绍多项式 ...
- 【数学建模】day04-插值与拟合
关于插值原理,这篇文章里总结过. 插值,是在有限个数据点的情况下,模拟出更多的点来适应实际问题的需要. 拟合,是在已知数据点基础上,以已知点处最小误差为标准,模拟出近似函数. 二者有似,实则不同,ma ...
- 利用MATLAB仿真节点个数和节点通信半径与网络连通率的关系
一.目的 ①在不同节点个数的情况下,用Matlab拟合出连通率与通信半径的关系曲线. ②在不同节点通信半径的情况下,用Matlab拟合出连通率与节点个数的关系曲线. 二.方法描述 在1x1的单位矩形中 ...
- StretchDIBits速度测试(HALFTONE)
StretchDIBits速度测试(HALFTONE) 下面实验中显示窗口大小为1024*768,拉伸模式设为HALFTONE. 一.单通道图像 (1) 保持图像高度为1024,宽度从24到2024递 ...
随机推荐
- 怎样找Android里自带的数据库?
首先先让它显示出来. 窗口window下的Show View 下的File Explorer(other里), 这时File Explorer窗口 就会显示出来,下一步我们找到data下的data,然 ...
- COGS 渡轮问题 (LIS规定字典序输出方案数)
/* 下标字典序最小 */ #include<iostream> #include<cstdio> #include<cstring> #define maxn 1 ...
- css标签选择器
/*标签选择器*/ input[type="text"] { width: 60%; } </style>
- My.Ioc 代码示例——实现自动注册/解析
在很多 Ioc 容器中,当使用者向容器请求实现了某个契约类型 (Contract Type) 的服务时 (调用类似如下方法 container.Resolve(Type contractType)), ...
- c - static 变量
static变量和普通的局部变量不同,位于数据区中,在函数的外部初始化. ref: http://www.cnblogs.com/hustcat/archive/2009/06/30/1513755. ...
- flash文件运动节奏的控制
flash里面,比较难的是控制运动的节奏.参考了几个韩国网站的fla源文件,提出以下几个建议与参考. 1,flash文件里面,每秒的帧数 设置为 120,或者一个比较大的数字(90,60).普通的文件 ...
- expdp 备份数据库
操作系统层面创建目录 [root@Oracle10g ~]# mkdir -p /home/oracle/db_back/ 2. 修改目录的所属用户.所属组 [root@Oracle10g ~]# c ...
- UIScrollView设置了contentSize后还是没办法滚动?
1.最常见的原因是 contentSize 这个属性,比uiscrollview的frame要小, 无需滚动, 自然就滚动不了. scrollenabled 这个属性,标识着是否允许滚动,要言设成ye ...
- Swift - 12 - 区间运算符和for-in
//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...
- 自定义UITableViewCell时, 使用autoLayout, 无法很好的做到屏幕适配
解决方法: 重写cell的setFrame方法即可 - (void)setFrame:(CGRect)frame { frame.size.width = self.window.frame.size ...