#这是一份很简单的入门级的matlab教程

这份博客详细介绍了MATLAB的基础知识,包括变量命名规则、数据类型、矩阵操作和基本绘图功能。讲解了如何进行矩阵运算、创建不同类型的矩阵,如全零矩阵,并探讨了rand、randn、randi等随机数生成函数。此外,还涵盖了MATLAB的二维和三维图形绘制,如sin(x)函数的图像以及多条曲线在同一坐标系的绘制。对于初学者,这是一个全面了解MATLAB的起点。
摘要由CSDN通过智能技术生成

这是一份很简单的入门级的matlab教程

如果你已经有了一定的基础就必要再来看这个浪费时间,这是对于刚刚接触这个软件的以一个新手向的简单学习记录 (代码均来源于网上)##

以下为代码附录,请整体复制到matlab后进行查看
%% I.整体说明
%clc 去除命令行所有内容
%命名的话,必须以字母开头
%clear all 清楚右侧工作区的

%% II.变量命名规则
%%
% 1.变量区分大小写
A=2
a=2

%% III.数据类型
%%
%1. 数字
2+2

10-7

3*5

8/2

% 2. 字符与字符串
s='a'
abs(s) %ASCI 值
char(65) 
num2str(65) %数字65

str ='I love matlab'
length(str)

% doc num2str % doc 加函数是查询文档的意思

% 3. 矩阵
A=[1 2 3; 4 5 2;3 2 7]
B=A'% 转置
C=A(:)% 按照列进行拉长
D=inv(A)% 求逆矩阵 非方阵无法求逆
A*D %矩阵相乘

E=zeros(10,5,3)% 10行五列3维  zeros生成全零矩阵
 
%% rand randi randn 的区别
%% 
    %1. rand(m,n)生成均匀分布在(0,1)的m行n列伪随机数
    %2. randn 生成标准的正态分布的伪随机数(均值为0,方差为1)
    % 3.randi (iMax,m,n)生成最大为iMax m行n列随机矩阵
   X= randi(5,3,3)
   Y= randi([1,5],2,3) 
   
  % 4. 元胞数组(可以类比C语言的结构体)
  A=cell(1,6)  % 一行六列    
  A{2}=eye(3) % 3*3 对角线为1的矩阵  matlab从1开始
  A{5}=magic(5) %生成n阶的幻方:横竖斜三个方向上的数字的总和是相等的
  B=A{5}
  
  
  % 5. 结构体
  books = struct('name',{{'Machine Learning','Data Mining'}},'price',[30,40])
  books.name
  books.name(1) %取出来的是cell
  books.name{1} %取出来的是字符串
  
  
  
  %% IV. matlab 的矩阵操作
  %% 
  
  % 1. 矩阵的定义
  A=[1 2 3 5 8 5 4 6]
  B=1:2:9 % 1为最小值 ,9为最大值,2为步长
  C=repmat(B,3,2) % 横着重复三次,竖着重复两次
  D=ones(2,4) % 两行四列全一矩阵
  
  % 2. 矩阵的四则运算
  A = [1 2 3 4;5 6 7 8]
  B = [1 1 2 2;5 6 5 5]
  C = A + B%对应相加
  D = A - B %对应相减
  E = A*B' %只有当B的行数等于A的列数时,才可以做运算
  F = A.*B %对应项想乘
  G = A / B % A * pinv(B),A乘B逆
  H = A./ B %对应位置相除

  % 3. 矩阵下表
  A=magic(5)
  B=A(2,3)
  C=A(3,:) % :代表取全部,这行代码代表取第三行
  D=A(:,4)  %代表取第四列
  [m,n]=find(A>20)  %找到A矩阵中大于20的序号值
  
  
  % 4.循环逻辑参考C语言,CSDN查语法
  
  %% V MATLAB基础画图操作
  
  % 1.二维平面画图
  x=0:0.01:2*pi
  y=sin(x)
  figure  % 建立一个幕布
  plot (x,y) % 绘制二维平面图
  title('y=sin(x)') 
  xlabel('x')
  ylabel('sin(x)')
  xlim([0 2*pi])  % x的范围
  
  
  %两条曲线图形绘制
 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]=plotyy(x,y1,x,y2,'plot')%共用同一个X轴  AX为两个纵坐标  H1,H2为两条曲线本身
 set(get(AX(1),'Ylabel'),'String','Slow Decay') %AX1为左侧曲线,AX2为右侧曲线
 set(get(AX(2),'Ylabel'),'String','Fast Decay')
 xlabel('Time(\mu sec)')
 title('Multiple Decay Rates')
 set(H1,'Linestyle','--')
 set(H2,'Linestyle',':')
  
 %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 %各种方向都变成正方形
 
% 3. 图形的保存与导出

[x,y,z]=peaks(30);
mesh(x,y,z)
grid
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值