1.数据的导入和保存

1.1数据的导入

matlab中导入数据的函数通常为load

load matlab.mat

matlab中常用的导入数据的函数为importdata,用法如下:

imported_data = importdata('matlab.mat')

1.2 文件的打开

比较open与load的不同

clear all

a=rand(4);

b=magic(4);

save

Saving to: C:\Users\Administrator\Documents\MATLAB\mathematical modeling\2\matlab.mat

clear

load('matlab.mat')

a

b

clear

open('matlab.mat')

struc1=ans;

struc1.a

struc1.b

2.数据的统计与分析

2.1 常用统计量

算术平均数,中位数

mean(X) —— X为向量

mean(A) —— A为矩阵,返回各列元素的平均值

median(X)

标准差,方差,极差

clear all

clc

X=[15.60 13.41 17.20 14.42 16.61];

DX=var(X,1) %求解方差

sigma=std(X,1) %求解标准差

DX1=var(X) %求解样本方差

sigma1=std(X) %求解样本标准差

var(X,1) —— 返回样本的简单方差(前置因子为1/n)

std(X,1) —— 返回前置因子为1/n的标准差

偏度,峰度

在matlab中使用jbtest函数进行Jarque-Bera检验

调用格式为:

h = jbtest(X) —— h=0,可认为服从正态分布;h=1,说明在显著水平0.05下拒绝服从正态分布

[H,P,JBSTAT,CV] = jbtest(X,alpha) —— alpha为指定显著水平,P为检验的p值

clear all

clc

x1=[5200 5056 561 6016 635 669 686 692 704 7007 711];

x2=[7013 7104 719 727 735 740 744 745 750 7076 777];

x3=[7086 7806 791 7904 821 822 826 834 837 8051 862];

x4=[8703 879 889 9000 904 922 926 952 963 1056 10074];

x=[x1 x2 x3 x4];

[H,P,JBSTAT,CV]=jbtest(x)

>

H =

1

P =

0.0218

JBSTAT =

8.0226

CV =

4.8466

由于H=1,P<0.05,有理由认为不服从正态分布。

3. 随机数

3.1 二项分布随机数

可以使用binornd产生二项分布随机数

R = binornd(N,P) —— NP为二项分布的两个参数

R = binornd(N,P,m,n) —— m为行数n为列数

clear all

clc

x=binornd(10,0.45,100000,1);

histogram(x,11);

3.2 泊松分布随机数

泊松分布的表达式为:

调用格式:

y = poisspdf(x,Lambda)

clear all

clc

x=0:20;

y1=poisspdf(x,2.5);

y2=poisspdf(x,5);

y3=poisspdf(x,10);

hold on

plot(x,y1,':r*')

plot(x,y2,':b*')

plot(x,y3,':g*')

hold off

3.3 正态分布随机数

提供函数normrnd

R = normrnd(mu,sigma,m,n)

4.假设检验

4.1 方差已知时的均值假设检验

在给定方差的条件下可以使用ztest函数,来检验单样本数据是否服从给定均值的正态分布,调用格式

h = ztest(x,m,sigma,alpha) —— 其中sigma是标准差,alpha是显著水平的控制参数,m是判断样本的均值是否是m

clear all

clc

x1=[11.8 10.5 10.6 9.6 10.7 9.8 10.9 11.1 10.6 10.3];

x2=[10.2 10.6 9.8 12.2 10.6 9.8 10.6 10.1 9.5 9.9];

x=[x1 x2]';

m=10;sigma=0.4;a=0.05;

[h,sig,muci]=ztest(x,m,sigma,a,1)

h=1是可以认为在该显著水平上拒绝零假设

4.2 正态总体均值假设检验

用于方差未知时的正态总体的均值的假设检验,使用ttest函数

调用格式如下:

[h,sig,ci] = ttest(x,m,alpha,tail)

其中:

tail=0时表示制定备择假设均值不等于m,tail=1时表示指定备择假设均值大于m

clear all

clc

x=[169 180 131 182 234 274 188 254 232 172 165 249 249 180 465 192];

m=225;

a=0.05;

[h,sig,muci]=ttest(x,m,a,1)

方差未知时两个正态总体均值的假设检验

clear all

clc

x=[82.45 86.21 83.58 79.69 75.29 80.73 72.75 82.35]';

y=[83.56 64.27 73.34 74.37 79.77 67.12 77.27 78.07 72.62]';

a=0.05;

[h,sig,ci]=ttest2(x,y,a,1)

h =

1

sig =

0.019504179277914

ci =

1.325223048786295

Inf

在显著水平0.05下,可以判断合金的硬度有提高。

ci为均值差以真值的1-alpha置信区间

5.统计绘图

1.线性回归

clear all

clc

%做x和y的散点图%

x=1:10;

y=[2650,1942,1493,1086,766,539,485,291,224,202];

for i=1:10

plot(x(i),y(i),'ok');

hold on

end

xlabel('x');

ylabel('y');

看起来成指数关系故对y取对

%做x和z的散点图%

x=1:10;

y=[2650,1942,1493,1086,766,539,485,291,224,202];

z=zeros(size(y));

N=length(y);

for i=1:N

z(i)=log(y(i));

plot(x(i),z(i),'ok');

hold on

end

xlabel('x');

ylabel('y');

最后进行拟合:

x=1:10;

y=[2650,1942,1493,1086,766,539,485,291,224,202];

z=zeros(size(y));

N=length(y);

for i=1:N

z(i)=log(y(i));

end

[p,s]=polyfit(x,z,1)

p =

-0.298370334863784 8.167123993138752

s =

包含以下字段的 struct:

R: [2×2 double]

df: 8

normr: 0.231593652511713

因此有:

z = 8.1671-0.2984x

2.多元线性回归

使用regress(),调用格式如下:

[b,bint,r,rint,stats] = regress(y,x,alpha)

b :输出向量

bint :回归系数估计值和他们的置信区间

r :残差

stats:用于检验回归模型的统计量

clear all

clc

x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477];

x2=[0.450,0.475,0.485,0.500,0.535,0.545,0.550,0.575];

x3=[2.170,2.554,2.676,2.713,2.823,3.088,3.122,3.262];

x4=[0.8922, 1.1610,0.5346,0.9589, 1.0239, 1.0499,1.1065, 1.1387];

y=[5.19, 5.30,5.60,5.82,6.00,6.06,6.45,6.95];

save data x1 x2 x3 x4 y

load data %取出数据

Y=[y'];

x=[ones(size(x1')),x1',x2',x3',x4'];

% x=[ones(size(x1')),x1',x2',x3',x4'];

[b,bint,r,rint,stats]=regress(Y,x)

b =

-13.984929738072131

13.192039484762253

2.422801334278647

0.075351705837265

-0.189698161343466

bint =

-26.001910540334851 -1.967948935809410

1.412992683865971 24.971086285658536

-14.280792465224541 19.126395133781834

-1.485927625219084 1.636631036893614

-0.963788998494748 0.584392675807817

r =

-0.061841695502344

0.022836121353063

0.012283797815437

0.088954141756640

0.043085353569731

-0.147251341381197

0.014544938640025

0.027388683748707

rint =

-0.131017806908374 0.007334415903686

-0.229918483557968 0.275590726264095

-0.146412843148935 0.170980438779809

-0.375028670817865 0.552936954331145

-0.054600368143406 0.140771075282869

-0.334820783638826 0.040318100876432

-0.475344602360936 0.504434479640986

-0.271723565503547 0.326500933000961

stats =

0.984604459779746 47.965406492414637 0.004731534869980 0.012303538411269

所以分析模型为:

y = -13.9849+13.1920x1+2.4228x2+0.0753x3-0.1896x4

matlab数学建模作用,matlab数学建模基础相关推荐

  1. matlab双引号作用,matlab中单引号(')的含义是什么,以及如何将其改为python

    简短回答: MATLAB中的'算子是矩阵(共轭)转置算子.它使矩阵在维度上翻转,并得到矩阵的复共轭(第二部分是使人困惑的部分),简单的回答是,在Python中,a'的等价物是np.atleast_2d ...

  2. matlab里subsystem作用,matlab中的subsystem是什么,怎么建立?

    是MATLAB子系统!请点击以下地址查看 http://www.91xiu.com/edu/f/2008/12/29/4289.shtmlMatlab 子系统的创建.装帧及受控执行 2008-10-2 ...

  3. matlab app设计步骤_1.1数学建模与MATLAB–MATLAB入门

    1.1数学建模与MATLAB–MATLAB入门 关注本专栏,继续分享数学建模与MATLAB知识 一.MATLAB是什么? MATLAB 是目前在国际上被广泛接受和使用的科学与工程计算软件.虽然 Cle ...

  4. matlab或_数学建模与MATLAB——MATLAB入门

    点击上方"蓝字",有更多精彩等着你噢! 关注本专栏,我们将继续分享数学建模与MATLAB知识. 你想要的,我都有! 一MATLAB是什么?MATLAB 是目前在国际上被广泛接受和使 ...

  5. matlab建模总结,MATLAB 数学建模方法与实践(第 3 版)

    本书从数学建模的角度介绍了 MATLAB 的应用,涵盖了绝大部分数学建模问题的 MATLAB 求解方法.全书共 5 篇.第一篇是基础篇,介绍基本概念,包括 MATLAB 在数学建模中的地位.数学模型的 ...

  6. matlab画圈中圈的程序,课题:投篮问题的数学建模及其仿真(MATLAB 实现) 三.数学建模.pdf...

    数学实验课程论文数学实验课程论文 课题 投篮问题的数学建模及其仿真 课题 投篮问题的数学建模及其仿真 MATLAB 实现 实现 课题组成员 航天学院 电子科学与技术专业 3 班 田义 学号 10421 ...

  7. u=q k 的交通流模型图 matlab,数学建模回归分析matlab版.ppt

    <数学建模回归分析matlab版.ppt>由会员分享,可在线阅读,更多相关<数学建模回归分析matlab版.ppt(51页珍藏版)>请在装配图网上搜索. 1.2020/11/2 ...

  8. matlab在数学中的应用论文,探究数学建模中MATLAB的运用

    随着科学技术的高速发展,自然科学的各个领域都需要在调查研究的基础上建立数学模型,并通过计算解决实际问题.数学建模在合理假设的基础上将实际问题简单化.抽象化,用数学知识解决问题并接受实践的检验.在这一过 ...

  9. matlab设计程序解决实际问题,MATLAB程序设计在数学建模中的应用

    21 电子技术研发 Electronics R & D 10.3969/j.issn.1000-0755.2013.09.008 0 前言 数学在其发展早期主要是作为一种实用技术,用于处理人类 ...

最新文章

  1. Java中的getPath(),getAbsolutePath()和getCanonicalPath()有什么区别?
  2. 实用的 GitHub 仓库搜索技巧
  3. matlab 规范,matlab-代码-规范
  4. Linux 命令之 whoami -- 打印当前有效的用户名称
  5. python基础小白题5
  6. Flutter透明度渐变动画Opacity实现透明度渐变动画效果
  7. [AHOI2009]维护序列
  8. 4.线性和卷积——边界问题、解决边界方法和Matlab实战_3
  9. Cookie、Session、Token、JWT分别是什么(一)
  10. Lucene的索引链结构_IndexChain
  11. 巧技拾遗 | JavaScript 中 Array.every 和 Array.map 的巧妙结合
  12. openstack instance resize
  13. 2021Eclipse下载与安装教程
  14. windows 10 连接android手机助手,手把手教你Win10手机助手怎么用
  15. 大手笔!舒印彪对核电发展表态,华能抢到了核电开发入场券!
  16. ERP实施心得(转)
  17. ckfinder 配置 php,GitHub - itxq/ckfinder: CkFinder3.5.1 for PHP 优化版 (添加又拍云存储)...
  18. 工业相机基本参数以及选型参考(二)
  19. python异常-TypeError: ‘tuple‘ object is not callable.当不同的环境下同一个语句运行结果不同时,不如重启程序、更改不相关变量试试
  20. 深耕ElasticSearch - 认识搜索引擎的索引

热门文章

  1. misc where is flag 番外篇
  2. 设置以极速模式打开网页
  3. Sketchup, 获取 Ruby 版本信息
  4. 关于北京骂人话“你大爷”的来历考证
  5. android 仿 ios 搜索界面跳转效果
  6. Ios还是安卓的判断
  7. Java定时器 @Scheduled注解的使用
  8. 电信物联网卡有哪些类型的套餐
  9. gnu和linux的区别,Linux和GNU/Linux之间的区别
  10. 不到 50 行 Python 代码,做个刮刮卡