Matlab基础入门

基础操作:

 matlab命令行操作:

        matlab可以使用命令行执行程序,例如下图运行后在右边工作区会产生响应的变量,如不写分号,则会直接运行。

  • clear命令:clear用于清除变量。
  • clc命令:clc用于清屏。

matlab编写脚本

        新建脚本运行matlab程序,对比命令行操作更方便,对应的脚本后缀为.m

matlab默认变量名:

ans最近一次运行结果
eps浮点数的相对误差
i,j虚数单位
Inf表示无穷大
NaN代表不定值,也就是不是数字
pi圆周率

简单的赋值判断运算:

a = 5;%定义a为5
b = 2;%定义b为2
c = a > b;%a > b返回逻辑值1,逻辑值1赋值给c
d = a~= b;%a 不等于 b返回逻辑值1,逻辑值1赋值给d

输入字符:

%input接收用户输入字符
x=input('请输入数字');
y=x*2;
y

进阶操作

向量:

创建向量:        

        在matlab中,可以将数组,向量,矩阵,理解为一个东西,具体需要解决什么问题再细分为向量或矩阵或数组,创建向量时,逗号与分号等价,分号用于换行,如下程序:

a=[1 2 3 4 5];
b = [1, 2, 3, 4, 5];%与a等价
c=[6 7 8; 9 10 11];%二维矩阵
a
b
c

还可以用另一种方式创建向量:

x = 2 : 2: 10;

这表示从2开始,步长为2,终点为10的向量。也就是x = [2, 4, 6, 8, 10]。

向量运算:

        矩阵点积运算,也就是各个元素相乘。

a=[1 2 3 4 5];
b=[6 7 8 9 10];
c=a.*b
sum(c)%c所有元素之和

向量的叉乘运算:(三维向量)

a=[1 2 3 ];
b=[6 7 8 ];
c=cross(a,b)%计算a,b的叉积

  从拉普拉斯角度计算:

 

使用拉普拉斯在第一行展开:

分支语句:

Matlab的分支结构语法为:

if  表达式
	执行语句
end

例1:使用if比较a,b的大小:

a = 2;
b = 1;
if a > b
    fprintf("a大于b");
end

例2:使用if-else语句

a = 1;
b = 2;
if a > b
    fprintf("a大于b");
else
    fprintf("a小于b");
end

例3:使用if-elif语句

a = 1;
b = 1;
if a > b
    fprintf("a大于b");
elseif a == b
    fprintf("a等于b");
end

例4:分支嵌套语句:

a = 4;
b = 1;
if a > b
    fprintf("a大于b,");
    if rem(a,2) == 0%取余运算
        fprintf("a是偶数");
    end
end

循环结构:

for循环

for循环格式为:

for 变量 = 表达式
    循环体
end

通常采用这种格式for 变量 = 开始值:步长:结束值

代码如下:

for a = 1:2:10 
  fprintf('第 %d次循环 \n', a);
end

步长若不写,那么默认为1。

表达式为向量:

for a = [2 3 4 5 6]
  fprintf('第 %d次循环 \n', a);
end

while循环

while循环语句格式:

while 表达式
    循环体
end

例:实现1到100的累加和

i=1;
sum=0;
while(i<=100)
    sum=sum+i;
    i=i+1;
end
fprintf('1到100的累加和为: %d \n', sum);

函数:

普通函数基本结构:

function 输出形参表 = 函数名(输入形参表)
    函数体语句
end

编写一个函数:

新建文件命名为MyMethod.m

function y= MyMethod(x)
%   x为一个整数
if x>0
    y=2*x;
elseif x==0
    y=0;
else
    y=x^2;
end
disp(y)
end

运行时在命令行输入:MyMethod(2)即可

例2匿名函数:

f = @(变量列表)表达式

close all;
clc;
b=@(x)(sin(x)+cos(x)); %创建关于x的匿名函数
c=b(pi) %带入pi
d=@(x,y)(sin(x)+cos(y)) %创建x和y的匿名函数
e=d(pi,pi) %带入pi值测试

建立矩阵函数:

ones(n)建立一个n×n的1矩阵
ones(m,n,……,p)建立一个m×n×……×p的1矩阵
ones(size(A))建立一个和矩阵A同样大小的1矩阵
zeros(n)建立一个n×n的0矩阵
zeros(m,n,……,p)建立一个m×n×……×p的0矩阵
zeros(size(A))建立一个和矩阵A同样大小的0矩阵
eye(n)建立一个n×n的单位矩阵
eye(m,n)建立一个m×n的单位矩阵
eye(size(A))建立一个和矩阵A同样大小的单位矩阵

随机数函数:

rand产生在0~1之间均匀分布的随机数;每调用一次给一个新的数值
rand + i*rand产生一个复数随机数
rand(n)产生一个n×n的矩阵,其元素均为0~1之间均匀分布的随机数
rand(m,n,……,p)产生一个m×n×……×p的矩阵,其元素均为0~1之间均匀分布的随机数
randn产生零均值、单位方差的正太分布随机数
randn(m,n,……,p)产生一个m×n×……×p的矩阵, 其元素均为零均值、单位方差的正太分布随机数

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

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

相关文章

全球首位AI程序员诞生,技术革新还是职业威胁?

目录 导语&#xff1a; 一、2024年的第一丝凉意 二、AI在编程领域的应用现状 三、关于Devin的现状 四.未来展望 五.面对未来挑战&#xff0c;我们应该 结语&#xff1a; 导语&#xff1a; 时间回调到两周前的3月13号&#xff0c;世界上第一位AI程序员Devin诞生&#xff…

数据分析之POWER Piovt透视表分析与KPI设置

将几个数据表之间进行关联 生成数据透视表 超级透视表这里的字段包含子字段 这三个月份在前面的解决办法 1.选中这三个月份&#xff0c;鼠标可移动的时候移动到后面 2.在原数据进行修改 添加列获取月份&#xff0c;借助month的函数双击日期 选择月份这列----按列排序-----选择月…

C++类模板详解

在学习类模板之前可以了解一下函数模板&#xff0c;可以参考我的另一篇文章C函数模板详解&#xff08;结合代码&#xff09;-CSDN博客 讲解的比较详细&#xff0c;有助于理解类模板。 目录 1、什么是类模板&#xff1f; 2、类模板与函数模板区别 3、类模板对象做函数参数 …

STM32的SPI通信介绍

SPI简介 SPI:串行外设接口,与IIC一样都是通用数据总线。四根通信线&#xff1a;SCK&#xff0c;MOSI&#xff08;DO&#xff09;&#xff0c;MISO&#xff08;DI&#xff09;&#xff0c;SS。同步&#xff08;共用一根时钟线&#xff09;&#xff0c;全双工&#xff08;数据发…

怎么卸载Mybatis?(仅需三步)

解决办法如下&#xff1a; 第一步&#xff1a;选择文件→设置 第二步&#xff1a;找到插件→输入Mybatis找到这个标志 第三步&#xff1a;把这个勾勾取消掉&#xff0c;点击确定&#xff0c;就可以轻松卸载了

对AOP的理解

目录 一、为何需要AOP&#xff1f;1、从实际需求出发2、现有的技术能解决吗&#xff1f;3、AOP可以解决 二、如何实现AOP&#xff1f;1、基本使用2、更推荐的做法2.1 “基本使用”存在的隐患2.2 最佳实践2.2.1 参考Transactional&#xff08;通过AOP实现事务管理&#xff09;2.…

glibc内存管理ptmalloc - 实时打印bin链的变化

前言 在《glibc内存管理ptmalloc - largebin》中我们详细解释了 largebins共63个&#xff0c;并用表格点出了每个bin的size的范围largebin在free一些内存后的状态 特别是第2点&#xff0c;我其实不太满意&#xff0c;因为只有全部free后的一个结果&#xff0c;并没有中间状态…

LeetCode刷题---查询近30天活跃用户数

1.给出满足的条件&#xff0c;截止至2019-07-27的近30天 activity_date BETWEEN DATE_ADD(2019-07-27,INTERVAL -29 day) and 2019-07-27这里使用了Between and 函数和 Date_add函数 2.按照日期分组&#xff0c;统计活跃用户个数 select activity_date day,count(distinct(us…

《Attention Is All You Need》

参考&#xff1a; Attention Is All You Need 论文解读:Attention is All you need Transformer模型中的attention结构作用是什么&#xff1f; 如何最简单、通俗地理解Transformer&#xff1f; Transformer 新型神经网络&#xff0c;基于注意力机制 的 编码器-解码器 的序列处…

Windows服务器性能监控

Windows服务器操作系统设计用于运行在客户端-服务器架构内的服务器上&#xff0c;这些服务器通常设计用于处理繁重的工作负载&#xff0c;并作为企业中涉及的大多数软件操作的骨干。因此&#xff0c;为了防止由于性能问题而导致的任何服务损失并保持操作的无缝流&#xff0c;Wi…

STM32使用HAL库SPI驱动W25Q16 使用FATFS文件系统+USB虚拟U盘

概述 使用stm32F407驱动W25Q16&#xff0c;使用FATFS文件系统&#xff0c;USB虚拟优盘功能&#xff0c;W25Q16一共512个扇区&#xff0c;其中128作为flash存取相关数据&#xff0c;其他的384个扇区用作虚拟U盘使用 CubeMax配置过程 代码 W25Q16.c /***********************…

idea使用git笔记

1.创建分支和切换分支 创建分支 切换分支 2.把新创建的分支提交到远程服务器上&#xff08;注&#xff1a;如果没有提交的&#xff0c;随便找个文件修改再提交&#xff09; (1)切换到要提交的分支&#xff0c;add (2)commit (3)push 3.在自己分支修改代码及提交到自己的远…

What‘s new in PikiwiDB (Pika) v3.5.3 (正式版)

随着 Redis 宣布采用双协议以维护其商业利益&#xff0c;PikiwiDB (Pika) 社区非常荣幸地宣布之际&#xff0c;我们的最新 v3.5.3 正式生产可用版本现已发布。 v3.5.3 版本不仅修复了长期存在的 Bug&#xff0c;还引入了一系列新特性。这些新特性包括 Pika 对 ACL 的支持、移除…

USART发送单字节数据原理及程序实现

硬件接线&#xff1a; 显示屏的SCA接在B11&#xff0c;SCL接在B10&#xff0c;串口的RX连接A9&#xff0c;TX连接A10。 新建Serial.c和Serial.h文件 在Serial.c文件中&#xff0c;实现初始化函数&#xff0c;等需要的函数&#xff0c;首先对串口进行初始化&#xff0c;只需要…

@Value注解的使用方式

Value 注解用于从配置文件中获取特定的属性值&#xff0c;并注入到 Spring Bean 中。它有多种使用方式&#xff0c;下面列举了一些常见的用法&#xff1a; 先贴图&#xff1a; 1. 注入单个属性值 Component public class MyBean {Value("${my.property}")private S…

DVB-S系统仿真学习

DVB-S系统用于卫星电视信号传输&#xff0c;发送端框图如下所示 扰码 实际数字通信中&#xff0c;载荷数据的码元会出现长连0或长连1的情况&#xff0c;不利于接收端提取时钟信号&#xff0c;同时会使得数据流中含有大量的低频分量&#xff0c;使得QPSK调制器的相位长时间不变…

2024.3.25 QT

思维导图 作业&#xff1a;完善对话框&#xff0c;点击登录对话框 如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个0k按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面如果账号和密码不…

JAVA面试大全之JVM和调休篇

目录 1、类加载机制 1.1、类加载的生命周期&#xff1f; 1.2、类加载器的层次? 1.3、Class.forName()和ClassLoader.loadClass()区别? 1.4、JVM有哪些类加载机制&#xff1f; 2、内存结构 2.1、说说JVM内存整体的结构&#xff1f;线程私有还是共享的&#xff1f; 2.2…

春季装修选择传统空调还是中央空调?约克VRF中央空调帮你分析

春天,不仅是万物复苏的时刻,也是家居装修的黄金时期。正所谓“一年之计在于春”,气温适中,湿度适宜,正是施工的好时节。而且,春季的空气流通性好,有利于装修材料的干燥与挥发,减少有害物质的残留,对我们的健康也更有保障。更为重要的是,在这个气候不冷不热的季节,我们有更充足的…

推荐几个python的工具

Beautiful Soup Beautiful Soup用于清理和提取HTML和XLM中的数据。 它用于解析HTML文本&#xff0c;并允许数据科学家将文本数据转换为结构化数据&#xff0c;只需几行代码&#xff0c;就可以提取复杂的HTML数据。在某些情况下&#xff0c;您只需要一个表标签&#xff0c;并且…