MATLAB入门教程(带详细注释的MATLAB代码)

使用方法

将mlx文件在MATLAB上运行,即可得到下列结果:
在这里插入图片描述

完整代码

给出mlx文件的全文

MATLAB软件入门分析
Date:2023313日
Author:Evand
入门综述
使用matlab编程时,通常使用.m文件,把所有代码编好后,统一运行or调试。如果想运行一两行代码,可以使用“命令行窗口”,一般在MATLAB主窗口的下方。
本文件是.mlx的实时编辑脚本文件,可以理解成介于.m文件和命令行之间的东西,将文本(据说兼容latex)与代码结合,可以实时调试,所以实时性很高,但是也因此对电脑的性能要求稍微高一点。
下面打一个hello MATLAB的代码,并显示出来:
disp('hello MATLAB'); %注释
此时,可以按一下F5或点一下上方的“运行”,能看见hello MATLAB直接显示在上面那一行代码的下面(也可以调整到右侧)了。
MATLAB强大的兼容性:对于一个计算语句,加分号与不加分号都能运行,在无关紧要的地方可以随意加空格:
a = 100;
b = 200
c=300
基本语句
d = a+b;
e = 100^3+2*2-12;
f = [1,2;3,4];
g = [1,2;3,4];
f.*g;
f*g;
g^(-1);
f/g;


其他介绍提纲
版本:https://ww2.mathworks.cn/downloads/
操作界面:工具栏、命令行、工作区workspace、编辑器横竖窗口
m文件执行、函数调用
断点、运行到指定处
绘图
plot
绘图最常用的是plot(绘制曲线图),但是就算是plot也有很多种搭配,比如想画一条直线,从(1,2)到(3,4),可以像下面这样先设定两个向量:
a = [1,3];
b = [2,4];
然后将a向量作为横坐标,b向量作为纵坐标,用plot绘制即可,为了防止图像之间互相干扰,可以在代码前面加一个"figure",以生成一个新的图画:
figure;
plot(a,b);
但是此时可能还想打上横纵坐标的值、更改线条颜色和数据点的形式:
figure;
plot(a,b,'.-r'); %cmyk ,- : --
xlabel('横坐标');
ylabel('纵坐标');
如果还想加上标题,则用"title('标题');"即可。
累积密度函数cdf
cdfplot(err_est);


运算
正常的加减乘除都跟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>3
    disp('1>3');
else
    disp('1 <= 3');
end
for循环:循环次数用冒号结构,循环体以end结尾
a=1;
for i=1:30
    a = a+1;
end
disp(a);
卡尔曼滤波运用
% edited by JBR
% data. 2020.5.1
% 自由落体卡尔曼例程
clear;clc;
i1 = 1:20;
% 录入观测值(单位为是km)
% Z = [1.9945,1.9794,1.9554,1.9214,1.8777,1.8250,1.7598,1.6867,1.6036,...
%     1.5092,1.4076,1.2944,1.1724,1.0399,0.8980,0.7455,0.5850,0.4125,0.2318,0.0399];
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:20
    X_ = 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));

mlx文件下载地址:

https://download.csdn.net/download/callmeup/89085087

上述链接是付费下载链接,如果你订阅了我的专栏:https://blog.csdn.net/callmeup/category_12574912.html,用订阅的账号给我私信,这个xls文件可以送给你。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/518067.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA毕业设计133—基于Java+Springboot+Vue的网上宠物店商城管理系统(源代码+数据库+12000字论文)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的网上宠物店商城管理系统(源代码数据库12000字论文)133 一、系统介绍 本项目前后端分离&#xff0c;分为管理员、用户两种角色 1、用户&#xff1a; 注册…

注意,这类人无法在视频号开店!

我是王路飞。 视频号也可以开店铺去卖货了吗&#xff1f; 是的&#xff01;其实早在22年的时候&#xff0c;视频号就上线【小店】功能了&#xff0c;可以通过短视频、直播达人带货的形式&#xff0c;帮助商家转化商品。 当然了&#xff0c;视频号小店跟我一直在科普的抖音小…

团体程序设计天梯赛-练习集 01

天梯赛题解合集 团体程序设计天梯赛-练习集 (L1-001 - L1-012) 团体程序设计天梯赛-练习集 (L1-013 - L1-024) 团体程序设计天梯赛-练习集 (L1-025 - L1-036) 团体程序设计天梯赛-练习集 (L1-037 - L1-048) L1-001 Hello World 输出题 样例 输入 输出 Hello World!思…

kafka集群介绍+部署Filebeat+Kafka+ELK

一、消息队列 1、为什么需要消息队列&#xff08;MQ&#xff09; 主要原因是由于在高并发环境下&#xff0c;同步请求来不及处理&#xff0c;请求往往会发生阻塞。比如大量的请求并发访问数据库&#xff0c;导致行锁表锁&#xff0c;最后请求线程会堆积过多&#xff0c;从而触…

Mac电脑清理垃圾软件 Mac电脑清理垃圾的文件在哪 cleanMyMac X 4.8.0激活号码

Mac用户经常会有这样一些烦恼&#xff0c;比如软件之间的管理&#xff0c;应用生成的缓冲文件怎样删除&#xff0c;还有软件的卸载等等... 如何有效清理Mac中的垃圾文件&#xff0c;删除多余的软件成为Mac用户迫切的需求。本文就为大家介绍几款好用的Mac电脑清理垃圾软件&#…

AJAX —— 学习(一)

目录 一、原生 AJAX &#xff08;一&#xff09;AJAX 介绍 1.理解 2.作用 3.最大的优势 4.应用例子 &#xff08;二&#xff09;XML 介绍 1.理解 2.作用 &#xff08;三&#xff09;AJAX 的特点 1.优点 2.缺点 二、HTTP 协议 &#xff08;一&#xff09;HTTP 介…

GPT3, llama2, InternLM2技术报告对比

GPT3&#xff08;September 22, 2020&#xff09;是大语言应用的一个milestone级别的作品&#xff0c;Llama2&#xff08;February 2023&#xff09;则是目前开源大模型中最有影响力的作品&#xff0c;InternLM2&#xff08;2023.09.20&#xff09;则是中文比较有影响力的作品。…

05 - 7 段十进制数码管显示

---- 整理自B站UP主 踌躇月光 的视频 1. 实验设计 根据前一节的内容&#xff0c;这里也通过 ROM 的方法显示十进制。这里我们设计显示 3 位十进制数&#xff0c;需要三个数码管&#xff0c;地址位宽为 8&#xff0c;数据位宽为 12。 A7A6A5A4A3A2A1A0number000000000000000011…

SambaNova 芯片:深入解析其架构和高性能秘诀

SambaNova——一家总部位于帕洛阿尔托的公司已经筹集了超过10亿美元的风险投资&#xff0c;不会直接向公司出售芯片。相反&#xff0c;它出售其定制技术堆栈的访问权限&#xff0c;该堆栈具有专门为运行最大的人工智能模型而设计的专有硬件和软件。 最近&#xff0c;SambaNova…

【科研笔记】知识星球不可选择内容爬虫

知识星球不可选择内容爬虫 1 背景2 实现3 拓展遗留问题1 背景 针对与知识星球中,电脑打开网页不可选择复制粘贴的问题,进行爬虫处理,获取网页的内容,并保存在本地 2 实现 需要下载python,和爬虫的第三方库selenium,可以查看博客中有关selenium的内容进行回顾。当前使用…

在云端遇见雨云:一位服务器寻觅者的指南

引言&#xff1a;寻觅一座云端归宿 当我踏入数字世界的边缘&#xff0c;带着对网络的探索与期待&#xff0c;我迫切需要一座安全可靠的数字栖息地。云计算技术正如一场魔法般的变革&#xff0c;而在这片广袤的云端中&#xff0c;雨云就像是一位友善的向导&#xff0c;引领我穿越…

最优算法100例之28-n个骰子点数和出现的次数

专栏主页&#xff1a;计算机专业基础知识总结&#xff08;适用于期末复习考研刷题求职面试&#xff09;系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 把n个骰子扔在地上&#xff0c;所有骰子朝上一面的点数之和为S。输入n&#xff0c;打印出S的…

OpenTofu路在何方:定量分析Terraform issue数据,洞察用户需求|OpenTofu Day 闪电演讲

数澈软件 Seal 首席架构师李平辉提交的演讲议题“Alias TerraformTofu. Job’s Done, Now What?”入选 KubeCon EU 同场活动 OpenTofu Day&#xff0c;本文为演讲实录。 大家好&#xff0c;我是 Lawrence&#xff0c;是 Seal 的首席架构师。今天将由我为大家带来 Lightening T…

Linux: linux常见操作指令

目录 01.ls 指令 02. pwd命令 03. cd 指令 04. touch指令 05.mkdir指令&#xff08;重要&#xff09; 06.rmdir指令 && rm 指令&#xff08;重要&#xff09; 07.man指令&#xff08;重要&#xff09; 07.cp指令&#xff08;重要&#xff09; 08.mv指令&#…

如何创建一个TCP多人聊天室?

一、什么是TCP&#xff1f; TCP&#xff08;Transmission Control Protocol&#xff09;是一种可靠的 面向连接的协议 &#xff0c;可以保证数据在传输过程中不会丢失、重复或乱序。 利用TCP实现简单聊天程序&#xff0c;需要客户端和服务器端之间建立TCP连接&#xff0c;并通…

【数据分析面试】10. 计算平均通勤时间(SQL:timestampdiff() 和datediff()区别)

题目 假设你在Uber工作。rides表包含了关于Uber用户在美国各地的行程信息。 编写一个查询&#xff0c;以获取纽约&#xff08;NY&#xff09;每位通勤者的平均通勤时间&#xff08;以分钟为单位&#xff09;&#xff0c;以及纽约所有通勤者的平均通勤时间&#xff08;以分钟为…

谈谈 MySQL 的锁

前言 在 MySQL 中&#xff0c;锁这个定义其实还是蛮重要的。经过我这几天的学习&#xff0c;我感觉锁是一个可以说难又可以说不难的知识点。难就难在锁可以与事务、多线程、并发结合在一起&#xff0c;这就很难了。但是&#xff0c;假如锁没有结合这些知识点&#xff0c;就单单…

产品推荐 | 中科亿海微推出亿迅®A8000金融FPGA加速卡

01、产品概述 亿迅A8000金融加速卡&#xff0c;是中科亿海微联合金融证券领域的战略合作伙伴北京睿智融科&#xff0c;将可编程逻辑芯片与金融行业深度结合&#xff0c;通过可编程逻辑芯片对交易行情加速解码&#xff0c;实现低至纳秒级的解码引擎&#xff0c;端到端的处理时延…

【Arthas案例】某应用依赖两个GAV-classifier不同的snakeyaml.jar,引起NoSuchMethodError

多个不同的GAV-classifier依赖冲突&#xff0c;引起NoSuchMethodError Maven依赖的三坐标体系GAV(G-groupId&#xff0c;A-artifactId&#xff0c;V-version) classifier通常用于区分从同一POM构建的具有不同内容的构件物&#xff08;artifact&#xff09;。它是可选的&#xf…

每日一题:矩阵置零

给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]使用两个标记变量。 class Sol…