MATLAB的快速入门

news2025/7/18 23:37:30

第一部分:基础知识

常用命令:

clc    %清除命令行窗口 
clear  %清空工作区数据
cd     %显示或改变工作目录
clf    %清除图形窗口
help   %打开帮助文档
save   %保存内存变量到指定文件
hold   %保持图形
close  %关闭当前图窗
quit   %退出

变量:

  • 变量名必须以字母开头,之 后可以是任意的字母、数字或 下划线;

  • 变量名区分字母的大小写;

  • 变量名不超过31个字符。

常量:

ans     %默认变量
pi      %圆周率
inf     %无穷大
exp(1)  %自然底数e
eps     %浮点运算的相对精度

数据类型:

%%数字
1,2,3;

%%向量
a=[2 4 6 8];
x=1:2:10;
x=linspace(1,10,10);

%%矩阵
a=[2 4;6 8];

%%字符串
'hello world'

运算符

+    %算数加
-    %算数减
*    %算数乘
.*   %点乘
^    %算数乘方
/    %算数右除
'    %矩阵转置
==   %等于

常用函数

abs   %模
sqrt  %平方根
exp   %e指数
sin   %正弦函数

第二部分:基础运算

变量赋值

%数值
a=3;

%向量
b=[1 2 3];
c=[1,2,3];
d=linspace(1,3,3);
e=1:1:3;

%矩阵
f=[1,2,3;4,5,6];

%字符串
g='hello world';

数学运算

逻辑计算

注释

  • %后面的是注释

  • CTRL+R快捷键注释

  • CTRL+T快捷键取消注释

第三部分:程序基础

程序设计

程序结构

  • 循环结构:

  1. for循环

for 变量=表达式
    可执行语句1
end

2. while 循环

while 表达式
    可执行语句1
end

分支结构

if 表达式
    语句1
else
    语句2
end

第四部分:函数句柄

直接通过@符号定义

fun1=@(参数1,参数2,...)函数表达式
myfun1=fun1(变量1,变量2)
%example1
fun1=@(x,y)(x.^2+y.^2)
myfun1=fun1(2,3)

%example2
x=1:1:10;
y=linspace(10,20,10);%10 11 12 13 14 15 16 17 18 19
fun2=@(x,y)(x.^2+y.^2)
myfun2=fun2(x,y)

M文件定义和调用函数

%example
function[输出形参表:output1,output2,...,outputn]=函数名(输入形参表:input1,...,inputn)
    注释说明部分
    函数体代码部分
end
myfun1=fun1(x,y);

function f1=fun1(x1,y1)  %%一般这个定义函数部分都会放在这个程序的最下面
    f1=x1.^2+y1.^2;
end

第五部分:画图基础

基础命令

figure

创建一个图形窗口

close all

关闭打开的matlab文件

hold on

保持当前轴及图形不变

grid on

显示当前坐标区的主网格线

plot(x,y)

创建x-y的二维线图

polarplot(theta,rho)

在极坐标中绘图

plot3(x,y,z)

plot(x,y)的三维拓展

plot(x1,y1;x2,y2...)

绘制多条曲线

%example
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
%创建x,y变量
x=linspace(-pi,pi);
y=cos(x);
plot(x,y);
figure
polarplot(x,y)

美化线条

plot(x,y,s) s为单引号标记的字符串,用来设 置所画数据点的类型、大小、颜色 以及数据点之间连线的属性。

'r'

red

'-'

实线

'o'

圆圈

'g'

green

'--'

虚线

'+'

加号

'b'

blue

':'

点线

'*'

星号

'k'

black

'-.'

点划线

'.'

LineWidth

线宽

%example
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
% x=linspace(-pi,pi);
% y=cos(x);
% plot(x,y);
% figure
% polarplot(x,y)
clc;
clf;
clear;
close;
x=linspace(-pi,pi);
y=cos(x);
%%plot(x,y,'r-o',LineWidth=0.5);
plot(x,y,'r-o','LineWidth',0.5);

坐标轴设置

xlabel/ylabel

坐标轴标签

xlim/ylim

坐标轴范围调整

Axes 属性

官网中的Axes属性文档

%example1
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x=linspace(-pi,pi);
y=cos(x);
%%plot(x,y,'r-o',LineWidth=0.5);
plot(x,y,'r-o','LineWidth',0.5);
%修改Axes属性
ax=gca;%%获取图形信息
ax.FontSize=12;%%字体大小
ax.TickDir='out';%% 刻度线方向
ax.TickLength=[0.02 0.02];%%刻度线长度
ax.YLim=[-2 2];%%刻度范围
%example2
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x=linspace(-pi,pi);
y=cos(x);
%%plot(x,y,'r-o',LineWidth=2);
plot(x,y,'r-o','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);

对数坐标轴

半对数坐标系

semilogx(x,y)

x轴以10为基数的对数刻度

semilogy(x,y)

y轴以10为基数的对数刻度

双对数坐标系

loglog(x,y)

x,y轴以10为基数的对数刻度

%example
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x=0:1:1000;
y=0:10:1e4;
subplot(2,2,1);
semilogy(x,y);
subplot(2,2,2);
semilogx(x,y);
subplot(2,2,[3,4]);
loglog(x,y)

一图多线

  1. hold on

  1. plot(x1,y1,x2,y2,x3,y3...)

%example
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x1=linspace(-pi,pi);
y1=cos(x1);
%%plot(x,y,'r-o',LineWidth=2);
plot(x1,y1,'r-o','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);

hold on;%%保持图像不变

x2=linspace(-pi,pi);
y2=sin(x2);
%%plot(x,y,'b--*',LineWidth=2);
plot(x2,y2,'b--*','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);
legend('cosx','sinx')%%多线条最好有图例说明一下
%该代码生成的图形和上图一样,最大的不同在于双线条的画法不同
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x1=linspace(-pi,pi);
y1=cos(x1);
x2=linspace(-pi,pi);
y2=sin(x2);
plot(x1,y1,'r-o',x2,y2,'b--*',LineWidth=2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);
legend('cosx','sinx')%%多线条最好有图例说明一下

双纵坐标轴

%example
%绘图
clc;%%清除命令行窗口
clf;%%清除图形窗口
clear;%%清除工作区数据
close;%%清除打开的matlab文件
x1=linspace(-pi,pi);
y1=cos(x1);
colororder({'b','r'});%设置坐标轴颜色
yyaxis left;
%%plot(x,y,'r-o',LineWidth=2);
plot(x1,y1,'r-o','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);

hold on;%%保持图像不变

yyaxis right;
x2=linspace(-pi,pi);
y2=sin(x2);
%%plot(x,y,'b--*',LineWidth=2);
plot(x2,y2,'b--*','LineWidth',2);
%坐标轴
xlabel('x','FontSize',18,'FontWeight','bold');
ylabel('y','FontSize',18,'FontWeight','bold');
%set实现图形对象属性
set(gca,'Fontsize',18,'Fontweight','bold','Position',[0.1 0.16 0.71 0.8]);
set(gca,'LineWidth',3,'Tickdir','in','TickLength',[0.0215,0.015],'YMinorTick','off','XMinorTick','off');
%坐标轴范围
xlim([-pi pi]);
ylim([-1 1]);
legend('cosx','sinx')%%多线条最好有图例说明一下

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sentry权限控制

sentry权限控制 文章目录sentry权限控制前言1. 安装2. hive内得配置4. hdfs配置5. Hue 授权6. 连接hive配置权限7. 验证前言 Apache Sentry是一个可以对Hadoop集群中的数据及元数据进行细粒度管理的权限管理系统。Sentry目前可以与ApacheHive,HiveMetastore / HCat…

前端基础(十四)_Math对象

Math对象 1.Math对象 对象.方法名 (1)Math.floor() 向下取整 去掉小数部分 等同于parseInt Math.floor(1.222) //1(2)Math.ceil() 向上取整 去掉小数部分 向上进一 Math.ceil(1.222) //2(3)Math.round() 四舍五入 4.5 5 针对小数点后面第一位数字 Math.round(1.272) //1 Ma…

嵌入式安防监控项目——exynos4412主框架搭建

目录 一、模块化编程思维 二、安防监控项目主框架搭建 一、模块化编程思维 其实我们以前学习32使用keil的时候就是再用模块化的思维。每个硬件都单独有一个实现功能的C文件和声明函数,进行宏定义以及引用需要使用头文件的h文件。 比如简单的加减乘除取余操作我们…

Spark Standalone 部署

Spark Standalone 部署解压缩文件修改配置文件启动集群Web UI 界面提交应用提交参数说明配置历史服务配置日志存储路径添加日志配置重启重新执行任务查看历史服务配置高可用(HA)集群规划停止集群启动 Zookeeper启动集群关闭集群关闭历史服务解压缩文件 …

Go语言使用Playwright自动化测试、录屏、执行js

Go版本的Playwright支持Chromium、Firefox和WebKit的Web自动化测试,兼容Windows、Linux和MacOS,默认支持headless无头模式,安装方便、绿色高效、兼容性强、运行速度快。 支持的主要功能有: 跨多个页面、域名和iframe的场景&#x…

什么led灯性价比高?家用led灯选哪种最好

人造灯具经过多年的发展,现在最为成熟的工艺就是led灯了,不仅有荧光灯高效节能、省电高亮的特点,而且光线可控性非常高,对于调光、提高光线柔和度等方面非常方便,保护眼睛更有效。 那么什么led灯性价比高呢&#xff0c…

JavaScript 高级5 :ES6

JavaScript 高级5 :ES6 Date: January 19, 2023 Sum:ES6新增语法、ES6内置对象扩展(Array、String扩展方法、set数据结构) 目标 能够说出使用let关键字声明变量的特点 能够使用解构赋值从数组中提取值 能够说出箭头函数拥有的…

基于SpringBoot的学生会管理系统 源码

StudentUnionManagementSystem 基于SpringBoot的学生会管理系统 源码 链接 目录StudentUnionManagementSystem介绍软件架构使用说明1.页面登录2.首页3.成员信息管理4.角色信息管理5.权限管理6.活动管理7.文件管理8.活动展示介绍 学生会管理系统 SpringBoot Mybatis-plus shir…

CentOS 7 怎样设置自动连接网络

作为 Linux 中的重要一员,CentOS 7 始终把安全放在第一位,开机以后并不会自动启动网络。而且,相比 Windows 下只需点击几下鼠标便能搞定配置,在 CentOS 7 中要想设置开机自动连接网络,简直可以说是需要具有“专业级水准…

手动实现 数组和链表

数组和链表示意图 目的 不用java标准库 自己时间 一个 arraylist 和 linked list 区别 数组 数组 支持 随机访问 可以立即访问 根据 第一个元素的位置, 推算出 第三个地方的位置 如下图所示,假设我们知道 头的位置是X 数组是 int类型 每个位置就是 …

Qt音视频开发21-mpv内核万能属性机制

一、前言 搞过vlc内核后又顺带搞了搞mpv内核,mpv相比vlc,在文件数量、sdk开发便捷性方面绝对占优势的,单文件(可能是静态编译),不像vlc带了一堆插件,通过各种属性来set和get值,后面…

第十四届蓝桥杯三月真题刷题训练——第 5 天

目录 题目1:数的分解 题目描述 运行限制 代码: 题目2:猜生日 题目描述 运行限制 代码: 题目3:成绩分析 题目描述 输入描述 输出描述 输入输出样例 运行限制 代码: 题目4:最大和…

Vue3做出B站【bilibili】 Vue3+TypeScript【快速入门一篇文章精通系列(一)前端项目案例】

本项目分为二部分 1、后台管理系统(用户管理,角色管理,视频管理等) 2、客户端(登录注册、发布视频) Vue3做出B站【bilibili】 Vue3TypeScript【快速入门一篇文章精通系列(一)前端项目…

vue3 拖拽 穿梭框

文章目录期望结果当前技术栈实现方法安装 sortablejs导入 sortablejs视图 通过 id 绑定 sortablejs 数据通过 data-xxx 自定义属性 挂载ts中 通过id获取dom 实现拖拽 getNewArr函数通过自定义属性对数据做处理以下是全部代码官网链接下面是文档UsageOptionsgroup optionsort op…

代码随想录之哈希表(力扣题号)

242. 有效的字母异位词 直接用数组模拟哈希表 只有小写字母&#xff0c;开26的数组就可以了 class Solution {public boolean isAnagram(String s, String t) {//24-28int[] hash new int[26];Arrays.fill(hash,0);for(int i0;i<s.length();i){hash[s.charAt(i)-a];}for(i…

2023年3月全国数据治理工程师认证DAMA-CDGA/CDGP火热报名中...

弘博创新是DAMA中国授权的数据治理人才培养基地&#xff0c;贴合市场需求定制教学体系&#xff0c;采用行业资深名师授课&#xff0c;理论与实践案例相结合&#xff0c;快速全面提升个人/企业数据治理专业知识与实践经验&#xff0c;通过考试还能获得数据专业领域证书。 DAMA认…

【致敬女神】HTMLReport应用之Unittest+Python+Selenium+HTMLReport项目自动化测试实战

HTMLReport应用之UnittestPythonSeleniumHTMLReport项目自动化测试实战1 测试框架结构2 技术栈3 实现思路3.1 使用HtmlTestRunner3.2 使用HTMLReport4 TestRunner参数说明4.1 源码4.2 参数说明5 框架代码5.1 common/reportOut.py5.2 common/sendMain.py5.3 report5.3.1 xxx.htm…

ARM架构下使用Docker安装Nacos

大家好&#xff0c;我是中国码农摘星人。 欢迎分享/收藏/赞/在看&#xff01; 注意&#xff1a;以下内容仅适用于 ARM 架构&#xff0c;X86 及 AMD 架构理论类似&#xff0c;只需要修改配置即可。 构建 MySQL 8.x 镜像 MySQL 5.x 版本没有 ARM 架构的镜像 FROM mysql:8.0.32 A…

Java 8 排序

今天分享 Java 8 进行排序的 10 个姿势&#xff0c;其实就是把 Java 8 中的 Lambda、Stream、方法引用等知识点串起来 传统排序 现在有一个 List 集合&#xff1a; public static List<User> LIST new ArrayList() {{add(new User("Lisa", 23));add(new Us…

三维人脸实践:基于Face3D的渲染、生成与重构

face3d: Python tools for processing 3D face git code: https://github.com/yfeng95/face3d paper list: PaperWithCode 该方法广泛用于基于三维人脸关键点的人脸生成、属性检测&#xff08;如位姿、深度、PNCC等&#xff09;&#xff0c;能够快速实现人脸建模与渲染。推荐…