栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

MATLAB基本语法(一)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MATLAB基本语法(一)

1.清空环境变量和命令
clear all       %清除Workspace中的所有变量
clc             %清除Command Window中的所有命令
2.变量名以字母开头,可以由字母、数字、下划线组成,但不能使用标点 3.数据类型 3.1 字符和字符串
s = 'a';
abs(s)  %ASIIC码 
char(97) %a
length(str)
3.2矩阵
A = [1 2 3;4 5 2;3 2 7;4 6 8]
B = A'  %转置,行列互换
C = A(:)  %A矩阵拉长,竖着拉长,竖着方向1 4 3 4 2 5 2 6...
D = inv(A)  %求矩阵的逆矩阵,矩阵必须为方阵
A * D  

E = zeros(10,5,3)  %10行5列3维全为零
E(:,:,1) = rand(10,5) %rand(m,n)生成m行n列的均匀分布伪随机数,每个数在(0~1)之间
E(:,:,2) = randi(5,10,5)%randi(iMax,m,n)生成开区间(0,iMax)m行n列的伪随机整数
E(:,:,3) = randn(10,5)%生成10行5列,标准正态分布的矩阵,方差为1,均值为0
4.元胞数组和结构体
元胞数组类似盒子,一层一层
A = cell(1,6)%1行6列,a = b =666右侧的值给左侧
A{2} = eye(3)%eye生成3*3对角线为1的单位矩阵,MATLAB从1开始,2表示第2个盒子
A{5} = magic(5)%magic生成幻方,横竖斜的数字之和均相等
B = A{5}
5.结构体,相当于字典。name相当于python中的键,后面两个字符串相当于python中的值
books = struct('name',{{'Machine Learning','Data Mining'}},'price',[30,40])
books.name %属性 
books.name(1)%小括号取出来的是cell
books.name{1}%{}取出来的是字符串
6. MATLAB矩阵 6.1 矩阵的定义与构造
A = [1 2 3 4;5 6 7 8]
B = 1:2:9 %起始点为1,终止点在此范围内,步长为2。1 3 5 7 9
C = repmat(B, 3, 1)%重复B 3行1列
D = ones(2,4)%2行4列的1
6.2 四则运算
A = [1 2 3 4; 5 6 7 8]
B = [1 1 2 2; 2 2 1 1]
C = A + B
D = A - B
E = A * B' %A乘B的转置
F = A.* B  %加"."表示对应项相乘
G = A / B   %G*B=A G*B*pinv(B)=A*pin(B) G=A*pinv(B),相当于A乘B的逆,inv(B)就是逆
H = A./B  %对应项相除
6.3 矩阵的下标
A = magic(5) %生成5*5的幻方矩阵
B = A(2,3)  %取2行3列的数
C = A(3,:)  %冒号表示取的全部,表示取第3行
D = A(:,4)  %表示取第4列
[m,n] = find(A > 20)%找大于20的序号值/矩阵
7 MATLAB基本绘图操作 7.1 二维绘图
x = 0:0.01:2*pi;
y = sin(x);
figure    %建立一个幕布
plot(x,y)
title('y = sin(x)')%标题
xlabel('x')%x标签
ylabel('sin(x)')%y标签
xlim([0 2*pi])%x坐标的值在0~2pi

x = 0:0.01:20;
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
figure
[AX,H1,H2] = yyaxis(x,y1,x,y2,'plot');%plotyy表示共用一个坐标
set(get(AX(1),'Ylabel'),'String','Slow Decay')
set(get(AX(2),'Ylabel'),'String','Fast Decay')
xlabel('Time(musec)')
title('Multiple Decay Rates')
set(H1,'LineStyle','--')%--表示虚线
set(H2,'LineStyle',':')%:表示点线

7.2 三维绘图
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
xlabel('sin(t)')
ylabel('cos(t)')
zlabel('t')
hold on   %同一个幕布绘制多条线
%hold off  %表示不保存当前东西
grid on   %加网格线
axis square %把各个坐标方向变成一个正方形

[x,y,z] = peaks(30);%peaks用于产生双峰函数绘图
mesh(x,y,z)
grid

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号