matlab

1.matlab

当数据很大时,可用主页中的导入数据,直接将数据导入工作区。
在工作区右键可以新建一个变量,或者ctrl+n, 清除工作区可以清除所有变量。
应用程序:
curve fitting 很重要,拟合,可以选择x轴和y轴,一般可以用多项式拟合,来拟合出一个大概的曲线。
编辑器:
断点:若代码调试不出来就设个断点

2. matlab的常见命令

matlab是以矩阵为基础的系统计算平台
在这里插入图片描述
注释:
1、x1:生成了一个一行三列的矩阵,x3 = x1’:x3为x1的转置。
2、初始值:步长:终值。x1:3.4是初始值,6.7是终值。冒号如果中间什么都不填,代表间隔为1,后面两个中间红色的为间隔。
4、一行中的变量可以用,可以不用,矩阵换行时要用;
在这里插入图片描述

2.1 复数矩阵生成

在这里插入图片描述

2.2 符号矩阵生成

在这里插入图片描述

2.3 特殊矩阵生成

单位矩阵,随机矩阵,正太随机矩阵

在这里插入图片描述
在这里插入图片描述

随机矩阵在蒙特卡洛中用的比较多

2.4 matlab中数据分析的基本原则

在这里插入图片描述
例子:
在这里插入图片描述
这里默认对列进行运算,若想对行进行运算,转置一下。

2.5 矩阵的运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5.1 矩阵的标识

在这里插入图片描述

a = rand(4)
vr = [1, 3]
vc = [1,3]
a1 = a(vr, vc)

在这里插入图片描述
A11:12行12列的矩阵,A12:12行345列
A(1,:):1 代表一行,:没标列代表所有列。
意为第一行所有列全为0;

3. matlab绘图

3.1 线性图的绘制

在这里插入图片描述
plot是二维图的绘制
linspace:把一个连续的图形离散化了
手动标横纵坐标:工具——编辑——双击

3.2 如何让图像更好看

3.2.1 增加颜色,线性

在这里插入图片描述
在这里插入图片描述

3.2.2 增加网格线,坐标轴

在这里插入图片描述
多个图形的绘制:
因为做数模会用到对比图
在这里插入图片描述
注释:
1、要求是所有的横纵坐标都是一个值
2、hold on:等等,还有一张图
3、这个也可以画多个图,但后面标属性会麻烦一点

x = linspace(0, 8*pi, 100)  %在(0,8pi)之间产生100个线性等分点
y1 = sin(x + cos(x+sin(x)))
y2 = 0.2*x + sin(x+cos(x+sin(x)))
plot(x,y1,'k:',x,y2,'k-')  %k是颜色, :是线性
plotyy(x,y1,x,y2,'plot')

在这里插入图片描述
迭代的时候会用到
此代码的结果图:
在这里插入图片描述

3.2.3 直方图的绘制

在这里插入图片描述

y = randn(1, 1000)
subplot(2,1,1)
hist(y,10)
title('Bins = 10')
subplot(2,1,2)
hist(y,50)
title('Bins = 50')

代码运行图
在这里插入图片描述
适合去看是否符合正态分布

3.2.4 条形图的绘制

在这里插入图片描述

x = [1 2 5 4 8]
y = [x;1:5]
subplot(1,3,1)
bar(x)
subplot(1,3,2)
bar(y)
subplot(1,3,3)
bar3(y)

代码运行示例:
在这里插入图片描述
y是两列
ylim是对y的刻度进行限制

3.2.5 堆积图和横条图,饼图的绘制

在这里插入图片描述

x = [1 2 5 4 8]
y = [x;1:5]
subplot(1,2,1)
bar(y,'stacked')
subplot(1,2,2)
barh(y)

代码运行:
在这里插入图片描述
在这里插入图片描述

a=[10 5 20 20]
subplot(1,2,1)
pie(a,[0,0,0,1])
subplot(1,2,2)
pie3(a,[0,0,0,1])

在这里插入图片描述

3.2.6 阶梯状图和柱状图的绘制

在这里插入图片描述

x = linspace(0.4*pi,40)
y = sin(x)
subplot(1,2,1)
stairs(y)
subplot(1,2,2)
stem(y)

在这里插入图片描述

3.2.7 箱状图绘制

boxplot(x) 用于数据分析,排除一些错误数据,数据类题目中很需要
数据分析中常用的两种方法:
箱状图:计算数据的最大值,最小值还有极限的最大值,最小值,如果不在这些范围之内的都认为是错误数据
插值拟合法:比如说可以拟合成一个函数,如果离这个函数比较远的话就是错误数据
在这里插入图片描述
median:中值
最大值和最小值
在这里插入图片描述
红色为均值
在这里插入图片描述
数据要在-3.5到32.5之间

3.3 三维图形的绘制

在这里插入图片描述
在这里插入图片描述

4.插值和拟合

在这里插入图片描述
插值:给了你十个点,你要给我一个函数,这叫插值
拟合:给了你六个点,你要给我一个函数使所有的点里这个函数最近

4.1 一维插值

在这里插入图片描述

例子:
在这里插入图片描述

x0 = [0 3 5 7 9 11 12 13 14 15]
y0 = [0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6]
x = 0:0.1:15 %在0-15之间每间隔0.1取一个数值
y = interp1(x0, y0, x,'spline') % x:对每个x求一个y,spline:三次样条插值
plot(x0, y0, 'k+',x,y,'r')
gird on

在这里插入图片描述

4.2 二维插值&散点数据插值

二维插值

散点数据插值:
在这里插入图片描述
例子:
在这里插入图片描述
在这里插入图片描述
是一个散点图的插值
在这里插入图片描述
在这里插入图片描述

4.3 拟合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例子:
在这里插入图片描述

x = 0: 0.1: 1
y = [-0.447, 1.978, 3.28, 6.16, 7.08, 7.34, 7.66, 9.56, 9.48, 9.30, 11.2]
A = polyfit(x,y,2)
z = polyval(A,x)
plot(x,y,'k+',x,z,'r')

在这里插入图片描述
课后作业:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
求出来的为lna,求出点再用plot函数连接起来。ployfit 得出的是系数,一个lna一个b。

5 非线性函数插值和拟合

在这里插入图片描述
最小二乘法:所有的点到曲线的距离越近越好。F:最终要拟合出来的函数,
lsqcurverfit,
lsqnonlin:非线性拟合
在这里插入图片描述
x为输出值,所有的系数。
lsqcurvefit: matlab命令 ‘fun’: 函数名 x0:迭代初值,因为所有的非线性最小二乘法拟合本质上是一个迭代的过程。 xdata,ydata:数据值
lb,ub:上下限 option:不加也没事。
上面三个比较常用。
在这里插入图片描述
x:输出值
options:不加也没有太大的影响
在这里插入图片描述
x0:迭代初始值 lb,ub:上下限
在这里插入图片描述
在这里插入图片描述
第二行的k代表了k(1),k(2),k(3)。xdata:表格中的数据。会有一个初始值。resnrom:最终值,有没有都行。

在这里插入图片描述
这里的F定义的是差值,最后要减去ydata;

6. 微积分

考的较多
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
var: 符号 l1: 输出值 inf:无穷

syms x, a
l = limit(a/x, x, 0)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
int: 积分的函数 var:f 关于谁求积分

syms x y z
l1 = int(sin(x*y+z), z)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
考的很多:
在这里插入图片描述
在这里插入图片描述
这两个遇到特别复杂的问题的时候,通常用他们两个来求解。
‘sin’:函数 0,pi:上下限
辛普森公式的精度会更高一点
这里设x 100等分,y就是对应步长下的值。

7. 常微分方程的求解

一阶常微分方程
在这里插入图片描述
第二行为y的初始值
类热传导方程
龙格库塔:‘fun‘:函数 y0:初始值
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
刹车问题:

在这里插入图片描述
在这里插入图片描述
mg=摩擦力。
初始条件:t=0时的位置和速度,
在这里插入图片描述
第一个公式就是速度公式,左右都乘了个t,变成了对t求导,加了个初始值,v0。v减速到0,他经过的时间为t0,
第二个公式再求积分,把t0再带进来就可以求出刹车距离。
T为司机的反应时间,加上反应时间就是黄灯的时间。
其实只和v0有关。
在这里插入图片描述
v在10-75之间,每隔一个速度求一个值。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值