MATLAB软件入门分析
Date:2023年3月13日
Author:Evand

入门综述

使用matlab编程时,通常使用.m文件,把所有代码编好后,统一运行or调试。如果想运行一两行代码,可以使用“命令行窗口”,一般在MATLAB主窗口的下方。
github上面的文件:https://github.com/evandworld/MATLABstart/blob/main/MATLABstart.mlx,是.mlx的实时编辑脚本文件,可以理解成介于.m文件和命令行之间的东西,将文本(据说兼容latex)与代码结合,可以实时调试,所以实时性很高,但是也因此对电脑的性能要求稍微高一点。
下面打一个hello MATLAB的代码,并显示出来:

disp('hello MATLAB');

此时,可以按一下F5或点一下上方的“运行”,能看见hello MATLAB直接显示在上面那一行代码的下面(也可以调整到右侧)了。

绘图

绘图最常用的是plot(绘制曲线图),但是就算是plot也有很多种搭配,比如想画一条直线,从(1,2)到(3,4),可以像下面这样先设定两个向量:
a = [1,3];
b = [2,4];
然后将a向量作为横坐标,b向量作为纵坐标,用plot绘制即可,为了防止图像之间互相干扰,可以在代码前面加一个"figure",以生成一个新的图画:

figure;
plot(a,b);

但是此时可能还想打上横纵坐标的值:

figure;
plot(a,b);
xlabel('横坐标');
ylabel('纵坐标');

如果还想加上标题,则用"title(‘标题’);"即可。

运算

正常的加减乘除都跟c语言一样,对于矩阵运算,点乘是.,矩阵相乘是
对于一个矩阵A,如果要提取它的第一行第一列的元素,则用A(1,1);
如果要提取第1~3行,则用A(1:3,:);

A = [1,2,3,4;5,6,7,8;9,1,2,3;4,5,6,7];
A(1,1) %代码后面不加冒号,运算后会直接输出结果
A(1:3,:)

if-else示例:

if 1>3disp('1>3');
elsedisp('1 <= 3');
end

for循环:循环次数用冒号结构,循环体以end结尾

a=1;
for i=1:30a = a+1;
end
disp(a);

卡尔曼滤波运用

% edited by JBR
% data. 2020.5.1
% 自由落体卡尔曼例程
clear;clc;
i1 = 1:20;
% 录入观测值(单位为是km)
height = 2000-0.5*9.8*[1:20].^2; %真实的高度
Z = height+9*randn(1,20); %实际的观测
g_INS = 9.8+0.1*randn(1,20)+0.001;
X = [2000;-10]; %初值(高斯分布的均值)
P = [1 0;0 2]; %初值误差方差
A = [1 1;0 1]; %观测矩阵
C = [1 0];% 系统误差方差
R = 8; %量测误差方差
Q = 0.1; %状态噪声
X_ = A*X+[0;-g_INS(1)];
P_ = A*P*A'+Q; %计算第二时刻的P(估计值)
K = P_*C'/(C*P_*C'+R); %由PCR求增益
X = X_+K*(Z(1)-C*X_); %由状态转移X_、观测Z和增益求当前时刻的状态预测
XX = X; %XX是存储滤波值的地方,此处对其赋第一行的值
P = (eye(2)-K*C)*P_; %eye(2)
for i = 2:20X_ = A*X+[0;-g_INS(i)];P_ = A*P*A'+Q;K = P_*C'/(C*P_*C'+R);X = X_+K*(Z(i)-C*X_);XX = [XX,X_+K*(Z(i)-C*X_)];P = (eye(2)-K*C)*P_;
end
figure;
plot(i1,Z,'r.',i1,XX(1,:),'b'); %最后的'b'指用默认线条画蓝色(blue)的线
xlabel('时间/s');ylabel('位置/m'); %设置横纵坐标
legend('估计观测的位置ֵ','估计的位置'); %设置标注
title('位置'); %设置标题
% 速度
figure;
plot(i1,XX(2,:),'r.'); %最后'r.'表示用红色(red)画点
xlabel('时间/s');ylabel('速度/m');
title('速度估计值');% 误差绘图
err_Z=Z-height;
err_INS = 2000-0.5*g_INS.*[1:20].^2-height;
err_est=XX(1,:)-height;
figure;
plot(i1,err_Z,i1,err_INS,i1,err_est,'.-'); %最后'.-'表示用默认颜色画带点的实现
xlabel('时间/s');ylabel('位置/m');
title('位置误差');
legend('观测误差','INS误差','滤波估计后的误差');

衡量指标:
绝对值:abs(),最大值:max(),平均值:mean()

max(abs(err_est))
mean(abs(err_est));

MATLAB软件入门分析(附卡尔曼滤波的例程、mlx文件)相关推荐

  1. 国内 Android 手机典型勒索软件详情分析(附解锁方法)

    事件说明 2017年2月13-17日,RSA Conference 2017 信息安全大会在美国旧金山Moscone中心隆重举行.大会第一天就是一系列关于Ransomware(勒索软件)的议题,而在刚 ...

  2. matlab中停止调试快捷键,matlab软件中各种快捷键的用法,还有和断点有关的用法...

    答:1,.F5运行啊什么的这些快捷键,简单也没必要.matlab最有用,而且很多人都不知道的是,当执行程序的时候突然想停下来不知道怎么办:Ctrl+C :你知道这个就可以了,很多人傻傻的开任务管理器把 ...

  3. Matlab编程入门指南:简介、安装、学习路线和几十个编程案例分析。

    一.Matlab编程入门指南:简介.安装.学习路线和几十个编程案例分析. 1.Matlab编程语言是一种广泛应用于科学计算.工程计算.数据分析.统计分析.信号处理等领域的高级数值计算和数据可视化软件. ...

  4. matlab时频分析工具箱安装_EEG时频分析介绍与实现(基于EEGLAB、NetStation与Analyzer2软件)...

    本文首发在个人博客上(7988888.xyz),此文章中所有链接均通过博客进行访问. 我在很早之前有翻译过一篇通过小波变换来进行时频分析的文章,可参考<小波教程>.最近,我在油管上看到了E ...

  5. 五步移相法matlab程序_用MATLAB软件对逆变电路移相调压进行仿真,30°,60°,90°的波形,并用分段分析法分析其原理_学小易找答案...

    [简答题]Translate the following ad into (1) a TV comercial, and (2) a factual introduction. Marie Franc ...

  6. 视频教程-x86/x64软件逆向分析入门-C/C++

    x86/x64软件逆向分析入门 成都理工大学优秀讲师,教授,二十年开发经验,和十六年一线教学工作经验,发表学术论文十余篇.参与包括863项目等多个国家级科研项目,参与包括微信机器人(WeChaty)等 ...

  7. MATLAB安装失败,MATLAB软件总是运行特别慢原因分析

    MATLAB安装失败,MATLAB软件总是运行特别慢原因分析 原因:以前安装的matlab含有许可文件未删除. 解决方法:将c盘matlab文件全部删除即可.解决许可文件逆破解).

  8. matlab 摩擦角轮廓拟合,Matlab软件在边坡位移稳定性分析及治理中的应用(原稿)

    <Matlab软件在边坡位移稳定性分析及治理中的应用(原稿).doc>由会员分享,可在线阅读全文,更多相关<Matlab软件在边坡位移稳定性分析及治理中的应用(原稿)>请在ww ...

  9. matlab表面形貌,采用Photoshop与MATLAB软件分析壁画表面形貌变化的方法与流程

    本发明涉及一种壁画表面形貌变化的分析方法,尤其涉及一种采用Photoshop与MATLAB软件分析壁画表面形貌变化的方法,属于壁画表面形貌变化的分析技术领域. 背景技术: 壁画是墙壁上的艺术,即直接画 ...

最新文章

  1. GVINS:基于GNSS视觉惯性紧耦合的平滑状态估计方法
  2. 实例讲解之校园网病毒该如何铲除
  3. 11-Memory Management Examples
  4. linux合并vi的两个文件,两个文件的对比查看及合并工具:vimdiff-文件合并
  5. huizhang要约会
  6. GDCM:Torture的测试程序
  7. 深度探索linux系统虚拟化 原理与实现,深度探索Linux系统虚拟化:原理与实现
  8. 基础总结篇之中的一个:Activity生命周期
  9. www(apache)服务器的基本设置
  10. 分库分表学习总结(6)——分库分表?选型和流程要慎重,否则流程会失控!
  11. [JOYOI1326] 剑人合一
  12. 软件测试——测试用例设计测试分类详解
  13. 图解十大机器学习算法
  14. 罗技 GHUB驱动的官方下载网址
  15. 微信小程序开发常用代码
  16. Visual Studio 安装 FLTK
  17. 因严重 OpenSSL 漏洞,Fedora 37 推迟至 11 月中旬发布
  18. 50个表单功能,验证,安全和自定义化的jQuery插件
  19. CAD 二次开发 图层操作(1)创建图层
  20. 2021年跨境电商行业相关数据

热门文章

  1. 在GreenBrowser中使用35766书签
  2. 如何区分 三极管共射级,共集级,共基级? [模电]
  3. 货运车辆视频监管及预警系统是否有强制安装的必要?
  4. 类似滴滴打车司机端滑动开始接单SlideView
  5. Web前端开发 table标签相关用法和属性
  6. elementUI中的el-table标签介绍
  7. cf 1153D-Serval and Rooted Tree(思维,树形dp)
  8. SAP 联产品 副产品
  9. 计算方法(c语言版)靳天飞答案,《数值分析教程》PPT课件.ppt
  10. html 转换 swf文件怎么打开,swf文件无法打开 swf格式在电脑上怎么打开?swf格式转换的时候提示不是音视频文件...