工具的使用(Matlab)

文章介绍了MATLAB的基础使用,包括命令行操作如clc和clearall,变量命名规则,基本数据类型如字符串和矩阵,矩阵的运算,以及二维图像的绘制。还涉及到了脚本文件、元胞数组和结构体的定义,以及程序结构如循环和条件控制。
摘要由CSDN通过智能技术生成

1.基础使用

1.1基础知识

命令行:

clc 清除界面
clear all 清除界面+清除工作区(变量显示)

注释:

%□行注释
%{
块注释
%}
语句后不加;则马上在命令行中打印出其值
语句后加;则不显示

1.2变量名称:

  1. 区分大小写

  1. 最长不超过64位

  1. 字母开头、可以由字母、数字、下划线组成

1.3脚本文件名称:

  1. 尽量以字母开头,后缀为.mat

1.4基本数据类型

  1. 工作区可以看到变量命名

  1. 没赋值给变量的会赋值给ans

s = 'a'
abs(s)  % ascll
char(97) % 没赋值给变量的会赋值给ans
b = num2str(65)
str = 'I love Matlab'
len = length(str)

1.5矩阵的运算

A = [1 2 3;4 5 2;3 2 9] % 二维矩阵
B = A'  % 将A转置
C = A(:) % 拍扁(竖着的)
D = inv(A) % 矩阵的求逆矩阵,矩阵必须为方阵。
O = A*D 
% 定义0矩阵
E = zeros(10,5,3)  % 三维的,10行5列,按照通道打印
% 标准正态分布randn(m,n)
% 随机整数randi(iMax)  randi(iMax,m,n)  randi([iMin,iMax],m,n)
E(:,:,1) = rand(10,5)  %伪随机分布(正态分布0~1)
E(:,:,2) = randn(10,5)
E(:,:,3) = randi([1,10],10,5)
%{
E(:,:,1) =
    0.2760    0.7513    0.8407    0.3517    0.0759
    0.6797    0.2551    0.2543    0.8308    0.0540   ……
E(:,:,2) =
   -1.7947   -0.1941   -1.2078   -2.0518   -0.2991
    0.8404   -2.1384    2.9080   -0.3538    0.0229   ……
E(:,:,3) =
    10     3     9     8     5
    10     5     1     2     5  ……
%}
E(:,:,3) = randi([1,10],10,5)

矩阵的进一步运算

% 矩阵的进一步运算
A = [1 2 6 4 6 8 2 5 9]
B = 1:3:9  % 不可缺少
% 1     4     7    10
C = repmat(B,3,2) % 重复的意思重复3行1列
%{
     1     4     7     1     4     7
     1     4     7     1     4     7
     1     4     7     1     4     7
%}
D = ones(2,4)

% 矩阵的四则运算
A = [1 2 3 4; 5 6 7 8]
B = [1 1 2 2; 2 2 1 1]
C = A+B
E = A*B'
%{
    17    13
    41    37
%}
F = A .* B  % 加点的是对应项相乘
H = A ./ B
%{
     1     2     6     8
    10    12     7     8
%}
G = A/B    % C = A*B的逆

下标的定义

% 矩阵的下标与切片
A = magic(5)
B = A(2,3)
C = A(3,:)
D = A(:,2)
[m,n] = find(A>20)  %找到大于20的序号值/矩阵 输出:m = ……   n = ……

1.6元胞数组 的定义

% 元胞数组 
A = cell(1,6)  % 1×6 cell 数组 :{0×0 double}……
A{2} = eye(3)  % 索引从1开始,生成单位矩阵
A{2}
%{
                ans =
                     1     0     0
                     0     1     0
                     0     0     1
%}
A{5} = magic(5) %MAGIC:魔方:生成n阶的幻方
A{5}
% 通过下表赋值
B = A{5}

1.7结构体 的定义

% 结构体
books = struct('name',{{'ML','DM'}},'price',[30,40])
%{
                books = 
                  包含以下字段的 struct:
                     name: {'ML'  'DM'}
                    price: [30 40]
%}
books.name
books.name(1)  % 小括号取出来的是cell:  1×1 cell 数组  {'ML'}
books.name{1}  % 中括号取出来的是字符串: 'ML'

1.8程序结构

%%
% 逻辑控制  for 循环变量=初值:步长:终值
% 1^2+2^2+...+5^2
sum = 0
for i=1:5
    sum = sum + i^2;
end
sum

% 计算∑(i=0,5)i!
sum = 0
for i=1:5
    d=1;
    for j=1:i;
        d=d*j;
    end
    sum=sum+d;
end
sum

% 计算10!
i = 0;
sum = 0
while i<=10
    sum = sum+i;
    i = i+1;
end
sum


%分支结构
a = 100
b = 20
if a>b
    "成立"
end

a = 100
b = 200
if a>b
    "成立"
else
    "不成立"
end


% switch case end
a = 1
b = 2
c = 3
switch a
    case 1
        "a=1"
        a = a+1
    case 2
        "a=2"
    case 3
        "a=3"
    otherwise
        "haha"
end
a
% 执行完一个就自动跳出循环了,只可能执行一个分支

1.9二维图像

%%
% 绘图-2d
x = 0:0.01:2*pi;
y = sin(x);
figure; % 建立一个幕布
plot(x,y);
title('y=sin(x)');
xlabel('x');
ylabel('y');
xlim([0 2*2*pi])  % 设置边缘

样式表

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坐标  ,最后一个参数plot加不加无所谓,但不能改
% 返回的变量?
% 设置坐标标记
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(H1, 'LineStyle',';')

1.10三维图像

样式说明:网格曲面图 - MATLAB mesh - MathWorks 中国

%%
% 三维立体绘图
t = 0:pi/50:10*pi;
figure  % 建立一个幕布
plot3(sin(t), cos(t),t)
xlabel('sin(x)')
ylabel('cos(t)')
zlabel('t')
grid on  %作用:网格线
axis square  % 横竖轴调节
hold on
figure
[x,y,z] = peaks(30);
mesh(x,y,z)
grid

[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
mesh(X,Y,Z)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值