matlab基础语法总结

2023-10-30


1. 界面认识

  • 命令行输入clc:清除命令行窗口
  • 命令行输入clear all:清除右侧工作区
  • %:注释代码

2. 变量命名

  • 区分大小写
  • 以字母开头,可以使用下划线

3. 数据类型

  • 数字:abs()
  • 字符与字符串:字符串用单引号、char()、length()
  • 矩阵
A=[1 2 3; 4 5 6; 7 8 9]
B=A' % 转置
C=A(:) % 竖向拉长
D=inv(A) % 求逆
A*D
E=zeros(10,5,3) % 1053维
E1=rand(10,5) % 0-1之间均匀分布的伪随机数
E2=randi([3,7],10,5) % 固定范围的随机整数
E3=randn(10,5) % 标准正态分布的伪随机数(均值为0,方差为1
  • 元胞数组
A=cell(1,6) % 16列的元胞数组
A{2}=eye(3) % 33列的单位阵
A{5}=magic(4) % 4阶幻方
  • 结构体
books=struct('name',{{'Machine Learning','Data Mining'}},'price',[30,40])
books.name
books.name(1) % 1×1cell
books.name{1} % 字符串

4. 矩阵构造和四则运算

  • 矩阵构造
A=[1 2 3 4 5 6]
B=1:2:9 % 范围为1-9,步长为2
C=repmat(B,3,2) % 让B矩阵重复3×2次
D=ones(4,4) % 生成14×4的全1矩阵

应用:

解线性方程组:在这里插入图片描述

A=[5 6 -12; 6 5 -2; 4 -9 2;]
B=[1 129 17]'
invA=inv(A)
X=invA*B
  • 四则运算
A=[1 2 3 4; 5 6 7 8]
B=[4 3 2 1; 8 7 6 5]
C=A+B
D=A-B
E=A*B' % 矩阵相乘,A的行=B的列
F=A.*B % 对应项相乘
G=A/B % G*B=A 
H=A./B % 对应项相除
  • 矩阵的下标
A=magic(5)
B=A(2,3) % 取A矩阵第2行第3列的数
C=A(3,:) % 取A矩阵的第3行
D=A(:,4) % 取A矩阵的第4[m,n]=find(A>15) % 找出A矩阵中大于15的数,并用下标表示出来

5. 程序结构

  • for
%1-5平方的和
sum=0;
for i=1:5
    sum=sum+i^2;
end
  • if
a=100;
b=20;
if a>b
    '成立'
else
    '不成立'
end
  • while
%1-10的和
sum=0;
n=1;
while n<=10
    sum=sum+n;
    n=n+1;
end

6. 二维平面绘图

示例1:

x=0:0.01:2*pi;
y=sin(x);
figure % 幕布
plot(x,y)
title('y=sin(x)')
xlabel('x')
ylabel('sin(x)')
xlim([0 2*pi])

在这里插入图片描述
示例2:

x=linspace(0,30,500); % 0-30之间500个元素
y=x.*sin(x); % 增益正弦函数
plot(x,y,'LineWidth',1.5); % 线宽为1.5
title('增益正弦函数');
xlabel('\alpha');
ylabel('sin(\alpha)');
legend('sin(\alpha)'); % 插入线形标注
text(2,2*sin(2),'\rightarrow Okey!'); % 插入文字和箭头
grid on; % 显示网格线
box on; % 显示坐标轴框

在这里插入图片描述
示例3:

x1=linspace(0,2*pi,100);
x2=linspace(0,3,100);
y1=1/3*x1.*sin(2*x1);
y2=x2.^2+2*x2;
plot(x1,y1,'r:',x2,y2,'b--');

在这里插入图片描述
示例4:

x=linspace(0,2*pi,60);

subplot(2,2,1);
plot(x,sin(x)-1);
title('sin(x)-1');
axis([0,2*pi,-2,0]);

subplot(2,1,2);
plot(x,cos(x)+1);
title('cos(x)+1');
axis([0,2*pi,0,2]);

subplot(4,4,3);
plot(x,tan(x));
title('tan(x)');
axis([0,2*pi,-40,40]);

subplot(4,4,8);
plot(x,cot(x));
title('cot(x)');
axis([0,2*pi,-35,35]);

在这里插入图片描述

7. 三维立体绘图

示例1:

x=0:pi/50:10*pi;
plot3(sin(x),cos(x),x);
xlabel('sin(x)');
ylabel('cos(x)');
zlabel('t');
grid on;
axis square; % 将当前坐标系图形设置为方形

在这里插入图片描述

示例2:

[x,y,z]=peaks(30);
mesh(x,y,z);
grid on;

在这里插入图片描述

8. 线性规划

线性规划的matlab的标准形式如下:

在这里插入图片描述
(1): −x(1)−x(2)/3
(2):
在这里插入图片描述
(3): x(1)+x(2)/4=1/2
(4): −1≤x(1)≤1.5, −0.5≤x(2)≤1.25.

f=[-1 -1/3]; #目标函数
A=[1 1
    1 1/4
    1 -1
    -1/4 -1
    -1 -1
    -1 1]; #不等式约束条件矩阵
b=[2 1 2 1 -1 2]; #对应不等式右侧的矩阵
Aeq=[1 1/4]; #等式约束条件矩阵
beq=1/2; #对应等式右侧的矩阵
lb=[-1 0.5]; #下界
ub=[1.5 1.25]; #上界
x=linprog(f,A,b,Aeq,beq,lb,ub);

9. 积分

在这里插入图片描述

f=@(x) (sqrt(4-sin(x).^2));
y=integral(f,0,pi/6);

在这里插入图片描述

f=@(x) exp(-x.^2);
y=integral(f,0,1);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab基础语法总结 的相关文章

  • 通过多次合并相同的行向量来构建矩阵

    有没有一个matlab函数可以让我执行以下操作 x 1 2 2 3 然后基于x我想建立矩阵m 1 2 2 3 1 2 2 3 1 2 2 3 1 2 2 3 您正在寻找REPMAT http www mathworks com help t
  • MATLAB - 通过垂直连接子矩阵重新排列矩阵

    我在执行以下任务时遇到问题 假设一个 3x6 矩阵 A 0 2787 0 2948 0 4635 0 8388 0 0627 0 0435 0 6917 0 1185 0 3660 0 1867 0 2383 0 7577 0 6179 0
  • Deploytool for MATLAB R2013b 不起作用,发生了什么变化?

    多年来我一直在使用集成deploytool为我的同事创建易于分发的 exe 文件 我几天前安装了R2013b 但无法使用deploytool不再了 尝试打包时的日志文件给出了以下内容 ant
  • MATLAB 变量传递和惰性赋值

    我知道在 Matlab 中 当将新变量分配给现有变量时 会进行 惰性 评估 例如 array1 ones 1 1e8 array2 array1 的价值array1不会被复制到array2除非元素array2被修改 由此我推测Matlab中
  • 如何从 matlab 调用 Qtproject?

    我在 matlab 中有一个函数可以写入一个 file txt 我在 qt 项目中使用它 So 当我使用 unix 获取要运行的 qt 编译可执行文件时 我有一个 Matlab 文件 但出现错误 代码 unix home matt Desk
  • 2D 网格的纹理贴图

    我有一组点 x y meshgrid 1 N 1 M 在常规二维上定义 N x M网格 我还有另一组要点 u v 这是原始网格的一些变形 即 u v f x y 但是我没有实际的f导致变形 如何将纹理映射到由定义的 变形 网格u v 即 给
  • MATLAB parfor 和 C++ 类 mex 包装器(需要复制构造函数?)

    我正在尝试使用概述的方法将 C 类包装在 matlab mex 包装器中here http www mathworks com matlabcentral newsreader view thread 278243 基本上 我有一个初始化
  • 绘制布朗运动 matlab

    首先 我只想说我不太习惯使用matlab 但我需要一个作业 我应该创建一个 布朗运动 我的代码目前如下所示 clf hold on prompt Ge ett input size input prompt numParticles inp
  • MATLAB 中的逻辑数组与数值数组

    我正在比较两个二进制数组 我有一个数组 其中值可以是一或零 如果值相同则为 1 如果不同则为零 请注意 我正在做检查之外的其他事情 因此我们不需要进入矢量化或代码的性质 在 MATLAB 中使用数值数组和逻辑数组哪个更有效 Logical
  • 霍夫变换检测和删除线

    我想使用霍夫变换检测图像中的线条 但是我不想绘制线条 而是想删除原始图像中检测到的每条线条 image imread image jpg image im2bw image BW edge image canny imshow BW fig
  • 如何从 Matlab 运行 R 脚本 [重复]

    这个问题在这里已经有答案了 我有 m 文件 我想用它来运行 R 脚本 我怎样才能做到这一点 Matlab文件 caller m some matlab code need to call a R script some matlab cod
  • 在Matlab图例中使用Latex?

    我的 matlab 不接受我的 Latex 例如 如果我使用legend b 6 rightarrow b 7 它没有向我显示箭头 我该如何解决这个问题 尝试使用 Latex 解释器 例如 legend b 6 rightarrow b 7
  • 在 MATLAB 中验证输入的最佳实践

    在验证 MATLAB 函数中的输入时 什么时候使用 inputParser 比使用断言更好 或者还有其他更好的工具可用吗 我个人发现使用 inputParser 不必要地复杂 对于 Matlab 始终需要检查 3 项内容 存在 类型和范围
  • 将值从 C++ MEX 文件返回到 MATLAB

    我正在编写一个从 C 代码中检索数据的 MATLAB 程序 为此 我在 MATLAB 中创建了一个 MEX 文件和一个网关 mexFunction 虽然可以在 MATLAB 中读取读取值 但我无法检索它来使用它 如果不清楚 我有与这里完全相
  • 使用网络计算机进行 Matlab 并行处理

    我熟悉matlabpool and parfor用法 但我仍然需要加快计算速度 我的 1GB 网络中有一台功能更强大的计算机 两台计算机都有 R2010b 并且具有相同的代码和路径 使用两台计算机进行并行计算的最简单方法是什么 我今天使用的
  • 在 numpy/scipy 中查找 matlab 函数

    是否有一个等价的函数find A gt 9 1 来自 numpy scipy 的 matlab 我知道有nonzeronumpy 中的函数 但我需要的是第一个索引 以便我可以在另一个提取的列中使用第一个索引 Ex A 1 2 3 9 6 4
  • 在matlab中融合2个以上的图像

    在 MATLAB 中 如何融合两个以上的图像 例如 我想要做什么imfuse但对于超过 2 个图像 使用两张图像 这是我的代码 A imread file1 jpg B imread file2 jpg C imfuse A B blend
  • 可以避免迭代元胞数组时的“s{1} 烦恼”吗?

    The s 1 标题的 烦恼 指的是下面的 for 块中的第一行 for s some cell array s s 1 unpeel the enclosing cell do stuff with s end This s s 1 业务
  • UDP接收和发送Matlab

    我目前正在努力从外部设备接收数据包 然后将数据发送到另一个设备 我有一个工作 Simulink 模型 但我不知道如何在 Matlab 中对其进行编码 Matlab 中 UDP 接收块的参数如下图所示UDP 接收参数 https i stac
  • 如何从一个清晰的例子计算二维图像中的吉布斯能量

    我有一个关于矩阵的有趣问题 在吉布斯分布中 吉布斯能量U x 可以计算为 这是所有可能的派系 C 上的派系势 Vc x 的总和 右图 团 c 被定义为 S 中站点的子集 x 蓝色像素的邻域是左图中黄色像素的邻居 其中每对不同的站点都是邻居

随机推荐

  • 程序员是怎么约会的?

    程序员 在多数心目印象当中 程序员大多数是宅男 程序员的世界是由代码构建的 代码之外还是代码 程序员的世界是 格子衫 牛仔裤 其实 在程序员眼里衣服就是块布 避体不贵 经济实惠 省下的钱用来买个一万多的耳机 香的不要不要的呢 而且一般的衣服
  • vscode初次远程连接服务器报错解决

    1 错误 vscode初次远程连接服务器无法连接成功报错 并弹框提示 关闭 更多操作 重试 这说明网络无法安装vscode server服务 2 解决办法 1 查看自己vscode的commit id 2 按照输出中的wget 命令在可以联
  • 云计算 第六章 云平台应用(2)

    Hadoop核心组件介绍 分布式存储系统HDFS Hadoop Distributed File System 分布式存储系统 提供了高可靠性 高扩展性和高吞吐率的数据存储服务 资源管理系统YARN Yet Another Resource
  • Typora导出word

    Typora导出word Typora导出word 第一步 安装Pandoc软件 国内访问很慢 我已经下好了 地址见https download csdn net download weixin 45092432 86402193 第二步
  • redis_代码实现

    1 创建工程 创建一个maven项目mavenRedis pom xml中添加redis配置
  • STM32中断号与中断优先级

    中断号 以COTEX M3内核来举例 中断号对应下图中断编号 应该是芯片或者内核厂家定义好的 与中断向量表成对应关系 这个应该 O O 是不可变动的 相当于中断标识 比如MCU发生了一个相应的中断 则直接根据这个的中断号或者中断向量表去执行
  • 【满分】【华为OD机试真题2023 JAVA&JS】预定酒店

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 预定酒店 知识点排序 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 放暑假了 小明决定到某旅游景点游玩 他在网上搜索到了各种价位的酒店 长度为n的数组A 他的心
  • OpenAI-ChatGPT最新官方接口《审核机制》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(七)(附源码)

    Moderation 审核机制 前言 Introduction 导言 Quickstart 快速开始 其它资料下载 ChatGPT 作为一个大型人工智能语言模型 在提供用户便捷交流的同时也承担着内容审核的责任 为了保护用户和社会免受不良信息
  • 演讲:文档什么鬼分享会

    作为一个初创技术公司 我司的信息管理水平 基本还停留在茹毛饮血的原始水平 领导让我给全公司的同事做一个分享 说是要提升一下文档意识的水位 作为一只热爱解决具体问题的攻城狮 竟然勉强我去讲 哲学 瞬间化身嘤嘤怪 不过转念回想起当年挥斥方遒 写
  • Learning Ceph

    Author 海峰 http weibo com 344736086 参考章宇兄的开源项目学习ABC的方法来对ceph进行简单的学习与分析 下面是分析过程中画的图片
  • RBF神经网络对iris鸢尾花数据集进行分类识别

    RBF神经网络对iris鸢尾花数据集进行分类 http blog csdn net fubin0000 设计要求 iris以鸢尾花的特征作为数据来源 数据集包含150个数据集 分为3类 setosa versicolor virginica
  • Qt 界面加载卡顿或刷新问题

    主要有以下几个解决方案可以去尝试下 一 设置WA Mapped属性 让界面可以及时更新 void CMainStaticsWindows showEvent QShowEvent event 这句话解决第二次打开窗口没有刷新情况 窗口一片空
  • java fx数据库,Java FX中的数据库连接最佳实践

    目前我也在使用数据库连接的JavaFX应用程序 我选择的方式如下 创建一个SQL Controller Class 这个类应该包含处理你的SQL数据的所有东西 例如 一个连接方法来打开一个连接 一个close方法也没有错 在所有控制器类中使
  • Button 点击没有反应

    原因 检查一下你是不是把button TargetGraphic目标翻转了180度 因为UGUI的射线检测默认只检测正面 解决办法 在你的button检测目标也就是 TargetGraphic目标上加个GraphicRayCaster组件
  • 关于Java环境变量配置之后在CMD中键入JavaC、Java -version无反应

    本机装的是jdk 11 安装后配置环境 在cmd中键入JavaC Java version均无反应 如下图 上网查阅多方资料 终于在知乎大佬的分享贴下解决此问题 鸣谢 步骤如下 右键点击此电脑 gt 属性 gt 高级系统设置 gt 环境配置
  • CCF-CSP201903-4-消息传递接口

    首先应当思考的是如何对输入数据进行存储 通过样例输入可以看出 每一个进程执行的操作数量都是不定的 因此可以采用 vectorg N 进行存储 其中g i 表示i号进程应执行操作 也可以采用queueq N 进行存储q i 表示i号进程应执行
  • 传感器学习——ESP8266(无线串口使用)

    ESP8266模块是一款高性能的WIFI串口模块 只要知道串口怎么编程使用 就可以实现所谓的透明传输 将usb转ttl如下连接 USB转TTL模块上有3 3V和5V两个引脚可以作为VCC 但是一般选取5V作为VCC AT指令 在使用USB转
  • Python案例分析,streamlit模块,Python制作销售数据可视化看板

    前言 Python实战案例 streamlit模块 Python制作销售数据可视化看板 让我们愉快地开始吧 开发工具 Python版本 3 6 4 相关模块 streamlit模块 Plotly模块 Pandas模块 以及一些Python自
  • 比较两个float 2010-9-15 12:01

    float 类型不能比较相等或不等 但可以比较 gt lt gt lt 用 从语法上说没错 但是本来应该相等的两个浮点数由于计算机内部表示的原因可能略有微小的误差 这时用 就会认为它们不等 应该使用两个浮点数之间的差异的绝对值小于某个可以接
  • matlab基础语法总结

    文章目录 1 界面认识 2 变量命名 3 数据类型 4 矩阵构造和四则运算 5 程序结构 6 二维平面绘图 7 三维立体绘图 8 线性规划 9 积分 1 界面认识 命令行输入clc 清除命令行窗口 命令行输入clear all 清除右侧工作