MATLAB中矩阵输入详解:直接、增删改与命令生成

版权申诉
0 下载量 36 浏览量 更新于2024-07-02 收藏 458KB DOC 举报
MATLAB是一种强大的数值计算环境,特别适用于矩阵运算。在MATLAB中,矩阵的输入是编程的基础,理解并掌握正确的输入方式对后续数据分析和编程至关重要。本节主要介绍MATLAB中矩阵输入的三种主要方法:直接输入、命令生成以及对矩阵进行增删改操作。 1. 直接输入:用户可以直接在工作窗口中输入矩阵元素,例如,`A=[2,4,6,8;1357;0000;1,0,1,0]`定义了一个4x4的矩阵,通过分隔符`;`和换行来指定行。对于等步长的元素,如`A=[1:0.2:2;1:6;2:2:12]`,可以使用行向量或省略步长,系统会自动设定为1。 2. 矩阵增删改:已定义的矩阵可以通过命令操作进行修改。例如,`A=[[A(:,1:4);[C,B]],[0204]']`允许你添加或合并矩阵,并能删除指定列,如删除第三列`A(:,3)=[]`,这将改变矩阵的结构和内容。 3. 命令生成: - `linspace`函数用于创建等间隔的向量,提供了两种格式:`linspace(a, b)`生成100等分的向量,而`linspace(a, b, n)`则按n个等分生成。例如,`a4=linspace(1,100,11)`生成11个元素的向量。 - `ones`和`zeros`函数用于生成全1或全0矩阵,可以指定维度,如`ones(6,3)`生成6行3列的全1矩阵,`zeros(4)`生成4阶的全0方阵。 - `diag`函数用于生成对角矩阵,如`diag([1357])`会创建一个对角线元素为1,3,5,7的方阵。 这些基础操作不仅限于输入,也涉及到了矩阵的基本操作,如修改和创建特殊的矩阵结构,这对于理解和利用MATLAB进行数值计算和数据处理至关重要。熟练掌握这些技巧能够极大地提高编程效率和代码的可读性。

clear all; close all; clc; clear; gn=load ('.\data\output.txt');%1.fault1_step_5, 2.fault2_step_10 %Xtext=load('E:\matlab_m_doc\semiconductor_fault.txt');%ordinally_fault22;12147 % % A=dir(fullfile('E:\document\matlab_m_doc\eighth_paper\normal_batches_same\*.txt')); A=dir(fullfile ('E:\实验室\流程工业\基础代码\SFA_pdf & code\SFA_matlab code\data\*.mat'));%fullfile函数作用是利用文件各部分信息创建并合成完整文件名。输入:f = fullfile('C:','Applications','matlab','fun.m')得到:f =C:\Applications\matlab\fun.m %在这个命令中,data是一个文件夹,*.mat表示匹配该文件夹下所有扩展名为.mat的文件。fullfile函数用于生成完整的文件路径。dir函数返回一个结构体数组,其中每个元素代表一个匹配的文件,该结构体包含文件的详细信息,如文件名、日期、大小等。在这个命令中,A是一个结构体数组,包含所有匹配的.mat文件的详细信息。 A=struct2cell(A);%函数功能:把结构体转换为元胞数组。 num=size(A); batches=num(2); sample=400; variable=5; for k=0:batches-1 x(k+1)=A(5*k+1);%把矩阵按序号排列,即1表示第一行第一列,6表示第二列第一行,11,16,21等注意是按照列往下排列的。因为在5*5的矩阵A里,第一行的元素表示的是txt数据。 end for k=1:batches newpath=strcat ('E:\实验室\流程工业\基础代码\SFA_pdf & code\SFA_matlab code\data\',x(k));%strcat ,Strings Catenate即横向连接字符,与c语言中的不同 data{k}=load(char(newpath));%char(newpath) Xtrain=data{k}; m=[1 2 3 4 5 6];%提取的所选的列 xtrain1=Xtrain(:,m); for hj=1:sample gh(1,((hj-1)*5+1):hj*5)= xtrain1(hj,:);%将每一批次的数据按照沿批次方向展开 end yu{k}=gh;%yk就是沿批次方向展开的存储 end

2023-05-12 上传