1、今天要拷matlab代码了,而且是很恶心的算法,估计也没几个人能看得懂,就连我自己都看不懂。

  我也不知道这样做的意义何在,可能只是证明我在这世上曾经学过那么那么难的东西吧

  首先是一个matlab版的快速排序,同学们应该都看得懂吧。

  

function f=quicksort(x,left,right)
if left<right
[i,x]=Division(x,left,right);
x=quicksort(x,left,i-1);
x=quicksort(x,i+1,right);
end
f=x;
function [i,x]=Division(x,left,right)
base=x(left,2);
while left<right
while left<right&x(right,2)>=base
right=right-1;
end
c=x(left,2);d=x(right,2);
c1=x(left,1);d1=x(right,1);
c2=x(left,3);d2=x(right,3);
c3=x(left,4);d3=x(right,4);
c5=x(left,5);d5=x(right,5);
x(left,2)=d;x(right,2)=c;
x(left,1)=d1;x(right,1)=c1;
x(left,3)=d2;x(right,3)=c2;
x(left,4)=d3;x(right,4)=c3;
x(left,5)=d5;x(right,5)=c5;
% x(left,1)=x(right,1);
while left<right&x(left,2)<=base
left=left+1;
end
c=x(left,2);d=x(right,2);
c1=x(left,1);d1=x(right,1);
c2=x(left,3);d2=x(right,3);
c3=x(left,4);d3=x(right,4);
c5=x(left,5);d5=x(right,5);
x(left,2)=d;x(right,2)=c;
x(left,1)=d1;x(right,1)=c1;
x(left,3)=d2;x(right,3)=c2;
x(left,4)=d3;x(right,4)=c3;
x(left,5)=d5;x(right,5)=c5;
% x(right,1)=x(left,1);
end
i=left;

  以上大概的意思就是根据向量中第二列的值,将向量的其他列进行快速排序

2、下边这个应该是二分法求函数零点的程序吧

function [xstar,index,it]=bisect(fun,a,b,ep)
if nargin<4 ep=1e-5;end
fa=feval(fun,a);
fb=feval(fun,b);
if fa*fb>0
xstar=[fa,fb];index=0;it=0;
return
end
k=0;
while abs(b-a)/2>ep
x=(a+b)/2;fx=feval(fun,x);
if fx*fa<0
b=x;fb=fx;
else
a=x;fa=fx;
end
k=k+1;
end
xstar=(a+b)/2;index=1;it=k;

3、逆天的chi2plot,也就是传说中的正态概率图,属于数据分析部分

function chi2plot(X)
dd=[];
p=[];
[M,N]=size(X);
MEAN=mean(X);
SS_1=inv(cov(X));
for byk=1:M;
DD=(X(byk,:)-MEAN)*SS_1*(X(byk,:)-MEAN)';
dd=[dd,DD];
pp=(byk-0.5)/M;
p=[p,pp];
end
dd=sort(dd)'
xx=chi2inv(p,N)'
plot(xx,dd,'+'),lsline
xlabel('chi2quantitle')
ylabel('Sample generalized diatance')
title('chi2plot')

4、改进的欧拉公式

function [x,y]=Euler_correct(fun,a,b,n,y0)
%改进的Euler公式,其中
%fun为一阶微分方程的函数
%a,b为求解区间的左右端点
%n为等分区间;
%y0为初始条件
x=zeros(1,n+1);y=zeros(1,n+1);
h=(b-a)/n;
x(1)=a;y(1)=y0;
for k=1:n
x(k+1)=x(k)+h;
y0=y(k)+h*feval(fun,x(k),y(k));
y(k+1)=y(k)+h/2*(feval(fun,x(k),y(k))+feval(fun,x(k+1),y0));
end

  

8、数值分析与matlab的更多相关文章

  1. 数值分析 最小二乘 matlab

    1. 已知函数在下列各点的值为   -1 -0.75 -0.5 0 0.25 0.5 0.75   1.00 0.8125 0.75 1.00 1.3125 1.75 2.3125 分别用一次.二次. ...

  2. 【数值分析】误差的分析与减少及Matlab解线性方程的四种方法

    1.误差的来源 模型误差:数学模型与实际问题之间的误差 观测误差:测量数据与实际数据的误差 方法误差:数学模型的精确解与数值方法得到的数值解之间的误差:例如 舍入误差:对数据进行四舍五入后产生的误差 ...

  3. 【书单】matlab 科学计算、数值分析以及数学物理问题

    1. 数学计算 MATLAB数值计算 MATLAB之父 : 编程实践 2. 数学物理问题 高等应用数学问题的MATLAB求解(第3版)(豆瓣评价极好) 3. 模式识别

  4. 9、继续matlab数值分析

    1.matlab拉格朗日插值 function yi=Lagrange(x,y,xi) %x为向量,全部的插值节点 %y为向量,插值节点处的函数值 %xi为标量或向量,被估计函数的自变量: %yi为x ...

  5. MATLAB数值分析实验

    1.用Newton迭代法求方程   的第一个正根. 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ newton.m: function x1=newto ...

  6. MATLAB入门教程

    MATLAB入门教程   1.MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可.例如: ...

  7. MATLAB的crack安装小曲

    MATLAB的crack安装小曲 本学期要学数学模型和数值分析,需要用MATLAB,便琢磨着装MATLAB.我同专业的同学会装MATLAB的crack,他是数学协会的理事长,平时爱吹牛,问他一个简单的 ...

  8. 【分享】Matlab R2015a 发布啦!

    本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html Matlab和C#混合编程文章目录:http://www.cnblogs.com ...

  9. MATLAB新手教程

    MATLAB新手教程   .MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,仅仅需将运算式直接打入提示号(>>)之後,并按入Enter键就可以.比如 ...

随机推荐

  1. MATLAB 中几个颜色空间的坐标范围

    在一些图象处理的程序中,我们经常要在不同的颜色空间操作,而且经常要把各颜色空间的坐标转化到 [0,1] 之间,这就需要知道一些常用颜色空间的坐标范围. 虽然可以通过颜色空间转化的公式推导这些范围,但是 ...

  2. day 84 Xadmin组件之构建表单数据

    一 .先设置一些相关配置 1. 创建数据库模型. 在app01 下创建 from django.db import models # Create your models here. class Au ...

  3. 深入理解__proto__ 、constructor和prototype的关系

    深入理解__proto__ .constructor和prototype的关系 2013-11-12 09:56 1390人阅读 评论(3) 收藏 举报  分类: 前端之Javascript(59)  ...

  4. str方法

    'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', ' ...

  5. 各种Web服务器与Nginx的对比

    Tomcat和Jetty面向Java语言,先天就是重量级的Web服务器,它们的性能与Nginx没有可比性. IIS只能在windows操作系统上运行,Windows作为服务器在稳定性与其他一些性能上都 ...

  6. 分布式系统架构常识:CAP理论。

    什么是CAP理论? 2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想.2年后麻省理工学院的Seth Gilbert和NancyLynch从理论上证明 ...

  7. C++中采用操作符重载完善复数类

    1,复数类应该具有的操作: 1,运算:+,-,*,/: 2,比较:==,!=: 3,赋值:=: 4,求模:modulus: (5),完善的复数类操作符重载必不可少: 2,利用操作符重载: 1,统一复数 ...

  8. poj3216 Prime Path(BFS)

    题目传送门  Prime Path The ministers of the cabinet were quite upset by the message from the Chief of Sec ...

  9. Mac os x安装IDEAL及配置JDK和Maven

    此文章是在已安装好IDEAL前提下进行配置jdk和maven的操作文档. 1. 下载并配置JDK及Maven Mac下载并配置JDK方法: 详见Mac安装JDK和JMeter5-安装JDK Mac下载 ...

  10. ng2-file-upload插件在ionic3中的使用方法

    本文主要说明在ionic3中使用ng2-file-upload插件,上传多种类型文件(图片.word.excel.ppt.mp4等)的使用方法. 1.html代码: <button ion-bu ...