当前位置: 首页 > news >正文

matlab基本语法

基本语法

变量命名规则

  • 区分大小写
  • 长度不超过63位
  • 字母开头,可以有字母、下划线和数字组成,但不能使用标点
  • 应该简洁明了

image-20240902131618572

命令行窗口

>>>clc 清楚命令窗口

>>> claer all 清理工作区内容

注释

%% 注释符

数据类型

1.数字

1+1

2*2

1/1

10-7

2.字符串

s = 'a'
abs(s)  %%Ascll码
char(65) %% 65代表 ‘a'
num2str(65)%% 代表65str = 'I Love MATLAB'
length(str) %%计算字符串长度

3.矩阵

A = [1 2 3;4 5 2;3 2 7;4 6 8] %% 3*3矩阵
B = A' %% 矩阵转置
C = A(:) %% 把A矩阵拉长(竖着拉长)
D = inv(A) %% 矩阵的求逆【矩阵必须是方阵】
A * DE = zeros(10,5,3) %% 生成三维 10*5的0矩阵
E(:,:,1) = rand(10,5)
E(:,:,2) = randi(5105) 
E(:,:,1) = randn(105)

image-20240902134305883

1.rand生成均匀分布的伪随机数。分布在(0~1)之间

主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数

rand(m,n,'double')生成指定精度的均匀分布的伪随机数,参数可以 是’single‘

rand(RandStream,m,n)利用RandStram(类似于随机种子)生成伪随机数

2.randn 生成标准正态分布的伪随机数(均值为0,方差为1)

主要语法:与rand一样

3.randi 生成均匀分布的伪随机数

主要语法:randi(iMax)在开区间(0,iMax)生成均匀分布的伪随机整数

​ randi(iMax,m,n)在开区间(0,iMax)生成mXn型随机矩阵

​ r = randi([iMin,iMax],m,n)在开区间(iMin,iMax)生成mXn型随机矩阵

4.元胞数组

image-20240902134737523

定义

A = cell(1,6) %%
A{2} = eye(3) %% 生成3*3对角线为1单位矩阵
A{5} = magic(5)%% 生成n阶的幻方矩阵
B = A{5}

image-20240902135305955

5.结构体

books = struct('name',{{'Machine','Data Mining'}},'price,[30,40]')

image-20240902135825726

MATLAB矩阵操作

矩阵定义与构造

A = [1 2 3 5 8 5 4 6]
B = 1:3:9 %%[1,9]步长为3
C = repmat(B,3,1) %% 让B重复三行一列(横着重复3次 竖着重复1次)
D = ones(2,4)%% 生成2*4全1的矩阵

矩阵运算

A = [1 2 3 4;5 6 7 8]
B = [1 1 2 2;2 2 1 1]
C = A + B
D = A - B
E = A * B'
F = A. *B %% 对应项相乘
G = A / B %%相当于A乘以B的逆
H = A./B %% 对应项相除

image-20240902141427460

矩阵下标

注意:下标从1开始

A = magic(5);
B = A(2,3)
C = A(:,4)
D = A(:,4)
[m,n] = find(A > 20)

image-20240903150520984

循环结构

for

结构

for 循环变量 = 初值 : 步长 :终值

​ [执行语句]

end

for 循环变量 = 初值 : 终值 (步长 1)

​ [执行语句]

end

%% 求和1^2 + 2^2 + 3^3 + 4^2 + 5^2
sum = 0
for n = 1 : 5sum = sum + n^2;
end
sum

while

while 条件表达式

​ [执行语句]

end

s = 0;
n = 1;
while n<=10s = s+n;n = n+1;
end
s;

image-20240903151924897

分支结构

if … else结构

if 条件表达式

​ [语句体]

end

if…else…end

if 表达式

​ [语句体1]

​ else

​ [语句体2]

end

switch … case … end结构

switch 表达式(数值或字符串)

​ case 数值或字符串

  				语句体;

​ …

​ otherwise

​ 语句体n;

end

二维平面画图

%% 画图
x = 0:0.01:2*pi;%% 步长0.01
y = sin(x);%%figure 建立幕布
figure
plot(x,y); %%绘制当前x,y图
title('y = sin(x)');
xlabel('x');
ylabel('sin(x)');%%画图
xlim([0 2*pi]) %% 规定区间
x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.08*exp(-0.5*x).*sin(10*x);
figure
[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');%%共用一个坐标系
set(get(AX(1),'Ylabel'),'String','Slow Decay');
set(get(AX(2),'Ylabel'),'String','Fast Decay');
xlabel('Time (\musec)');
title('Multiple Decay Rates');
set(H1,'LineStyle','--');
set(H2,'LineStyle',':');

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • windows安装composer
  • 网恋照妖镜源码搭建教程
  • LINUX常用命令-docker-Kubernetes
  • 【机器人工具箱Robotics Toolbox开发笔记(二)】Matlab中机器人工具箱的下载与安装
  • k8s-pod 实战一 (创建pod,启动命令,参数,pod故障排除,拉取命令)
  • Fileupload - Endpoint and OpenAI Generation for the Service
  • 快速幂算法——求解大指数幂
  • 强化学习实操入门随笔
  • 【云原生之kubernetes实战】k8s环境中部署Nginx服务
  • 学习记录——day42 模板
  • 数字货币是怎么回事什么是数字货币
  • 由浅入深学习 C 语言:Hello World【提高篇】
  • 前端面试体——项目介绍以及SPA介绍
  • netty编程之整合es实现存储以及搜索功能
  • MySql练习(1)
  • (三)从jvm层面了解线程的启动和停止
  • [NodeJS] 关于Buffer
  • Angular4 模板式表单用法以及验证
  • java8 Stream Pipelines 浅析
  • JavaScript异步流程控制的前世今生
  • JAVA并发编程--1.基础概念
  • js ES6 求数组的交集,并集,还有差集
  • Linux链接文件
  • python大佬养成计划----difflib模块
  • uni-app项目数字滚动
  • unity如何实现一个固定宽度的orthagraphic相机
  • XForms - 更强大的Form
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 前端知识点整理(待续)
  • 如何学习JavaEE,项目又该如何做?
  • 十年未变!安全,谁之责?(下)
  • 智能合约开发环境搭建及Hello World合约
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • UI设计初学者应该如何入门?
  • ​软考-高级-信息系统项目管理师教程 第四版【第14章-项目沟通管理-思维导图】​
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • #1014 : Trie树
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • $.ajax()方法详解
  • $nextTick的使用场景介绍
  • (2)MFC+openGL单文档框架glFrame
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (二)c52学习之旅-简单了解单片机
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (回溯) LeetCode 131. 分割回文串
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (强烈推荐)移动端音视频从零到上手(上)
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (五)IO流之ByteArrayInput/OutputStream
  • (一一四)第九章编程练习
  • (转)linux自定义开机启动服务和chkconfig使用方法