Matlab的入门基础运用(1)

Matlab的入门基本运用

首先基本介绍一下Matlab这个软件,这个基本是搞数学搞学术搞建模的都知道的一个软件啦,那我为啥会学这个软件呢,对啦,就是为了之前没有拟合好的曲线,重新拟合一下,而且搞学术,网上可以搞到的大部分代码其实也是matlab,本着不学习就是亏得原则,所以我写了这篇文章,文章会涉及到很多基础内容:

  • matlab的界面和版本

  • malab的变量命名

  • matlab的数据类型

  • matlab的结构体

  • 矩阵的构造和四则运算

    • 矩阵的定义与构造

    • 矩阵的下标

  • 逻辑与流程控制

  • 二维平面绘图

  • 三维立体绘图

  • 论文的图形导出

matlab的界面和版本

本人使用的是R2018 b 这个b和a的区别其实就是上半年和下半年的区别,显然a表示的就是上半年,b表示的就是下半年

在界面上面我们可以很自然地看到【主页】、【绘图】、【APP】、【实时编辑器】、【插入】和【视图】

我们可以在【主页】里面的【预设】修改我们的字体大小或者语言格式

同时我们可以直接在路径栏里面修改我们的路径地址,进行跳转

在我们一开始打开的时候,我们应该只能看到一个命令行窗口:他是与我们直接进行交互的,比如你写一个

1 + 1
ans: 
		2

输入clc,可以直接清空命令行窗口,如果你需要一个脚本文件,只需要点击【主页】里面的【新建】,然后按crtl+s保存即可

malab的变量命名
  • 变量名区分大小写
  • 变量名长度不超过63位
  • 变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点
  • 变量名应该简单明了,通过变量名可以直观看出变量所表示的物理意义
matlab的数据类型
  • 数字

matlab中加减乘除:

2 + 4
10 - 7
3 * 5
8 / 2
  • 字符与字符串
s = '5-starrysky'
c = 'a'
  • 矩阵 (这可能是与其他编程语言不相同的东西)
T=[1 1;2 2]
T =

     1     1
     2     2
% T的转置矩阵
T'
ans =

     1     2
     1     2
%
T(:)
ans =

     1
     2
     1
     2
% 求逆矩阵 但我这里行列式为0,所以没有逆矩阵
D=inv(T)
警告: 矩阵为奇异工作精度。 

D =

   Inf   Inf
   Inf   Inf
% 矩阵乘法
A * T
% 生成0矩阵
S =zeros(4,5,2)  # 2维的4行5列的矩阵
% 生成随机矩阵
T[:,:,1]=rand(4,5) 
% 生成4行5列的均匀分布的伪随机数 randn表示生成标准正态分布的伪随机数(均值为0,方差为1) (0,1)闭区间
% randi生成均匀分布的伪随机数/矩阵/随机矩阵  (整数)
% 三个数,最前面那个就是,max。四位数,那么前两位:min max   
  • 元胞数组
% 得到一个元胞数组
T = cell(3,4)

  3×4 cell 数组

    {0×0 double}    {0×0 double}    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}    {0×0 double}    {0×0 double}
% eye()函数 + 下标说明
T{1,2} = eye(3) #从这里可以发现,matlab其实是从下标索引1开始的 eye()返回3*3的单位矩阵
T =

  3×4 cell 数组

    {0×0 double}    {3×3 double}    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}    {0×0 double}    {0×0 double}
    {0×0 double}    {0×0 double}    {0×0 double}    {0×0 double}
% 产生一个3阶的幻阵,各行各列包括对角线,加起来相等
A = magic(3) 
A =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

结构体
% 有点像其他语言的映射
students = struct('name',{{'Zhang San','Li Si'}},'age',[17,18])
% 调用属性name
students.name
% 调用第一个name
students.name(1)
矩阵的构造和四则运算

矩阵的定义与构造

% 1.矩阵的定义与构造
A = [1 2 3 4 5 6]
B = 0:3:9  % 在0-9中间每隔3哥步长取一个数
C = repmat(B, 3, 1) % 数字横着的重复3次,列着的重复2次
C =

     0     3     6     9
     0     3     6     9
     0     3     6     9
D = ones(2,4) % 生成2行4列的的“1”的矩阵
% 矩阵的运算
% 加法 减法  乘法 点乘 除法 点除
C = A + B
D = A - B
E = A * B'
F = A .*B % 点乘,就是对应位置上的相乘
G = A / B   % 除,就是乘以相应的相应的逆矩阵
H = A ./ B

矩阵的下标

% 第2行第3个
B = A(2,3)
% 取出第三行
C = A(3,:)
% 找出A中大于20的序号值/矩阵位置
[m, n] = find(A > 20)
逻辑与流程控制
if 条件表达式
	执行语句
else 
	执行语句
end
for 循环变量 = 初值:步长:终值   % 步长为1可以省略
	执行语句1                 % 可以嵌套for循环
	...
	执行语句n
end
while 条件表达式
	  执行语句1
	  执行语句2
	  ...
	  执行语句n
end
switch 表达式(数值/字符串)
		case (数值/字符串)  
		执行语句
		end
二维平面绘图
% 准备数据
x = 0:0.01:2*pi
y = sin(x)
% 建立一个幕布
% plotyy 同一个x轴不同的y轴
figure
% 画图
H1 = plot(x,y)
% 修改线条set(H1,'LineStyle',--')
% 取标题
title('y = sin(x)')
xlabel('x')
ylabel('y')
% 缩小x轴的范围
xlim([0 2*pi])
三维立体绘图
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 % 起到限制范围的作用,效果会上产生一个正方形

在这里插入图片描述

图形的保存与导出

直接点击图片,【文件】选择【另存为】

或者选择【编辑】,复制图片

还可以在【编辑】当中,选择【复制选项】来修改一些参数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值