9、继续matlab数值分析

今天搁公司里搞了一天的shit代码,大概就是客户要把以前的三级联动改成五级联动,并且是多选的联动,其实昨天就已经做好的,只是今天想用bootstrap-multiselect来改进一下,以前的是照着我们组的小位哥哥改的,话说小位哥哥真厉害,不用框架内部的事件能完成,二级多选的联动,也是挺狠的。

1、matlab拉格朗日插值

function yi=Lagrange(x,y,xi)
%x为向量,全部的插值节点
%y为向量,插值节点处的函数值
%xi为标量或向量,被估计函数的自变量;
%yi为xi处的函数估计值
n=length(x);m=length(y);
%插值点与它的函数值应有相同的个数
if n~=m
    error(‘The lengths of X and Y must be equal!‘);
    return;
end
yi=zeros(size(xi));
for k=1:n
    w=ones(size(xi));
    for j=[1:k-1 k+1:n]
        %输入的插值节点必须互异
        if abs(x(k)-x(j))<eps
            error(‘the DATA is error‘);
            return;
        end
        w=(xi-x(j))/(x(k)-x(j)).*w;
    end
    yi=yi+w*y(k);
end

2、Matlab作两个模式类的距离(判别分析),

X1,X2为----类1,类2的训练样本“样品*变量”矩阵

X-为待判样品的“样品*变量”矩阵

COEFF---判别函数的系数向量

DIST-----待判样品的判别函数值向量

CLASS----待判样品的分类

function [coeff,dist,class]=dclass(x1,x2,x)

[N1,p]=size(x1);

[N2,p]=size(x2);

[N,p]=size(x);

meanx1=mean(x1);

meanx2=mean(x2);

covx1=(N1-1)*cov(x1);

covx2=(N2-1)*cov(x2);

mean=(meanx1+meanx2)./2;

cov=(covx1+covx2)./(N1+N2-2);

coeff=inv(cov)*(meanx1-meanx2)‘;

dist=[];

class=[];

for byk=1:N

    w=(x(byk,:)-mean)*coeff;

    if w>0

        r=1;

    else

        r=2;

    end

    dist=[dist,w];

    class=[class,r];

end

coeff=coeff‘;

3、好像是中心差分的差分表

function [Dy,dy,jdw,n]=diffext1(fun,x0,jdwc,max1)
h=1;j=1; n=1;jdW=1;xdW=1; x1=x0+h;x2=x0-h;
Dy(1,1)=(feval(fun,x1)- feval(fun,x2))/(2*h);
while((jdW>jdwc)&(j<max1))
j;x1=x0+2^(-j)*h;x2=x0-2^(-j)*h;
Dy(j+1,1)=(feval(fun,x1)-feval(fun,x2))/(2^(1-j)*h);
for k=1:j
k;Dy(j+1,k+1)= Dy(j+1,k)+( Dy(j+1,k)- Dy(j,k))/(4^k-1);
end
jdW=abs(Dy(j+1,j+1)-Dy(j+1,j)); j=j+1;
end
[n,n]=size(Dy);jdw=abs(Dy(n,n)-Dy(n,n-1));
dy= Dy(n,n);

function yi=Lagrange(x,y,xi)%x为向量,全部的插值节点%y为向量,插值节点处的函数值%xi为标量或向量,被估计函数的自变量;%yi为xi处的函数估计值n=length(x);m=length(y);%插值点与它的函数值应有相同的个数if n~=m    error(‘The lengths of X and Y must be equal!‘);    return;endyi=zeros(size(xi));for k=1:n    w=ones(size(xi));    for j=[1:k-1 k+1:n]        %输入的插值节点必须互异        if abs(x(k)-x(j))<eps            error(‘the DATA is error‘);            return;        end        w=(xi-x(j))/(x(k)-x(j)).*w;    end    yi=yi+w*y(k);end

时间: 2024-12-20 23:52:48

9、继续matlab数值分析的相关文章

MATLAB数值分析实验

1.用Newton迭代法求方程   的第一个正根. newton.m: function x1=newton(x0,eps) format long format compact x1=x0-dao(x0); while abs(x1-x0)>eps x0=x1; x1=x0-dao(x0); end dao.m: function y=dao(x) y=tan(x)-exp(x); y1=tan(x)^2 - exp(x) + 1; y=y/y1; 结果: >> x1=newton(1

【分享】近4000份数学学习资源免费分享给大家

一直以来喜欢收集数学类的教程资源,于是费了好大劲从万千合集站上扒拉了下来,总结归类了一下,一共有将近4000本电子书.经测试,均可免费下载,可能会弹出小广告,可不必理会之.[仅供学术学习和交流,请无用于商业用途.]另外,如有可能,还请尽量支持正版纸质书.   数学史(54)     数学史.rar 55.6 MB   数学的起源与发展.rar 4.3 MB   费马大定理—一个困惑了世间智者358年的谜.pdf 9.5 MB   通俗数学名著译丛14-无穷之旅:关于无穷大的文化史.pdf 14.

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

1.误差的来源 模型误差:数学模型与实际问题之间的误差 观测误差:测量数据与实际数据的误差 方法误差:数学模型的精确解与数值方法得到的数值解之间的误差:例如 舍入误差:对数据进行四舍五入后产生的误差 2.减少误差的几种方法 现在,我们一般用计算机解决计算问题,使用最多的是Matlab软件.对实际问题进行数学建模时,可能存在模型误差,对数学模型进行数值求解时,我们使用的方法可能产生方法误差,我们输入计算机的数据一般是有测量误差的,计算机在运算过程的每一步又会产生舍入误差(十进制转化为二进制时可能产

8、数值分析与matlab

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); en

MATLAB新手教程

MATLAB新手教程   1.MATLAB的基本知识 1-1.基本运算与函数    在MATLAB下进行基本数学运算,仅仅需将运算式直接打入提示号(>>)之後,并按入Enter键就可以.比如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上. 小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗

在.NET中应用MATLAB算法

在科学研究和工程应用中,往往要进行大量的数学计算,其中包括矩阵运算.这些运算一般来说难以用手工精确和快捷地进行,而要借助计算机编制相应的程序做近似计算.目前流行用Basic.Fortran和c语言编制计算程序, 既需要对有关算法有深刻的了解,还需要熟练地掌握所用语言的语法及编程技巧.对多数科学工作者而言,同时具备这两方面技能有一定困难.通常,编制程序也是繁杂的,不仅消耗人力与物力,而且影响工作进程和效率.为克服上述困难,美国Mathwork公司于1967年推出了"Matrix Laborator

Levenberg-Marquardt 的 MATLAB 代码

参考资料: 1,<精通MATLAB最优化计算(第2版)>作者:龚纯 等 的 第9章 9.3 小节 L-M 法 2,<数值分析> 作者:Timothy Sauer 的 第4章 4.4节 非线性最小二乘的 例子 第一本书里头虽然有代码,然而有错误,修正了错误之处 % opti_LM_test1 % 测试了 MATLAB最优化 书中的 L-M 的例子,结果是正确的 clear all;clc;close all; syms t; f = ... [t^2+t-1; 2*t^2-3]; S

【原创】开源Math.NET基础数学类库使用(六)数值分析之线性方程直接求解

开源Math.NET基础数学类库使用系列文章总目录: 1.开源.NET基础数学计算组件Math.NET(一)综合介绍  2.开源.NET基础数学计算组件Math.NET(二)矩阵向量计算  3.开源.NET基础数学计算组件Math.NET(三)C#解析Matlab的mat格式 4.开源.NET基础数学类库使用Math.NET(四)C#解析Matrix Marke数据格式 5.开源.NET基础数学类库使用Math.NET(五)C#解析Delimited Formats数据格式 6.开源.NET基础

【原创】开源Math.NET基础数学类库使用(三)C#解析Matlab的mat格式

开源Math.NET系列文章目录: 1.开源.NET基础数学计算组件Math.NET(一)综合介绍  2.开源.NET基础数学计算组件Math.NET(二)矩阵向量计算  3.开源.NET基础数学计算组件Math.NET(三)C#解析Matlab的mat格式 4.开源.NET基础数学类库使用Math.NET(四)C#解析Matrix Marke数据格式 5.开源.NET基础数学类库使用Math.NET(五)C#解析Delimited Formats数据格式 6.开源.NET基础数学类库使用Mat