Matlab

数据类型

  • 数字
  • 字符和字符串
  • 矩阵
  • 元胞数组
  • 结构体

清空环境变量及命令

cls 	% 清除Command Windows中的所有命令
clear all % 清除Workspace*中的所有命令

变量命名

  • 区分大小写
  • 不超63位
  • 字母开头,由下划线、字母和数字组成
  • 见名知意

注释用 %

字符串

abs('a')    % ASCII码
char(97)
num2str % number to string
length(str) % 字符串长度

矩阵

A = [1 2 3; 4 5 6; 7 8 9]
B = A' %转置矩阵
C = A(:) %将矩阵A中的每列合并成一个长的列向量
D = inv(A) %求逆
E = zeros(10, 5, 3)
E = zeros(size(A)) %生成零矩阵
E(:, :, 1) = rand(10, 5)

rand生成均匀分布的伪随机数,分布在0~1之间

rand(m, n)
rand(m, n, 'double') %指定精度,还可以为'single'
rand(RandStream, m, n)

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

语法同上

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

randi(iMax)  %在区间(0,iMax)
randi(iMax, m, n)
randi([iMin, iMax], m, n) %在开区间(iMin, iMax)生成m*n的随机矩阵

元胞数组

元胞数组是一种包含名为元胞的索引数据容器的数据类型,其中的每个元胞都可以包含任意类型的数据。元胞数组通常包含文本列表、文本和数字的组合或者不同大小的数值数组。通过将索引括在圆括号 () 中可以引用元胞集。使用花括号 {} 进行索引来访问元胞的内容。

A = cell(1, 6)
A[2] = eye(3) %matlab是从1开始的
A{5} = magic(5) %magic 魔方,在matlab中生成n阶幻方(横竖斜三个方向的数字和总是相同的)
B = A{5}

结构体

books = struct('name', {{'Machine Learning', 'Data Mining'}}, 'price', [30, 40])
books.name % 属性
books.name(1) % cell
book.name{1} % string

矩阵操作

矩阵的定义和操作

A = [1 2 3 4 5 6]
B = 1:2:9
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 = B + A % 加
D = A - B % 减
E = A * B' % 乘
F = A .* B % 点乘
G = A / B % G * B = A , G * B * pinv(B) = A * pinv(B) , G = A * pinv(B) ; pinv()求伪逆(广义逆)
H= A ./ B % 点除 % 左除和右除
A / B = A * inv(B)
A \\ B = inv(A) * B

矩阵的下标

A = magic(5)
B = A(2, 3)
C = A(2, :) % 第二行全部元素构成的矩阵
D = A(:, 4)
[m, n] = find(A > 20) % 找大于20的序号值/矩阵

逻辑与流程控制

if ... else ... end

for ... end

while ... end

switch ... case ... end

循环语句

例、求12 + 22 + 32 + 42 + 52 的和

sum = 0;
for n = 1:5
sum = sum + n^2;
end
sum = 0;
n = 1;
while n <= 10
sum = sum + n;
n = n + 1;
end

例、求1到5的阶乘的和

sum = 0;
for i = 1:5
p = 1;
for j = 1:i
p = p * j;
end
sum = sum + p;
end

分支语句

a = 10;
b = 20;
if a<b
'成立'
end
a = 10;
b = 20;
if a>b
'成立'
else
'不成立'
end

Matlab学习1的更多相关文章

  1. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  2. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  3. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  4. matlab学习笔记---(1)

    Matlab学习笔记 一. Desktop Basics (Matlab 基础知识) 当你打开Matlab的时候,matlab按照以下默认的方式展示出来. 该桌面主要包括以下几部分内容: 当前文件夹: ...

  5. 【数学建模】MATLAB学习笔记——函数式文件

    MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...

  6. MATLAB学习总结(1)

    MATLAB学习总结(1)   path help path cd(current directory) savepath pathtool

  7. matlab学习路线

    知乎:matlab学习路线 MATLAB数学教学视频

  8. Matlab学习笔记(一)—— 三维图形绘制

    这学期公选课选的是MATLAB,所以准备把这学期所学习的整理到博客上,作为记录,哇咔咔~ 一.三维函数图: x=cos(t), y=sin(t), z=t %≤t ≤*pi t=:*pi; %t的取值 ...

  9. Matlab学习笔记(1)

    在帮助文档中查看学习视频的时候.出现以下对话框,不能查看 解决办法:   在系统环境变量中找到Path.添加“%SystemRoot%\system32;%SystemRoot%;%SystemRoo ...

  10. matlab学习日志之并行运算

    原文地址:matlab并行计算,大家共同学习吧,涉及到大规模数据量处理的时候还是效果很好的 今天搞了一下matlab的并行计算,效果好的出乎我的意料. 本来CPU就是双核,不过以前一直注重算法,没注意 ...

随机推荐

  1. 深入理解 python 虚拟机:字节码教程(2)——控制流是如何实现的?

    深入理解 python 虚拟机:字节码教程(2)--控制流是如何实现的? 在本篇文章当中主要给大家分析 python 当中与控制流有关的字节码,通过对这部分字节码的了解,我们可以更加深入了解 pyth ...

  2. JUC(七)分支合并框架

    JUC分支合并框架 简介 Fork/Join可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务的结果合并称为最终的计算结果. Fork:负责将任务拆分 Join:合并拆分任务 ForkJoi ...

  3. 面向对象中@perproty的作用

    @property 是 Python 中的一个装饰器(decorator),用于创建 getter 和 setter 方法.其作用是将类的方法转换为相应的属性,从而使得代码更加简洁明了. 在 Pyth ...

  4. java Builder模式

    Builder 模式也叫建造者模式,builder模式的作用将一个复杂对象的构建与他的表示分离,一步一步创建一个复杂对象的创建型模式.在不知道内部建造细节的情况下,可以更精细的控制对象的构造流程.目的 ...

  5. 【Qt6】嵌套 QWindow

    在上个世纪的文章中,老周简单介绍了 QWindow 类的基本使用--包括从 QWindow 类派生和从 QRasterWindow 类派生. 其实,QWindow 类并不是只能充当主窗口用,它也可以嵌 ...

  6. JavaScript原生兼容大全-持续更新

    JavaScript兼容-持续更新 1.css非行内样式操作 // currentStyle用于IE低版本 getComputed用于主流浏览器 // element 目标元素 attribute 目 ...

  7. 2022-11-01:给定一个只由小写字母和数字字符组成的字符串str。 要求子串必须只含有一个小写字母,数字字符数量随意。 求这样的子串最大长度是多少?

    2022-11-01:给定一个只由小写字母和数字字符组成的字符串str. 要求子串必须只含有一个小写字母,数字字符数量随意. 求这样的子串最大长度是多少? 答案2022-11-01: 经典的滑动窗口问 ...

  8. 2022-10-23:给你一个整数数组 nums 。如果 nums 的一个子集中, 所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 。 比方说,如果 nums =

    2022-10-23:给你一个整数数组 nums .如果 nums 的一个子集中, 所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为 好子集 . 比方说,如果 nums = ...

  9. 2022-04-13:给你一个下标从 0 开始包含 n 个正整数的数组 arr ,和一个正整数 k 。 如果对于每个满足 k <= i <= n-1 的下标 i ,都有 arr[i-k] <= arr

    2022-04-13:给你一个下标从 0 开始包含 n 个正整数的数组 arr ,和一个正整数 k . 如果对于每个满足 k <= i <= n-1 的下标 i ,都有 arr[i-k] ...

  10. 【C++】requires关键字简介

    requires 是 C++20 中引入的一个新关键字,用于在函数模板或类模板中声明所需的一组语义要求,它可以用来限制模板参数,类似于 typename 和 class 关键字. requires关键 ...