Matlab学习1
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的更多相关文章
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- matlab学习笔记(一)单元数组
matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x) :取最大的整数 ceil(3.18)=4,ceil( ...
- matlab学习笔记---(1)
Matlab学习笔记 一. Desktop Basics (Matlab 基础知识) 当你打开Matlab的时候,matlab按照以下默认的方式展示出来. 该桌面主要包括以下几部分内容: 当前文件夹: ...
- 【数学建模】MATLAB学习笔记——函数式文件
MATLAB学习笔记——函数式文件 引入函数式文件 说明: 函数式文件主要用于解决计算中的参数传递和函数调用的问题. 函数式的标志是它的第一行为function语句. 函数式文件可以有返回值,也可以没 ...
- MATLAB学习总结(1)
MATLAB学习总结(1) path help path cd(current directory) savepath pathtool
- matlab学习路线
知乎:matlab学习路线 MATLAB数学教学视频
- Matlab学习笔记(一)—— 三维图形绘制
这学期公选课选的是MATLAB,所以准备把这学期所学习的整理到博客上,作为记录,哇咔咔~ 一.三维函数图: x=cos(t), y=sin(t), z=t %≤t ≤*pi t=:*pi; %t的取值 ...
- Matlab学习笔记(1)
在帮助文档中查看学习视频的时候.出现以下对话框,不能查看 解决办法: 在系统环境变量中找到Path.添加“%SystemRoot%\system32;%SystemRoot%;%SystemRoo ...
- matlab学习日志之并行运算
原文地址:matlab并行计算,大家共同学习吧,涉及到大规模数据量处理的时候还是效果很好的 今天搞了一下matlab的并行计算,效果好的出乎我的意料. 本来CPU就是双核,不过以前一直注重算法,没注意 ...
随机推荐
- 更新pip遇到的问题及解决方法
问题ython -m pip install --upgrade pip --user D:\APP\Anaconda3\python.exe: No module named pip解决方法 pyt ...
- 迁移学习(COAL)《Generalized Domain Adaptation with Covariate and Label Shift CO-ALignment》
论文信息 论文标题:Generalized Domain Adaptation with Covariate and Label Shift CO-ALignment论文作者:Shuhan Tan, ...
- [C++基础入门] 6、 函数
文章目录 6 函数 6.1 概述 6.2 函数的定义 6.3 函数的调用 6.4 值传递 6.5 函数的常见样式 6.6 函数的声明 6.7 函数的分文件编写 6 函数 6.1 概述 **作用:**将 ...
- (亲自实践)python OpenCV已经安装但是import cv2的方法不能用
最近在学习验证码图片识别,安装完pip install opencv-python之后,发现导入的方法命令有底纹,也就是不能使用 解决方案如下: 找到安装python的路径,安装完opencv-pyt ...
- 2021-03-19:给定一个二维数组matrix,其中的值不是0就是1,返回全部由1组成的最大子矩形,内部有多少个1。
2021-03-19:给定一个二维数组matrix,其中的值不是0就是1,返回全部由1组成的最大子矩形,内部有多少个1. 福大大 答案2021-03-19: 按行遍历二维数组,构造直方图. 单调栈,大 ...
- 2021-03-26:给定一个正整数N,表示有N份青草统一堆放在仓库里。有一只牛和一只羊,牛先吃,羊后吃,它俩轮流吃草。不管是牛还是羊,每一轮能吃的草量必须是:1,4,16,64…(4的某次方)。谁最先把草吃完,谁获胜。假设牛和羊都绝顶聪明,都想赢,都会做出理性的决定。根据唯一的参数N,返回谁会赢。
2021-03-26:给定一个正整数N,表示有N份青草统一堆放在仓库里.有一只牛和一只羊,牛先吃,羊后吃,它俩轮流吃草.不管是牛还是羊,每一轮能吃的草量必须是:1,4,16,64-(4的某次方).谁最 ...
- phpstudy-sqlilabs-less-2
题目:GET - Error based - Intiger based 基于错误的数字型注入 ?id=1 ?id=1 order by 3 ?id=-1 union select 1,2,3 ?id ...
- 蓝桥杯真题 平面切分(Set自定义去重)
题目详情 资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 平面上有 N 条直线,其中第 i 条直线是 y=Ai⋅ ...
- 如何让Task在非线程池线程中执行?
Task承载的操作需要被调度才能被执行,由于.NET默认采用基于线程池的调度器,所以Task默认在线程池线程中执行.但是有的操作并不适合使用线程池,比如我们在一个ASP.NET Core应用中承载了一 ...
- python基础:重新认识装饰器
Python中的装饰器是你进入Python大门的一道坎,不管你跨不跨过去它都在那里. 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数. def sa ...