精华内容
下载资源
问答
  • matlab>eval函数的应用之一 CSDN有很多介绍eval函数使用的文章但我觉得这位https://blog.csdn.net/dujiahei/article/details/80961529 ...%然而如果矩阵数实在太多,我们很难一一赋值 %这就有了eval函数

    matlab>eval函数的应用之一

    CSDN有很多介绍eval函数使用的文章但我觉得这位https://blog.csdn.net/dujiahei/article/details/80961529
    写得最容易懂,只需要三行代码能免去很多重复的工作。

    clear
    clc
    %要创造多个变量分别保存矩阵的每一列数据
    A=[1:6;1:6;1:6];
    %一般方法我们要做的是:
    %a1=A(:,1);
    %a2=A(:,2);
    %...
    %然而如果矩阵列数实在太多,我们很难一一赋值
    %这就有了eval函数
    
    for i=1:6;
        eval(['a',num2str(i),'=A(:,i)']);
    end
    

    我觉得很重要的是你应该先把你要重复执行的命令写下来,然后在eval([])里照葫芦画瓢就行,注意引号的位置、数量,还有哪里应该加num2str(i)。
    基本上就是
    ‘变量名’,num2str(i)
    这个才是完整的变量名,a1\a2\a3…

    甚至可以用来保存多个文件,有一篇代码里写了如何用eval把matlab的数据保存到多个excel文件中去

    展开全文
  • matlab函数大全-matlab函数大全.doc 比较白痴的东西,不过对初学者也许有用,特分享一下。不要喷我哦!函数具体用法可以用help查一下。附件内容与下面一样的。 Aabs 绝对值、模、字符的ASCII码值 acos 反余弦 ...
  • Matlab矩阵函数

    2019-11-11 21:56:29
    矩阵函数 构造矩阵 1.矩阵赋值 ...a=[1:5]’ %产生5行1列的列向量 a= [ 1 2 3;4 5 6;7 8 9] a =[… 1 2 3 4 5 6 7 8 9] 2.文本中导入数据 如存在文本文件data.txt文件内容如下: 20020101 31 25 30 2...

    矩阵函数

    构造矩阵
    1.矩阵赋值

    a=1:5  %产生15列的行向量
    a=[1:5]%产生51列的列向量
    a= [ 1 2 3;4 5 6;7 8 9]
    a =[1     2     3
         4     5     6
         7     8     9]
    

    2.文本中导入数据

    如存在文本文件data.txt文件内容如下:
    20020101	31	25	30   23
    20020101	35	35	40   25
    20020101	45	29	60   30
    20020101	65	75	80   40
    使用命令load导入,然后保存的变量名则为文件名:
    输入:
    clear all
    load data.txt
    who
    data
    输出:
    Your variables are:
    data      
    data =
        20020101          31          25          30          23
        20020101          35          35          40          25
        20020101          45          29          60          30
    20020101          65          75          80          40
    

    3.从MAT格式文件中导入
    这些文件是通过MATLAB的save命令保存的。先了解save命令。
    SAVE fname 将当前工作环境变量保存为名为fname.mat的二进制MAT文件,不要参数则保存到文件matlab.mat。
    例子说明:

        SAVE fname X  saves only X.
        SAVE fname X Y Z  保存变量X、Y、Z. 
        SAVE fname X Y Z  -ASCII  保存为8位数字的文本文件
        SAVE fname X Y Z  -ASCII -DOUBLE  保存为16位数字的文本文件.
        SAVE fname X Y Z  -ASCII -DOUBLE -TABS  用TAB字符分割数据
        SAVE fname X Y Z  -V4  以MAT格式保存为可用MATLAB4导入的文件
        SAVE fname X Y Z  -APPEND  添加到文件中去
    
    输入:
    clear all
    x=rand(3);
    y=1:5;
    z=[1 3 5 ;7  9   11; 13 15 17];
    save mytest  x  y  z
    clear all
    load mytest
    who
    输出:
    Your variables are:
    x         y         z   
    

    说明:通过配合save和load命令可以保存指定变量,这将很方便程序处理,比如有些数据经常要用,则可以保存到文件中,以便以后编程使用
    4.特殊函数产生矩阵

    rand(m,n)
    rand(n)
    ones(m,n)
    ones(n)
    

    矩阵变换操作
    1.矩阵变换操作
    在这里插入图片描述

    例子1:
    a=[1:3;4:6;7:9]
    b=fliplr(a)
    c=flipud(a)
    d=flipdim(a,1)
    e=flipdim(a,2)
    f=rot90(a)
    例子2:
    v是一个n个元素的向量,k为整数,则
    a=diag(v)	%将向量v的元素放在a的主对角线
    b=diag(v,k)	%返回方阵b,b的大小为n+abs(k),向量v的元素位于b的第k条对角线上;当k>0时,为主对角线以上,当k<0时,为主对角线以下,当k=0时,结果同命令diag(v)
    说明:以上2条命令产生对角矩阵
    v=diag(x)	%返回x的主对角线元素
    v=diag(x,k)	%对于矩阵x,返回向量v,v的元素由x的第k条对角线的元素构成
    说明:以上2条命令提取对角元,产生向量
    例子3:
    l=tril(a)		%返回a的下三角部分,其余部分为0
    l=tril(a,k)	%返回a的第k条对角线以下的元素,其余部分用0补齐,k=0,结果同tril(a),k>0位于主对角线以上,k<0位于主对角线以下
    l=triu(a)		%返回a的上三角部分,其余部分为0
    l=triu(a,k)	%返回a的第k条对角线以上的元素,其余部分用0补齐,k=0,结果同triu(a),k>0位于主对角线以上,k<0位于主对角线以下
    

    2.设置输出格式
    命令:format
    format命令控制MATLAB的显示输出格式,但不影响其计算与存储
    在这里插入图片描述

    展开全文
  • MATLAB常用函数

    2020-09-23 11:32:12
    diag():提取矩阵主对角线元素,产生一个列向量 diag(A,K):提前矩阵A第K条对角线的元素,产生一个列向量 eig():求矩阵的全部特征值 [X,D]=eig():求矩阵的全部特征值构成对角阵D,X各列是相对应的特征向量...

    矩阵

    矩阵A.*矩阵B是各项相乘,没有.代表矩阵相乘
    矩阵通过序号来引用:sub2ind()与ind2sub()
    inv():求逆矩阵
    def():求行列式的值
    rank():求矩阵的秩
    trace():求矩阵的迹
    diag():提取矩阵主对角线元素,产生一个列向量
    diag(A,K):提前矩阵A第K条对角线的元素,产生一个列向量
    eig():求矩阵的全部特征值
    [X,D]=eig():求矩阵的全部特征值构成对角阵D,X各列是相对应的特征向量
    删除某行(列)时,选择到这行(列)赋值 [ ]
    sparse():存储稀疏矩阵
    soarse(m,n):生成一个m×n的所有元素都是零的稀疏矩阵
    B=spvonvert(A):将稀疏矩阵A压缩存入B

    展开全文
  • matlab基本操作指令 1>矩阵 创建矩阵 a=[1 2;3 4] %创建一个2x2的矩阵 ...3 4] %对矩阵a的第1和2行,第1和2,总共4个元素赋值 a(1,2)=1 %修改矩阵中部分元素的值 a(1:end,1) %这里的end表示...

    matlab基本操作指令

    1>矩阵

    创建矩阵
    	a=[1 2;3 4]  %创建一个2x2的矩阵
    
    矩阵的赋值

    方括号表示矩阵开头和结尾,圆括号表示从矩阵中选取部分,把握这个原则,有利于读懂程序

    	a([1 2],[1 2])=[1 2;3 4]  %对矩阵a的第12行,第12列,总共4个元素赋值
    	a(1,2)=1	%修改矩阵中部分元素的值
    	a(1:end,1)  %这里的end表示终点,即a的行数2
    	a(:,1)     %这里的冒号表示从头至尾
    
    用矩阵赋值
    	a=[1 2;3 4]  %使用分块矩阵
    	b=a(1,2)  %就可以把a的第一行第二列元素赋值给b
    
    逆矩阵
    	pinv(A)  %得到A的逆矩阵
    

    2>向量

    	a=[1:1:3]	%等差数列行向量,
    	a=1:3   %当步长为1时,可以省略步长和一个冒号,可以简写
    	a=[1:3]	%也可以这样写
    

    3>运算

    点乘.*、点除./和点方.^
    点乘和点除需要注意,只有同样维度的矩阵才能进行这种特殊运算

    4>数值变量的常用函数

    doc+函数名查到更详细的帮助

    	a=ones(3)
    	a=ones(1,5)			%生成指定大小的全1矩阵
    	a=zeros(3)
    	a=zeros(1,5)		%生成指定大小的全0矩阵
    	a=zeros(3)
    	a=zeros(1,5)		%生成指定大小的全0矩阵
    	pinv(A)				 %得到A的逆矩阵,只能对方阵操作
    	size([1 2;3 4])		%获得矩阵的行数和列数	
    	size([1 2;3 4],1)	%单独获得行数或者列数
    	length([1 2 3])		%获得向量的长度,这个命令也可以对矩阵操作,当然一般只对向量操作
    	max([1 2 3])
    	min([1 2 3])		%获得向量的最大和最小值,也可以对矩阵操作
    	sort([2 1 3]) 		%按大小对向量进行排序,也可以对矩阵操作	
    	sum([1 2 3])		%求和,也可以对矩阵操作
    	a=sum(x);			%列求和;
    	a=sum(x,2);			%行求和;
    	a=sum(x(:));		%矩阵求和
    	cumsum([1 2 3])		%累积求和,类似求定积分,一般只对向量操作,
    						%需要注意的是,累积求和后,结果和原向量长度一样
    	diff([1 2 5 6])		%差分运算,类似于求导,一般只对向量操作,需要注意的是,
    						%差分操作后,结果的长度比原向量少一
    	plot([1 2.5 3],[5 6 4])	%画图,需要注意的是,两个向量的长度要相等才能画图 
    	exp([1 2])			%指数函数,类似的数学函数还有三角函数(sin,cos,tan,asin,acos,atan),
    						%对数函数(log),这些函数在对矩阵操作时,相当于对矩阵中的每个元素进行操作,
    						%类似点乘这样的运算符。exp(a),返回自然常数e的a次方
    	sqrt				%是计算平方根的函数	
    

    5>流程控制

    if判断
    	if 逻辑变量1
    		执行语句1
    	elseif 逻辑变量2
    		执行语句2
    	else
    		执行语句3
    	end
    
    switch判断
    	switch 数值变量1
    		case 数值1
    			执行语句1
    		case 数值2
    			执行语句2
    		otherwise
    			执行语句3
    	end
    
    for循环

    最简单的语句:

    	for i=初值:增量:终值
    		循环体
    	end
    
    while循环
    	while 逻辑变量
    			执行语句
    	end
    

    6>二维绘图函数

    绘图

    plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线

    	plot(A)		此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗体中
    	plot(x1,y1,x2,y2,…,xn,yn)	含多个输入参数的plot函数
    
    图形标注

    线型: 1> - 实线 2> : 虚线 3> -. 点划线 4> – 双划线
    颜色: b蓝色 g绿色 r红色 c青色 m品红 y黄色 k黑色 w白色
    标记符号: .点 o圆圈 ×叉号 +加号 *星号 s方块 d菱形 p五角星 h六角星

    	plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp')	 %确定所绘曲线的线型、颜色和数据点标记符号
    

    其它图形标注
    直接放在所绘图形后就可以了,即作用于前一个绘图函数,除legend函数外, 其他函数同样适用于三维图形,在三维中z坐标轴说明用zlabel函数。

    	axis([0, 7, 0 ,2]);		%x/y轴取值范围x(0~7),y(0~2)
    	title(’图形名称’)	    %(都放在单引号内)
    	xlabel(’x轴说明’)
    	ylabel(’y轴说明’)
    	text(x,y,’图形说明’)		%text函数是在坐标点(x,y)处添加图形说明
    	legend(’图例1’,’图例2’,…) 	%legend函数用于绘制曲线所用线型、颜色或数据点标记图例,图例放置在空白处,
    							%用户还可以通过鼠标移动图例,将其放到所希望的位置
    
    其它二维绘图函数

    plotyy 双纵坐标函数
    绘制出具有不同纵坐标标度的两个图形,可以使用plotyy函数,它能把具有不同量纲,
    不同数量级的两个函数绘制在同一个坐标中,有利于图形数据的对比分析。

    	plotyy(x1,y1,x2,y2)
    

    subplot 图形窗口分割
    subplot是MATLAB中的函数,是将多个图画到一个平面上的工具

    	subplot(m,n,p)	%m表示是图排成m行,n表示图排成n列,p表示图所在的位置,
    	subplot(m n p)	%p=1表示从左到右从上到下的第一个位置
    

    hold on/off 图形保持
    一般情况下,每执行一次绘图命令,就刷新一次当前图形窗口,图形窗口原有图形将不复存在,如果希望在已经存在的图形上再继续添加新的图形,可以使用图形保持命令hold。

    hold on/off  %命令是保持原有图形还是刷新原有图形,不带参数的hold命令在两者之间进行切换。
    

    条形图 bar(x,y,‘选项’)
    阶梯图 stairs(x,y,‘选项’)
    杆图 stem(x,y,‘选项’)
    这三个函数和plot的用法相似,只是没有多输入变量形式

    	x=0:0.35:7;y=2*exp(-0.5*x);
    	subplot(2,2,1);bar(x,y,'g');		%条形图
    	title('bar(x,y),''g'')');axis([0, 7, 0 ,2]);
    	subplot(2,2,2);stairs(x,y,'r');		%阶梯图
    	title('fill(x,y,''r'')');axis([0, 7, 0 ,2]);
    	subplot(2,2,4);stem(x,y,'k');		%杆图
    	title('stem(x,y,''k'')');axis([0, 7, 0 ,2]);
    

    填充图 fill(x1,y1,选项1,x2,y2,选项2,…)

    	x=0:0.35:7;y=2*exp(-0.5*x);
    	subplot(2,2,3);fill(x,y,'r');		%填充图	
    	title('stairs(x,y,''b'')');axis([0, 7, 0 ,2]);
    

    极坐标图 polar(theta,rho,选项)
    theta为极坐标极角,rho为极径,选项的内容和plot函数相似

    		theta=0:0.01:2*pi;
    		ho=sin(3*theta).*cos(5*theta);
    		polar(theta,rho,'r');
    

    对数坐标图
    semilogx(x1,y1,选项1,x2,y2,选项2,…)
    semilogy(x1,y1,选项1,x2,y2,选项2,…)
    loglog(x1,y1,选项1,x2,y2,选项2,…)
    这些函数中选项的定义和plot函数完全一样,所不同的是坐标轴的选取。semilogx函数使用半对数坐标,x轴为常用对数刻度,而y轴仍保持线性刻度。semilogy恰好和semilogx相反。loglog函数使用全对数坐标,x、y轴均采用对数刻度。

    7>三维绘图函数

    plot3函数
    	plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…)
    

    其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot的选项一样。
    当x,y,z是同维向量时,则x,y,z对应元素构成一条三维曲线当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵的列数

    	t=0:pi/50:2*pi;
    	x=8*cos(t);y=4*sqrt(2)*sin(t);z=-4*sqrt(2)*sin(t);
    	plot3(x,y,z,'p');
    	title('Line in 3-D Space');text(0,0,0,'origin');
    	xlabel('X');ylabel('Y');zlabel('Z');grid;	%grid函数:显示或隐藏轴网格线
    
    三维曲面

    Matlab提供了mesh函数和surf函数来绘制三维曲面图。mesh函数用来绘制三维网格图,而surf用来绘制三维曲面图,各线条之间的补面用颜色填充

    	mesh(x,y,z,c);
    	surf(x,y,z,c);
    

    一般情况下,x,y,z是维数相同的矩阵,x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。c省略时,Matlab认为c=z,也即颜色的设定是正比于图形的高度。这样就可以得到层次分明的三维图形。当x,y省略时,把z矩阵的列下标当作x轴的坐标,把z矩阵的行下标当作y轴的坐标,然后绘制三维图形。当x,y是向量时,要求x的长度必须等于z矩阵的列,y的长度必须等于必须等于z的行,x,y向量元素的组合构成网格点的x,y坐标,z坐标则取自z矩阵,然后绘制三维曲线

    条形图、杆图、饼图和填充图等特殊图形

    其函数分别为bar3,stem3,pie3和fill3。

    7>其他函数

    矩阵函数:

    randn

    Y = randn(n);	%返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息
    Y = randn(m,n) ;	%或 Y = randn([m n]),返回一个m*n的随机项矩阵。
    Y = randn(size(A)); %返回一个和A有同样维数大小的随机数组。
    
    展开全文
  • matlab中的函数

    2021-01-20 19:09:30
    size函数       ... 1、s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的数.        2、[r,c]=size
  • Matlab之size函数

    2016-04-19 16:15:39
    (1)s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的数; (2)[r,c]=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将...
  • matlab中常用函数

    2015-04-18 15:05:02
    s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的数。 [r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的数...
  • MATLAB中的长度函数

    千次阅读 2017-12-06 15:23:40
    MATLAB中:(1)size:获取数组的行数和数s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的数。[r,c]=size(A),当有两个输出参数时,size函数将数组的...
  • Matlab中size函数的用法

    千次阅读 2017-07-11 16:21:34
    Matlab中,我们经常会需要获取某个矩阵的行列数目,以实现赋值,计算等操作,这时就要用到size函数。 size函数的三种用法 1 size(A):设有一矩阵为A,则size(A)返回的是一...
  • 谈谈MATLAB中cell函数

    2017-12-03 11:19:17
    如果p为一个向量,那么h(1,:)=p是没有问题的。 如果p是一个矩阵的话,上面的两种赋值方法都是会有错误的。 那么要如何处理呢? 这时就用到了cell数据类型了。cell的每个单元都可以存储任何数据,比如传递函数等。...
  • matlab中的size函数

    千次阅读 2011-03-22 14:54:00
    matlab中的size函数size:获取数组的行数和数(1)s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的数。(2)[r,c]=size(A),当有两个输出参数时,size...
  • matlab中size()函数

    2020-09-26 20:49:40
    size:获取数组的行数和数 (1)s=size(A), ...如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语
  • (3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或数。其中r=size(A,1)该语句返回的时矩阵A的行数, c=size(A,2) 该语句返回的时矩阵A的数。 另外,length()=...
  •  当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的数。 (2)[r,c]=size(A),  当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的数...
  • find接受基于每个元素的布尔表达式,并返回满足条件的索引列向量(这也意味着,矩阵也可以用一维索引访问) isempty返回判空的布尔表达式 magic接受size参数,用于产生魔方矩阵,行列与对角线的和相等 horzcat和...
  • 1、s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素是矩阵的行数,第二个元素是矩阵的数。 2、[r,c]=size(A),当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的...
  • 1.size()函数 s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的...如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或数。 其中r=size(A,1)该语...
  • Matlab提取矩阵规模信息(行数及数) (1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的数。 (2)[r,c]=size(A), 当有两个输出参数时,size函数将...
  • size:获取数组的行数和数 length:数组长度(即行数或数中的较大值) numel:元素总数。...如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或数。 其中r=size.
  • **size函数** 1、 s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素是数组的...3、如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或数。 其中r=siz...
  • ① s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素是矩阵的行数,第二个元素是矩阵的数。 ② [r,c]=size(A),当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的...
  • size:获取数组的行数和数length:数组长度(即行数或数中的较...如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或数。 其中r=size(A,1)该语句返回的时数组A的行数, c=size
  • Matlab---size,length和numel函数比较

    千次阅读 2010-06-02 11:07:00
    size:获取数组的行数和数 length:数组长度(即行数或数中的较大值) numel:元素总数。... 如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或
  • 为矩阵的第一列赋值,赋的值是一个列向量 % p(:,2*j)=sin(j/2*x); p(:,2*j+1)=cos(j/2*x); 这是为偶数列和奇数列赋值 % 因为一列使用同一基函数,故使用j来决定基函数 % 列中各行是不同的采样值,所以自变量x是...
  • 文章目录变量赋值复杂数据块数组行向量列向量初始化矩阵初始化向量命令长度保存与清除运算运算符基本函数 变量赋值 matlab无需声明变量类型。对变量的赋值只要使用=即可。支持显式和隐式的赋值。 注意: matlab中的...
  • matlab10.25

    2019-10-25 16:06:54
    语法知识 范得蒙(Vandermonde)矩阵最后一全为1...vander函数:A=vander([1 2 3])(1 2 3为倒数第二向量) 多维数组的创建:1.直接赋值 2.矩阵函数 repmat函数:C=repmat(A,[3,4,3])(将矩阵A复制成3*4,复制后再复制3...
  • size MATLAB

    2018-04-02 20:18:59
    size():获取矩阵的行数和数(1)s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的数。(2)[r,c]=size(A),当有两个输出参数时,size函数将矩阵的行数...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

matlab函数赋值列向量

matlab 订阅