MATLAB中矩阵输入与常用矩阵函数详解

需积分: 20 0 下载量 24 浏览量 更新于2024-08-04 收藏 56KB DOC 举报
在Matlab中,矩阵是数据存储和处理的重要工具,本文将详细介绍两种常见的矩阵输入方法以及一些常用的矩阵生成函数。 一、直接输入法创建矩阵 1. 输入格式:使用方括号`[]`来定义矩阵,矩阵元素之间以逗号`,`或空格分隔同一行的元素,不同行则通过分号`;`或者换行来区分。例如,创建一个3x3的矩阵: ``` A = [1, 2, 3; 4, 15, 60; 7, 8, 9] ``` 或者采用多行方式: ``` A = [1, 2, 3 4, 15, 66 7, 8, 9] ``` 矩阵中的元素可以是数字,但如果是进行数值计算,表达式中不能包含未知变量。 二、矩阵函数生成矩阵 Matlab提供了丰富的矩阵函数,以便快速生成特定类型的矩阵: - `zero(m,n)`:生成一个m行n列全为0的矩阵。 - `eye(n)`:生成一个n阶单位矩阵(对角线元素为1,其他为0)。 - `ones(m,n)`:生成一个m行n列全为1的矩阵。 - `rand(m,n)`:生成一个m行n列的随机矩阵。 - `randn(m,n)`:生成一个m行n列的正态分布随机矩阵。 - `magic(n)`:生成一个n阶的幻方矩阵。 - `linspace(j,k)`或`j:i:k`:生成指定步长的等差数列。 例如,生成特定形状的矩阵: - `ones(3)`:创建一个3阶全1矩阵。 - `zeros(2,5)`:创建一个2行5列全0矩阵。 - `magic(3)`:创建一个3阶幻方矩阵。 这些函数不仅限于整数,还可以用于生成具有特殊属性的矩阵,如对角矩阵、单位矩阵、随机矩阵等。通过这些函数,用户可以根据需求快速生成复杂的矩阵,提高编程效率。 总结来说,掌握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 上传