数学软件期末总结(MATLAB SPSS)

                           期末总结

本学期学习了MATLAB和SPSS软件的进一步应用。实验的内容小到简单的的卖报,大到国家之间的经济对比,这之中都利用到了MATLAB和SPSS的计算.因此我认为,学好数学软件是很重要而且很必要的。而MATLAB的功能是非常强大的,MATLAB不仅有强大的运算功能,它还有强大的绘图功能,通过课程,我现在对它的了解也增加了一些,或许说刚刚入门。比如说它含有丰富的内建函数,例如数学函数中的三角函数、复函数、多项式函数、数据分析函数的求平均值、最大最小值、排序等,以及逻辑/选择函数如if-else等,还有用来模拟随机发生事件的随机函数。这些在我们的课程中都有所介绍和学习。

在现实生活中,很多时候都要用到统计分析以及数值计算,当数值比较庞杂的时候,就不便于人们计算,而通过计算机程序,我们可以较为简洁、轻松地来处理这些数据。例如我们在计算积分的时候,如果被积函数能够有初等表达,那么我们可以利用牛顿-莱布尼茨公式来进行解决;然而一些函数(这里应该说很多函数)无法利用初等表达,例如   这个函数,我们就不会利用初等积分法计算其积分值了。然而正是这种问题,在统计学上却有着一种合理的解释(或者说方法)。在我们的课堂中,我们能够利用蒙特卡洛投点法来计算积分,也正是由于随机投点的“随机性”,我们才得以克服了这个困难。从而,只要我们事先确定了函数值的精确度,就能够根据这个精度来计算积分。之后我们利用MATLAB计算了一些统计中的问题,例如统计推断和数据分析等,利用这些快捷的功能可以便捷的统计数据,以及做出推断。因此,随着信息技术的发展,我们就越来越可以摒弃我们的传统的一些比较麻烦的方法,从而提高了人们办事的效率和成效。

其实在上课的时候,我们做的一些练习,也许一些题目我们觉得没有什么意义(或是说过于超脱现实,即过于理想化),殊不知一些复杂问题的数学模型就应当是简单而超脱实际的,这样才能够有概括性。哲学的思想告诉我们,具有概括性的东西它一定是简单的,越复杂的东西,它能够解释的事物也相对的较少。因此,我们现在所学的课程,虽然看似无用而超脱现实,其实际上都具有着很深刻的普遍原理。现实中的问题,也总是能够从这些最基本的模型和原理当中加以改造而成为一个崭新的理论。因此,基础性学习是重要且必要的,这也是我们在一般的学习当中的方法,即:从简单的具有一般性质的方面入手从而推出事物复杂而特殊的方面。而我们也更要注重应用,把所学的内容应用到处理新的问题上面,从而达到学以致用。我们在课上的实践作业,正好起到了这个目的,不仅帮我们复习了知识,也让我们知道了所学的内容究竟有何用处。

之后的SPSS课程则略显轻松,因为远离了繁琐的编程,但是更加困难的问题是:如何解释所得到的结果?在这个问题当中,我们了解到了统计学结果的不唯一性。我们可以人为地调整我们想要的结果,就好像p检验一样,我们对不同的显著性水平做不同的选择,得出的结果也大相径庭。而对不同的结果,我们要做出合理的解释,以及,我们需要何种结果?如何得出这种结果?同时,在学习的过程中学会提出问题,处理问题、解释问题,然后再不断改进方法,逐步的形成一套 “方案”,这不就是未来我们走入职场所需要完成的事情吗?与此同时,当我们完成一部又一部的方案之时,心中一股自豪感油然而生。

虽学习MATLAB的时间虽然很短,但却让我了解到了它的强大和它的功能。我想就算时间足够,老师也不能把所有的都讲解给我们,因为一个软件的功能需要我们自己不断的去摸索,老师也不会知道所有,老师仅仅只是个指路的明灯,正所谓:师父领进门,修行在个人,我们最终学习还是要靠自己。而无论是什么样子的软件,不去实践而仅仅看书是完全不够的,我们应当更多的实践、操作,独立完成问题,而且在摸索过程中,我们能够发现和体会学习的快乐!

 

第二篇:matlab 学习总结

1、Matlab 软件中的if—else语句中可以转化成

function y=member_ship(x)

y=zeros(size(x));

index1=find(x>=23);

y(index1)=1;

index2=find(x<0);

y(index2)=0;

index3=find(x<23&x>=0);

y(index3)=1./(1+0.0625.*(x(index3)-23).^2);

只要把相应的位置改一下即可。

2、

合成运算,表示对应元素取小,再所有元素取大;还可以有对应元素乘积所有元素取大等其它算法

clc

M=[0.5,0.3,0.2];

B=[0.7,0.2,0.1,0;0.2,0.4,0.3,0.1;0.1,0.3,0.4,0.2];

[m,n]=size(B);

out=zeros(1,n)

for i=1:n

out(i)=max(min(B(:,i),M'));

end

out

3、

层次分析法的方法

首先,定义一个函数求权重向量和一致性指标,程度如下:

function [omega_A,CR_A,CI_A]=weight_fun(A) %定义函数来计算权重向量和一致性指标 %A是判断矩阵

%CI_A一致性指标

%%omega_A返回的是权重向量

%%CR_A返回的是一致性比率

[n,m]=size(A);

switch n %计算平均一致性指标RI,以此来计算

case 1 %一致性比率CR

RI=0;

case 2

RI=0;

case 3

RI=0.58;

case 4

RI=0.9;

case 5

RI=1.12;

case 6

RI=1.24;

case 7

RI=1.32;

case 8

RI=1.41;

case 9

RI=1.45;

otherwise

disp('数据错误!')

return

end

[P_A,lamda_A]=eig(A); %求A的特征值和特征向量

[value,k]=max(max(lamda_A)); %取最大特征值和其所对应的位置 omega_A=P_A(:,k)/sum(P_A(:,k)); %取最大特征向量,并进行规一化处理 CI_A=(value-n)/(n-1) ; %一致性指标

CR_A=CI_A/RI; %一致性比率

将函数保存后,输入下面的程序运行即可:

%%%%%%%%%------输入判断矩阵

A=[1,3,2,7,5;1/3,1,1/2,5,2;1/2,2,1,4,2;

1/7,1/5,1/4,1,1/3;1/5,1/2,1/2,3,1];

B1=[1,2,3;1/2,1,2;1/3,1/2,1];B2=[1,1/3,1;3,1,2;1,1/2,1];

B3=[1,1/2,1/4;2,1,1/3;4,3,1];B4=[1,1,4;1,1,3;1/4,1/3,1];

B5=[1,1/5,1/2;5,1,3;2,1/3,1];

%%%%%%%%%%%------------计算各个判断矩阵的排序权值和一致性指标

[omega_A,CR_A,CI_A]=weight_fun(A)

[omega_B1,CR_B1,CI_B1]=weight_fun(B1)

[omega_B2,CR_B2,CI_B2]=weight_fun(B2)

[omega_B3,CR_B3,CI_B3]=weight_fun(B3)

[omega_B4,CR_B4,CI_B4]=weight_fun(B4)

[omega_B5,CR_B5,CI_B5]=weight_fun(B5)

%%%%%------------求B层的层次总排序

omega=[omega_B1,omega_B2,omega_B3,omega_B4,omega_B5]%Bi对A的排序权值表

[n,m]=size(B1);

order_B=zeros(1,n);

for i=1:n

order_B(i)=sum(omega(i,:).*omega_A'); %计算层次C总排序数值 end

order_B

CI=[CI_B1;CI_B2;CI_B3;CI_B4;CI_B5] ;

CR=sum(CI.*omega_A)/sum(0.58.*omega_A) %计算随机一致性指标

相关推荐