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 > bfprintf("a大于b");
end

例2:使用if-else语句

a = 1;
b = 2;
if a > bfprintf("a大于b");
elsefprintf("a小于b");
end

例3:使用if-elif语句

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

例4:分支嵌套语句:

a = 4;
b = 1;
if a > bfprintf("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>0y=2*x;
elseif x==0y=0;
elsey=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的矩阵, 其元素均为零均值、单位方差的正太分布随机数

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware和Xshell连接

1.开启虚拟机 2.使用管理员账户&#xff0c;点击未列出 3.输入用户名密码 4.点击编辑虚拟网络编辑器 5.记住自己的网关和IP地址 6.打开终端 7.输入命令&#xff0c;vim / etc / sysconfig / network -scripts / ifcfg-ens33 回车 8.修改图中两处按“ I ”键进入编辑 d…

3-iperf3 使用什么工具可以检测网络带宽、延迟和数据包丢失率等网络性能参数呢?

(1)iperf3简介 1.iperf3简介 2.用途&#xff08;特点&#xff09; 3.下载iperf3地址 &#xff08;2&#xff09;实战 1.iperf3参数 &#xff08;1&#xff09;通用参数&#xff08;客户端和服务器端都是适用的&#xff09; &#xff08;2&#xff09;客户端参数 实验1&…

对下载软件/文件进行校验的工具(Checksum and GPG)

前言 之前装软件一直都没有验证安装文件的习惯&#xff0c;信息安全意识不高&#xff0c;碰巧最近没啥事&#xff0c;微微写篇文章记录下校验工具&#xff08;互联网http、https、ftp 服务并没有那么安全&#xff0c;是可以被劫持篡改。老装软件选手了&#xff0c;是该养成个校…

MySQL连接与存储

目录 一.连接查询 1.内连接 2.左连接 3.右连接 二.存储过程 1.定义 2.优点 &#xff08;1&#xff09;执行一次后&#xff0c;会将生成的二进制代码驻留缓冲区&#xff0c;提高执行效率 &#xff08;2&#xff09;SQL语句加上控制语句的集合&#xff0c;灵活性高 &am…

Unity3d C#转换微信小游戏 Dotween插件在苹果(IOS)设备中异常问题高性能模式修复

问题 使用minigame-unity-webgl-transform插件转换微信小游戏&#xff0c;功能在安卓和开发工具上都能正常&#xff0c;不过使用Dotween(版本DOTweenPro v1.0.244)插件实现的功能在苹果系统中却都不能正常对比如下&#xff1a; 云移动正常&#xff1a; 云移动IOS异常&#x…

图形界面开发-framebuffer技术

https://www.linuxidc.com/Linux/2012-05/61024.htm 1、framebuffer 帧缓冲 帧缓冲&#xff08;framebuffer&#xff09;是Linux 系统为显示设备提供的一个接口&#xff0c;它将显示缓冲区抽象&#xff0c;屏蔽图像硬件的底层差异&#xff0c;允许上层应用程序在图形模式下直接…

Android 性能优化实例分享-内存优化 兼顾效率与性能

背景 项目上线一段时间后,回顾重要页面 保证更好用户体验及生产效率&#xff0c;做了内存优化和下载导出优化&#xff0c;具体效果如最后的一节的表格所示。 下面针对拍摄流程的两个页面 预览页 导出页优化实例进行介绍&#xff1a; 一.拍摄前预览页面优化 预览效果问题 存在…

Healix Protocol 的 HLX 通证预售:医疗领域的未来展望

Healix Protocol推出 HLX 通证预售&#xff0c;将带来医疗领域的重要变革。通过其区块链技术&#xff0c;Healix Protocol致力于重新定义医疗服务的可及性与负担性&#xff0c;成为医疗行业的希望之光。该项目旨在增强透明度、可及性和效率&#xff0c;推动医疗体系向更加公平和…

【网络】:数据链路层

数据链路层 一.以太网帧格式二.认识MTU三.ARP协议1.ARP协议的工作流程2.ARP数据报的格式3.ARP欺骗 四.其他重要协议或技术1.DNS2.ICMP协议3.NAT技术&#xff08;重点&#xff09;4.代理服务器 五.一些问题 认识以太网 “以太网” 不是一种具体的网络, 而是一种技术标准; 既包含…

耳目一新的滑块版登录注册界面~

又到了毕业季&#xff0c;大家做毕设的时候总会参考已有的案例&#xff0c;不过大多产品的样式非常单一雷同。本帖博主给大家分享一个比较别树一帜的登录界面&#xff0c;如下&#xff1a; 如果没有账号&#xff0c;点击“去注册”&#xff0c;则会产生如下的效果&#xff1a; …

leetcode代码记录(平衡二叉树

目录 1. 题目&#xff1a;2. 我的代码&#xff1a;小结&#xff1a; 1. 题目&#xff1a; 给定一个二叉树&#xff0c;判断它是否是 平衡二叉树 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;true 示例 2&#xff1a; 输入&#xff1a;…

unity学习(70)——编译游戏发生错误2

1.全屏问题其实无所谓&#xff0c;windows用tab可以切出来的。 2.现在主要问题是服务器try了以后虽然不崩溃了&#xff0c;但不再显示2个实例对象了&#xff0c;unity和exe此时都只能看到一个实例对象 2.1把之前报错位置的try-catch先注释掉 2.2 unity中此时登录666账号&…