%%%1.M文件
%(1).以往少的程序可以在命令行窗口进行编码,但大量的程序编排到命令行窗口,
%会有造成乱码的危险.
(2).如果将命令编成程序存储在一个文件中(M文件),依次运行文件中的命令,
则可以重复进行
%(3).M文件根据调用方式的不同可以分为两类:
Script:脚本文件/命令文件
Function:函数文件
M文件均以 .m为扩展名
(4).
(5).
(6).
%%%2.数据输入:input
>>A=input('请输入你要输入的数字:');
请输入你要输入的数字:1.2 %输入后保存到A里面
(1).A = importdata(filename)将数据从文件名所表示的文件中加载到数组 A 中

(2).num=xlsread(filename)适用于纯数值型数据
%a.xlsread 是数学软件 MATLAB 中读取 Excel 文件中数据的一个函数
%即从当前程序所在文件夹里,按照函数中的参数指定的范围,从单元格开始读取文件,返回数据。
b. num = xlsread(‘filename’,‘sheet’)选择所在的sheet,比如说’sheet1’
c.num = xlsread(‘filename’, ‘range’)所在的单元格范围,比如说range=‘A1:A8’
(3).A=readtable(filename)通过从文件中读取列向数据来创建表。
+++++申明: filename是文件名字 pathname是该文件地址
%%%3.网格线和坐标边框
(1).网格线:grid on
grid off
%figure() 函数figure主要是创建图窗窗口
figure(n)查找到n存在时,将当前窗口切换成n,不存在时创建标识为n的图窗
(2).对数坐标图:
semilogy(x1,y1,'参数1'…)%x轴为线性坐标刻度,y轴为常用对数刻度
%%%4.数据处理:
(1).插值问题:题目所给的数值参考(一堆数据)是按照规律每隔多少进行测量所得到的值:
那么问题来了:求那些在规律间隔内的数,并做出变化图
%上述问题可归结为:已知函数在某区间(域)内若干个点所处的位置,求函数在该区间其他点上的值
在x0,x1…x(n)处取值y0,y1…y(n),关于y(n)的多项式存在并且唯一(就是过这些点的方程是唯一的)
所以这个方程就是插值问题的解
%常用的插值法:Lagrange:拉格朗日多项式插值法
科学研究中,几乎所有的问题都可以用y=f(x)的方程进行表达,但在实践中,我们只知道一部分坐标的
数据,而根据这些数据我们能够求出这些数据的解析式,但无法求出这些数据(x)之外的所对应的y值。
所以多项式插值应运而生。
%假设有3个不在同一直线上的点,分别为(x1,y1)、(x2,y2)、(x3,y3),求出过这3个点的曲线方程
%假设方程为:f(x)=a0+a1*x+a2*x^x
则有f1(x1)=a0+a1*x1+a2*x2^2
f2(x2)=a0+a1*x2+a2*x2^2
f3(x3)=a0+a1*x3+a2*x2^2 %确实难解三元2次方程组
拉格朗日认为可以通过三根二次曲线相加来达到目标。那这是怎么的三根二次曲线呢?
第一根曲线f1(x1),在 x1 点处取值,f1(x1)=1,f2(x2)=f3(x3)=0,因此得到过(x1,1)(x2,0)(x3,0)
的曲线,
第二根曲线f2(x2),在 x2 点处取值,f2(x2)=1,f1(x1)=f3(x3)=0,因此得到过(x1,0)(x2,1)(x3,0)
的曲线,
第三根曲线f3(x3),在 x3 点处取值,f3(x3)=1,f2(x2)=f1(x1)=0,因此得到过(x1,0)(x2,0)(x3,1)
的曲线,
往下依次……
%所以得到,y1*f1(x1)--->从坐标角度理解:那么就得到了过(x1,y1)的曲线
%y2*f2(x2)--->过(x2,y2)的曲线
%y3*f3(x3)--->过(x3,y3)的曲线
在根据拉格朗日的说法:f(x)=y1*f1(x)+y2*f2(x)+y3*f3(x)
所以得到通式:f(x)=y(i)*fi(x)
%%拉格朗日多项式插值实现流程:
1.根据初始数据x的取值求出相应的y值
2.建立m×n的矩阵
3.计算f(x)=y(i)*fi(x)(for循环)
(2).高次拉格朗日插值的Runge(龙格)现象:
Runge(龙格)的研究,证明了多项式插值的次数不超过七时成立,超过七时,插值多项式会出现严重的
震荡现象(称为Runge现象)
以f(x)=1/(1+(25*x)^2)为例:
%演示龙格函数的插值情况
for i=3:2:11
x=linspace(-1,1,i);
y=1./(1+25*x.^2);
p=polyfit(x,y,i-1);
xx=-1:0.01:1;
yy=polyval(p,xx);
plot(xx,yy,'b');
hold on;
grid on;
end;
plot(x,1./(1+25*x.^2),'r');
(2).MATLAB中一维插值:
一维插值命令是interp1,格式为:y(i)=interp1(x,y,xi,'选用的插值方法是什么(Lagrange)等等');
%x,y:是我已知的坐标
%xi:是我待插值的坐标
%插值方法:'nearest'-最邻值插值
'linear'--线性插值
'spline'--三次样条插值
'cubic'--立方插值
二维插值命令是interp2,格式为:z(i)=interp2(x,y,z,xi,yi,'方法');

MATLAB中插值算法实现的更多相关文章

  1. paper 121 :matlab中imresize函数

    转自:http://www.cnblogs.com/rong86/p/3558344.html matlab中函数imresize简介: 函数功能:该函数用于对图像做缩放处理. 调用格式: B = i ...

  2. matlab中imresize

    matlab中函数imresize简介: 函数功能:该函数用于对图像做缩放处理. 调用格式: B = imresize(A, m) 返回的图像B的长宽是图像A的长宽的m倍,即缩放图像. m大于1, 则 ...

  3. MATLAB中的函数的归总

    字符串操作函数 1.        函数eval可以用来执行用字符串表示的表达式 2.        函数deblank可以去掉字符串末尾的所有空格 3.        函数findstr可以用来在长 ...

  4. Matlab中插值函数汇总(上)

    Matlab中插值函数汇总分上下两个部分,主要整合自matlabsky论坛dynamic发表于2009-2-21 21:53:26 的主题帖,以及豆丁网rickoon上传的教材第8章<插值,拟合 ...

  5. [转载]Matlab中插值函数汇总和使用说明

    http://blog.sciencenet.cn/blog-457143-679275.html MATLAB中的插值函数为interp1,其调用格式为:  yi= interp1(x,y,xi,' ...

  6. MATLAB中绘制质点轨迹动图并保存成GIF

    工作需要在MATLAB中绘制质点轨迹并保存成GIF以便展示. 绘制质点轨迹动图可用comet和comet3命令,使用例子如下: t = 0:.01:2*pi;x = cos(2*t).*(cos(t) ...

  7. matlab 中 eps 的分析

    eps(a)是|a|与大于|a|的最小的浮点数之间的距离,距离越小表示精度越高.默认a=1: 这里直接在matlab中输入:eps == eps(1)(true). 我们知道浮点数其实是离散的,有限的 ...

  8. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  9. MATLAB中FFT的使用方法

    MATLAB中FFT的使用方法 说明:以下资源来源于<数字信号处理的MATLAB实现>万永革主编 一.调用方法X=FFT(x):X=FFT(x,N):x=IFFT(X);x=IFFT(X, ...

随机推荐

  1. 资源分配单位(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 那些分配了资源的任务,其中的资源是有数量单位的,默认工时单位是100%,材料单位是1. 比如某吃货,为了完成吃米饭这一任务 ...

  2. 使用xlsx实现Excel导入

    需求 实现在系统里批量导入数据,通过上传一个excel文件,前端将文件处理为json数据发送给后端.(最好与后端定义好上传的文件模板,方便处理数据) 实现 使用xlsx: xlsx的github地址: ...

  3. Learning to Sample

    此处主要提出几个疑问和想法: 疑问: 为什么需要这个匹配过程?虽然G可能不是P的子集,但是为什么一定需要他是子集呢? 如果一定要匹配的话,匹配过程是没法反向传播的,所以只可以在推理阶段使用,那么这个推 ...

  4. 【LeetCode】278. First Bad Version 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 二分查找 日期 题目地址:https://leetcode.c ...

  5. P1753HackSon的趣味题

    1 #include<stdio.h> 2 #include<algorithm> 3 #include<iostream> 4 #include<stdli ...

  6. 玩转 ByteBuffer

    为什么要讲 Buffer 首先为什么一个小小的 Buffer 我们需要单独拎出来聊?或者说,Buffer 具体是在哪些地方被用到的呢? 例如,我们从磁盘上读取一个文件,并不是直接就从磁盘加载到内存中, ...

  7. JVM 内存布局

    JVM 内存布局规定了 Java 在运行过程中内存申请.分配.管理的策略,保证了 JVM 的高效稳定运行. 线程是否共享 Heap (堆区) 堆是 OOM 故障最主要的发生区域.它是内存区域中最大的一 ...

  8. Adversarial Training with Rectified Rejection

    目录 概 主要内容 rejection 实际使用 代码 Pang T., Zhang H., He D., Dong Y., Su H., Chen W., Zhu J., Liu T. Advers ...

  9. vue 滚动公告

    <!-- 滚动公告 --> <div class="textArr"> <p class="slice-enter-active" ...

  10. Java Web程序设计作业目录(作业笔记)

    Java Web程序设计笔记 • [目录] 第1章 Web应用程序 >>> 1.1.3 使用 Eclipse 创建一个静态的登录页面 1.2.5 使用 IE 或Chrome等浏览器, ...