matlab数值分析

clc,
clear all;
close all;

%%
% %创建几何分布
% r1=geornd(1 ./2.^(1:6));
% r2=geornd(0.01,[1 5]);
% r3=geornd(0.5,1,6);


%%
% % Beta随机分布数
% a=[1 1;2 2];
% b=[1 2;1 2];
% r=betarnd(a,b);
% r=betarnd(4,2,2,3);
% 
% data=betarnd(4,3,100,1);
% [p,ci]=betafit(data,0.01)


%%
% %正态分布随机数
% n1=normrnd(1:6,1./(1:6));
% n2=normrnd(0,1,[1 5])
% n3=normrnd([1 2 3;4 5 6],0.1,2,3)



%%
% %利用binornd函数生成二项分布随机数
% n=10:10:60;
% r1=binornd(n,1./n)
% r2=binornd(n,1./n,[1 6])
% r3=binornd(n,1./n,1,6)


%%
% %生成X^2分布随机数
% r=chi2rnd(1:6)
% r=chi2rnd(1,[1 6])
% r=chi2rnd(1:6,1,6)


%%
% %指数函数随机分布
% x=0:0.1:30;
% y=exppdf(x,4);
% plot(x,y,'-go')


%%
% %利用exprnd函数生成指数分布随机数
% n1=exprnd(5:10)
% n2=exprnd(5:10,[1 6])
% n3=exprnd(5,2,3)


%%
% %利用frnd生成F分布随机函数
% n1=frnd(1:6,1:6);
% n2=frnd(2,2,[2 3]);
% n3=frnd([1 2 3;4 5 6],1,2,3);


%%
% % 利用gamfrn函数生成T分布随机数
% n1=gamrnd(1:5,6:10);
% n2=gamrnd(5,10,[1 5]);
% n3=gamrnd(2:6,3,1,5);


%%
% %超几何分布随机数
% p=hygepdf(0:10,1000,100,30);


%%
% %利用lognrnd函数生成对数正态分布随机数
% m=1;
% v=2;
% mu=log((m^2)/sqrt(v+m^2));
% sigma=sqrt(log(v/(m^2)+1));
% [M,V]=lognstat(mu,sigma);
% X=lognrnd(mu,sigma,1,1e6);
% 
% MX=mean(X)%对数正态分布随机数的平均数
% VX=var(X)%对数正态分布随机数的方差


%%
% % 利用posisrnd函数生成泊松分布随机数
% lambda=2;
% random_sample1=poissrnd(lambda,1,10)
% random_sample2=poissrnd(lambda,[1 10])
% random_sample3=poissrnd(lambda(ones(1,10)))


%%
% % 瑞利分布随机数
% r1=raylrnd(1:5)
% r2=raylrnd(2,2,3)


%%
% % 利用trnd函数生成t分布随机数
% noisy=trnd(ones(1,6));
% numbers=trnd(1:6,[1 6]);
% numbers=trnd(3,2,6)



%%
% %数学期望的计算
% A1=[2 3 4 5 7 9 44];
% a=mean(A1);%计算向量的均值
% A2=rand(3);%创建随机矩阵
% a2=mean(A2)%默认情况下按列计算矩阵的均值
% a3=mean(A2(:))%计算矩阵所有数的均值
% a4=mean(A2,2)%按行生成矩阵的均值


%%
% %演示其他几个平均数的用法
% X=magic(3)
% X([1 6:9])=repmat(NaN,1,5)
% y1=nanmean(X)
% y2=nanmedian(X)
% A=[1 2 4 4;3 4 6 6;5 6 8 8;5 6 8 8];
% y3=median(A)
% y4=median(A,2)
% x=exprnd(1,10,6)
% y5=harmmean(x);


%%
% %方差与标准差的计算
% A=rand(3);
% a1=var(A)%按列计算数据A的方差
% a2=var(A,[],2)%按行计算数据A的方差
% a3=var(A,1)%计算方差公式的前置因子为1/n
% a4=var(A(:))%计算矩阵A所有数据的方差
% a5=std(A)%按列计算数据A的标准差
% a6=std(A,[],2)%按行计算数据A的标准差
% a7=std(A,1)%计算标准公式的前置因子为1/n


%%
% %最值与极差的计算
% a=rand(3);%随机矩阵
% r1=max(a)%计算矩阵a格列的最大元素
% r2=max(a,[],2)%计算矩阵a各行的最大元素
% r3=min  (a)%计算矩阵a各列的最小元素
% [r4,i1]=min(a(:))%计算矩阵a的最小元素,并返回其位置
% r5=range(a)%计算数据a的差值
% b=magic(3)/10
% max(a,b)%比较矩阵a和b的大小,返回较大值组成的新矩阵


%%
% % 中位数与分位数的计算
% A=[0 1 1;2 3 2;1 3 2;4 2 2];
% a=median(A)%返回一个行向量,其第i个元素是矩阵A的第i列的算术中位数
% %返回向量X的算术中位数
% a2=median(A,2)
% 
% rng('default')%可重复性
% 
% x=normrnd(0,1,1,6)
% y=quantile(x,0.30)%计算向量x的0.3分位数


%%
% %数据的求积与求和运算
% A=magic(3);
% a1=sum(A)%对各列数据求和
% a2=sum(A,2)%对各行数据求和
% a3=prod(A)%对各列数据求积
% a4=prod(A,2)%对各行数据求积


%%
% %数据的累积与累和
% A=[1 2 3;4 5 6];
% cumsum(A)%求矩阵A列累加和
% cumsum(A,2)%求矩阵A行累加和
% cumprod(A)%求矩阵A列累乘积
% cumprod(A,2)%求矩阵A行累乘积


%%
% %计算数据的协方差和相关系数
% A=rand(3)
% B=magic(3)
% cov(A)%计算数据A的协方差矩阵
% cov(A,B)%计算数据AB的协方差
% corrcoef(A)%计算数据A的相关系数矩阵
% corrcoef(A,B)%计算数据AB的相关系数矩阵


%%
% % 计算数据的偏斜度和峰值
% x=rand(2,3);
% skewness(x)%计算数据X的偏斜度
% skewness(x,0,2)%沿行进行偏斜度,纠正偏离
% skewness(x,1,2)%沿行进行偏斜度,不纠正偏离
% kurtosis(x)%计算矩阵各列的峰度
% kurtosis(x,1,1)%计算矩阵各列的峰度,不纠正偏离
% kurtosis(x,2,1)%计算矩阵各行的峰度,不纠正偏离


%%
% %利用poly2sym函数创建多项式
% poly2sym([1 3 2])%生成  x^2 + 3*x + 2
% poly2sym([.694228,.333,6.2832])%生成  (6253049924220329*x^2)/9007199254740992 + (333*x)/1000 + 3927/625
% poly2sym([1 0 1 -1 2],'y')%生成  y^4 + y^2 - y + 2


%%
% %矩阵的特征多项式
% %求p(x)=2(x-1)(x-2)(x-3)的多项式表达
% %p(x)的根为123
% Q=diag([1 2 3]);
% qx=poly(Q)%求对角矩阵A的特征多项式
% %由于q(x)=2*qx(x),所以q(x)的多项式表示为q
% q=2*qx


%%
% %对多项式进行四则运算
% 
% t1=[1 0 2 4];
% f1=poly2sym(t1);%根据给定系数矩阵创建多项式
% f1=poly2sym(t1,'y');
% 
% t2=[1 4 8];
% f2=poly2sym(t2);
% f2=poly2sym(t2,'y');
% 
% t=conv(t1,t2)%多项式的乘法运算
% f=poly2sym(t)%相乘后得到的多项式
% [t0,r0]=deconv(t1,t2)
% ft0=poly2sym(t0)
% fr0=poly2sym(r0)


%%
% %多项式微分
% %求有理式f(x)=(x-1)/(x^2-x+3)的微分
% p1=[1 -1];
% p2=[1 -1 3];
% [p,q]=polyder(p1,p2)


%%
% %利用polyval函数及polyvalm函数求多项式的值
% s=[3 5 -4 3];
% p=poly(s);
% f=poly2sym(p)
% a=2.6;
% polyval(s,a);
% x=pascal(4);
% p=poly(x);
% f=poly2sym(p);
% polyval(p,x);


%%
% %多项式求根
%求p(X)=x^3-6x^2+11x-6的根
% p=[1 -6 11 -6];
% x=roots(p)


%%
% %极限
% n=1:100;
% xn=(n+1)./n;
% % plot(n,xn)
% stem(n,xn)
% %或者
% for i=1:100;
%     plot(n(i),xn(i),'r');
%     hold on;
% end


%%
% %求1/(x-1)-2/(x^3-2)的当x趋向于1时的极限
% syms x;
% f=1/(x+1)-2/(x^3-2);
% limit(f,x,1);
% ezplot(f);
% hold on;
% plot(-1,-1,'r-o');


%%
% %求解 下面分段函数的积分问题
% %方法1
% x=[0:0.01:2,2+eps:0.01:4,4];
% y=exp(x.^2).*(x<=2)+80./(4-sin(16*pi*x)).*(x>2);
% y(end)=0;
% x=[eps,x];
% y=[0,y];
% fill(x,y,'m');
% 
% %方法2
% f=inline('exp(x.^2).*(x<=2)+80.*(x>2)./(4-sin(16*pi*x))','x');
%  I1=quad(f,0,4)
%  I2=quadl(f,0,4)
%  syms x;
%  I=vpa(int(exp(x^2),0,2)+int(80/(4-sin(16*pi*x)),2,4))
% 
% %方法3
% f1=inline('exp(x.^2)','x');
% f2=inline('80./(4-sin(16*pi*x))','x');
% quad(f1,0,2)+quad(f2,2,4)
% quadl(f1,0,2)+quadl(f2,2,4)
% quadl(f1,0,2,1e-11)+quadl(f2,2,4,1e-11)%人为给定精度限制


%%
% % 求解微分方程 y'=y-2t/y y(0)=1 0<t<4
% odefun=inline('y-2*t/y','t','y');
% [t,y]=ode45(odefun,[0,4],1);
% plot(t,y,'ro-');%解函数图形
% ode45(odefun,[0,4],1);%不用输出变量,直接输出图
% [t,y]=ode45(odefun,0:1:4,1)


%%
%评价指标矩阵与指标的无量化

%输入原始数据
X=[130 10.3 0.35 2.76;105 10.7 0.4 2.0;20 1.4 4.5 0.22;30 6.26 0.25 1.67;20 10.13 0.5 0.23];
Y=[1 4 23 110 660;0.09 0.36 1.8 7.1 27.1;37 12 2.4 0.55 0.17;0.02 0.06 0.31 1.2 4.6];
%计算无量纲化的指标矩阵
A=[X(:,1)./max(X(:,1)),X(:,2)./max(X(:,2)),min(X(:,3))./X(:,3),X(:,4)./max(X(:,4))];
B=[Y(1,:)./max(Y(1,:));Y(2,:)./max(Y(2,:));min(Y(3,:))./Y(3,:);Y(4,:)./max(Y(4,:))]
%运用变异系数法由矩阵B来确定各指标的权重
b=B';
t=std(b)./mean(b)
w=t/sum(t)
%计算绝对距离
jd=dist(A,B);
%计算欧氏距离
mjd=mandist(A,B)
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值