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<rightwhile left<right&x(right,2)>=baseright=right-1;endc=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)<=baseleft=left+1;endc=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>0xstar=[fa,fb];index=0;it=0;return
end
k=0;
while abs(b-a)/2>epx=(a+b)/2;fx=feval(fun,x);if fx*fa<0b=x;fb=fx;elsea=x;fa=fx;endk=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:nx(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

  

转载于:https://www.cnblogs.com/weizhen/p/5828051.html

8、数值分析与matlab相关推荐

  1. 数值分析的matlab答案,Matlab作业3(数值分析)答案.doc

    Matlab作业3(数值分析)答案 Matlab作业3(数值分析) 机电工程学院 (院.系) 专业 班 组 学号 姓名 实验日期 教师评定 计算多项式乘法(x2+2x+2)(x2+5x+4). 答: ...

  2. 数值分析用MATLAB实验报告,数值分析matlab实验报告

    数值分析实验,matlab 实验3.1最小二乘拟合 一.实验内容 编制以函数 xk k 0为基的多项式最小二乘拟合程序,并用于对下表中数据作3次 n 取权数 i n akx k 1,求拟合曲线 k 0 ...

  3. 数值分析牛顿法 matlab,科学网—数值分析--非线性函数牛顿迭代法matlab程序 - 殷春武的博文...

    %%%程序编写者  西北工业大学自动化学院    Email: yincwxa2013@mail.nwpu.edu.cn %%  All rights reserved clear clc x0=in ...

  4. 数值分析matlab最小二乘法,数值分析及其MATLAB实验(第2版)

    第1章数值分析的基本概念11.1数值算法的研究对象11.2误差分析的概念31.3数值算法设计的注意事项8习题10上机实验题11第2章数值代数132.1高斯消去法132.2直接三角分解法212.3范数和 ...

  5. 现代数值分析 matlab,现代数值分析(MATLAB版)

    商品描述: [编辑推荐]: 马昌凤编著的<现代数值分析>是普通高等教育十二五规划教材之一.本书共九章节,内容包括现代数值分析引论.非线性方程的求根方法.线性方程组的直接解法.线性方程组的迭 ...

  6. 数值分析共轭梯度法matlab程序,数值分析11(共轭梯度法).ppt

    Possion方程: 令 h = 1/(n+1) , xj= jh, yj = jh ( i , j = 0,1, ···, n+1 ) 记 ui,j= u(xi , yj ), ( i , j = ...

  7. 数值分析中MATLAB的应用

    一.matlab的基本语句编写 首先我们来熟悉一下matlab的基本操作 2+5%计算包括算数运算.逻辑运算和关系运算三种基本运算 %每种计算有自己的运算符,对关系和逻辑运算,还有相应的运算函数%算数 ...

  8. 【数值分析实验MATLAB】数值积分:梯形公式、辛普森公式、复化梯形公式、复化辛普森公式、龙贝格算法、自适应求积方法

    (1)Matlab代码: f1: if x==0y=1; else%y=exp(-x^2);y=(sin(x))/x; end 梯形公式: a=0; b=1; tx=(b-a)/2*(f1(a)+f1 ...

  9. matlab中nabisect函数,数值分析在MATLAB中的实现(M函数文件)

    学习数值分析过程中编写的各章中涉及的方法的M函数相互交流,如有错误请多指教部分内容如下:(na--numerical analysis)数据建模:nalagr--拉格朗日插值naspline--三阶样 ...

最新文章

  1. 认识nio中buf的三个常用属性
  2. python3 readline,Python3:readlines 或者 enumerate 是否会导致文件流为空
  3. java上机面试题 039_深入 Java 虚拟机之面试总结篇
  4. dos常用文件操作命令
  5. 佳能hdr_烧设备无止境不代表随时败家,佳能EOS 5D4“闲鱼”翻身取代200D
  6. numpy 加速 矩阵相加_Numpy知识
  7. 系统集成项目管理工程师2022年上半年广东卷下午案例分析题及答案
  8. 使用echarts模拟迁徙图
  9. Linux 各类软件整理汇总
  10. 产品经理如何看待NPDP认证?
  11. php 生成小程序码
  12. 数据库连接池怎么用?
  13. 不要让Microsoft edge 打开IE浏览器的设置(兼容性问题)
  14. openssl生成随机密码。
  15. 【软件工程】 软件需求分析
  16. Firefly 常用命令
  17. Flutter开发:运行flutter upgrade命令报错Exception:Flutter failed to create a directory at…解决方法
  18. js-image-compressor 图片压缩插件
  19. Agile的相关概念
  20. 洛谷 P1425 小鱼的游泳时间 C语言

热门文章

  1. 2048小游戏 java版(代码+注释)
  2. 著名数学大师丘成桐:我们为什么要读数学科普书【有视频】
  3. (zt)魔方玩法(图解)
  4. python打包二进制文件(pyd\dll\exe)
  5. PC实现Win10/原生安卓双系统
  6. 小米重要通知android,Android开发笔记——小米通知‘坑’ app的通知一直显示在不重要通知里 ......
  7. 编译原理 - 词法分析
  8. 服务器与云服务器租用有哪些区别呢?
  9. 爱因斯坦曾出过这样一道数学题:有一条长阶梯,若每步跨2阶,最后剩下1阶;若每步跨3阶,最后剩下2阶;若每步跨5阶,最后剩下4阶;若每步跨6阶,则最后剩下5阶;只有每步跨7阶,最后才正好1阶不剩。参考例
  10. 【博学谷学习记录】超强总结,用心分享丨大数据超神之路(五):Hadooop基础篇