1. 首页 > 电脑手机 >

matlab语法 matlab语法错误

matlab中 global具体怎么用?

比如在主函数里面,你需要设置data这个变量是一个全局变量,就需要声明一下:

matlab语法 matlab语法错误matlab语法 matlab语法错误


global data;

然后在子函数里面你又用到了data这个全局变量,你需要在子函数里面再次声明:

global data;

这样在子函数中,就可以使用data这个全局变量了。。。。

全局变量的使用可以减少参数传递,合理利用全局变量可以提高程序执行的效率。

matlab if语句

在MATLAB中,if语句有3种格式。

(1) 单分支if语句:

if 条件

语句组

end

当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句。

(2) 双分支if语句:

if 条件

语句组1

else

语句组2

end

当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句。

(3) 多分支if语句:

if 条件1

语句组1

elseif 条件2

语句组2

……

elseif 条件m

语句组m

else

语句组n

end

语句用于实现多分支选择结构。

嵌套if语句的语法如下:

if

% Executes when the boolean expression 1 is true

if

% Executes when the boolean expression 2 is true

end

end

例如:

创建脚本文件并在其中键入以下代码 :

a = 100;

b = 200;

% check the boolean condition if( a == 100 )

% if condition is true then check the following

if( b == 200 )

% if condition is true then print the following

fprintf('Value of a is 100 and b is 200

end

end

fprintf('Exact value of a is : %d

fprintf('Exact value of b is : %d

执行上面示例代码,得到以下结果:

Value of a is 100 and b is 200

Exact value of a is : 100

Exact value of b is : 200

扩展资料:

C语言提供了三种形式的if语句:

1、if(表达式)语句。

例如:

if(x>y)printf("%d",x);

例如:

if(x>y)printf("%d",x);

else printf("%d",y);

3、在每个语句中,可以有多个语句,但需要加上大括号。

例如:

if(x>y){printf("%d",x);break;}参考资料来源:

关于一个Matlab的简单语法问题

好象直接使用就可以了,次出现就包含了定义

顺便把些命令弄给你看下

matlab命令

matlab commands and functions list

A a

abs 、模、字符的ASCII码值

acos 反余弦

acosh 反双曲余弦

acot 反余切

acoth 反双曲余切

acsc 反余割

acsch 反双曲余割

align 启动图形对象几何位置排列工具

all 所有元素非零为真

angle 相角

ans 表达式计算结果的缺省变量名

any 所有元素非全零为真

area 面域图

argnames 函数M文件宗量名

asec 反正割

asech 反双曲正割

asin 反正弦

asinh 反双曲正弦

assignin 向变量赋值

atan 反正切

atan2 四象限反正切

atanh 反双曲正切

autumn 红黄调秋色图阵

axes 创建轴对象的低层指令

axis 控制轴刻度和风格的高层指令

B b

bar 二维直方图

bar3 三维直方图

bar3h 三维水平直方图

barh 二维水平直方图

base2dec X进制转换为十进制

bin2dec 二进制转换为十进制

blanks 创建空格串

bone 蓝色调黑白色图阵

box 框状坐标轴

break while 或for 环中断指令

brighten 亮度控制

C c

capture (3版以前)捕获当前图形

cart2pol 直角坐标变为极或柱坐标

cart2sph 直角坐标变为球坐标

cat 串接成高维数组

caxis 色标尺刻度

cd 指定当前目录

cdedit 启动用户菜单、控件回调函数设计工具

cdf2rdf 复数特征值对角阵转为实数块对角阵

ceil 向正无穷取整

cell 创建元胞数组

cell2struct 元胞数组转换为构架数组

celldisp 显示元胞数组内容

cellplot 元胞数组内部结构图示

char 把数值、符号、内联类转换为字符对象

chi2cdf 分布累计概率函数

chi2inv 分布逆累计概率函数

chi2pdf 分布概率密度函数

chi2rnd 分布随机数发生器

chol Cholesky分解

clabel 等位线标识

cla 清除当前轴

class 获知对象类别或创建对象

clc 清除指令窗

clear 清除内存变量和函数

clf 清除图对象

clock 时钟

colorcube 三浓淡多彩交叉色图矩阵

colordef 设置色彩缺省值

colormap 色图

colspace 列空间的基

close 关闭指定窗口

colperm 列排序置换向量

comet 彗星状轨迹图

comet3 三维彗星轨迹图

compass 射线图

compose 求复合函数

cond (逆)条件数

condeig 计算特征值、特征向量同时给出条件数

condest 范 -1条件数估计

conj 复数共轭

contour 等位线

contourf 填色等位线

contour3 三维等位线

contourslice 四维切片等位线图

conv 多项式乘、卷积

cool 青紫调冷色图

copper 古铜调色图

cos 余弦

cosh 双曲余弦

cot 余切

coth 双曲余切

cplxpair 复数共轭成对排列

csc 余割

csch 双曲余割

cumsum 元素累计和

cumtrapz 累计梯形积分

cylinder 创建圆柱

D d

dblquad 二重数值积分

deal 分配宗量

deblank 删去串尾部的空格符

dec2base 十进制转换为X进制

dec2bin 十进制转换为二进制

dec2hex 十进制转换为十六进制

deconv 多项式除、解卷

delaunay Delaunay 三角剖分

del2 离散Laplacian分

demo Matlab演示

det 行列式

diag 矩阵对角元素提取、创建对角阵

diary Matlab指令窗文本内容记录

diff 数值分、符号微分

digits 符号计算中设置符号数值的精度

dir 目录列表

disp 显示数组

display 显示对象内容的重载函数

dlinmod 离散系统的线性化模型

dmperm 矩阵Dulmage-Mendelsohn 分解

dos 执行DOS 指令并返回结果

double 把其他类型对象转换为双精度数值

drawnow 更新事件队列Matlab刷新屏幕

dsolve 符号计算解微分方程

E e

echo M文件被执行指令的显示

edit 启动M文件编辑器

eig 求特征值和特征向量

eigs 求指定的几个特征值

end 控制流FOR等结构体的结尾元素下标

eps 浮点相对精度

error 显示出错信息并中断执行

errortrap 错误发生后程序是否继续执行的控制

erf 误函数

erfc 误补函数

erfcx 刻度误补函数

erfinv 逆误函数

errorbar 带误限的曲线图

etreeplot 画消去树

eval 串演算指令

evalin 跨空间串演算指令

exist 检查变量或函数是否已定义

exit 退出Matlab环境

exp 指数函数

expand 符号计算中的展开作

expint 指数积分函数

expm 常用矩阵指数函数

expm1 Pade法求矩阵指数

expm2 Taylor法求矩阵指数

expm3 特征值分解法求矩阵指数

eye 单位阵

ezcontour 画等位线的简捷指令

ezcontourf 画填色等位线的简捷指令

ezgraph3 画表面图的通用简捷指令

ezmesh 画网线图的简捷指令

ezmeshc 画带等位线的网线图的简捷指令

ezplot 画二维曲线的简捷指令

ezplot3 画三维曲线的简捷指令

ezpolar 画极坐标图的简捷指令

ezsurf 画表面图的简捷指令

ezsurfc 画带等位线的表面图的简捷指令

F f

factor 符号计算的因式分解

feather 羽毛图

feedback 反馈连接

feval 执行由串指定的函数

fft 离散Fourier变换

fft2 二维离散Fourier变换

fftn 高维离散Fourier变换

fftshift 直流分量对中的谱

fieldnames 构架域名

figure 创建图形窗

fill3 三维多边形填色图

find 寻找非零元素下标

findobj 寻找具有指定属性的对象图柄

findstr 寻找短串的起始字符下标

findsym 机器确定内存中的符号变量

finverse 符号计算中求反函数

fix 向零取整

flag 红白蓝黑交错色图阵

fliplr 矩阵的左右翻转

flipud 矩阵的上下翻转

flipdim 矩阵沿指定维翻转

floor 向负无穷取整

flops 浮点运算次数

flow Matlab提供的演示数据

fmin 求单变量非线性函数极小值点(旧版)

fminbnd 求单变量非线性函数极小值点

fmins 单纯形法求多变量函数极小值点(旧版)

fminunc 拟牛顿法求多变量函数极小值点

fminsearch 单纯形法求多变量函数极小值点

fnder 对样条函数求导

fnint 利用样条函数求积分

fnval 计算样条函数区间内任意一点的值

fnplt 绘制样条函数图形

fopen 打开外部文件

for 构成for环用

format 设置输出格式

fourier Fourier 变换

fplot 返函绘图指令

fprintf 设置显示格式

fread 从文件读二进制数据

fsolve 求多元函数的零点

full 把稀疏矩阵转换为非稀疏阵

funm 计算一般矩阵函数

funtool 函数计算器图形用户界面

fzero 求单变量非线性函数的零点

G g

gamma 函数

gammainc 不完全 函数

gammaln 函数的对数

gca 获得当前轴句柄

gcbo 获得正执行"回调"的对象句柄

gcf 获得当前图对象句柄

gco 获得当前对象句柄

geomean 几何平均值

get 获知对象属性

getfield 获知构架数组的域

getframe 获取影片的帧画面

ginput 从图形窗获取数据

global 定义全局变量

gplot 依图论法则画图

gradient 近似梯度

gray 黑白灰度

grid 画分格线

griddata 规则化数据和曲面拟合

gtext 由鼠标放置注释文字

guide 启动图形用户界面交互设计工具

H h

harmmean 调和平均值

help 在线帮助

helpwin 交互式在线帮助

helpdesk 打开超文本形式用户指南

hex2dec 十六进制转换为十进制

hex2num 十六进制转换为浮点数

hidden 和消隐开关

hilb Hilbert矩阵

hist 频数计算或频数直方图

histc 端点定位频数直方图

histfit 带正态拟合的频数直方图

hold 当前图上重画的切换开关

horner 分解成嵌套形式

hot 黑红黄白色图

hsv 饱和色图

I i

if-else-elseif 条件分支结构

ifft 离散Fourier反变换

ifft2 二维离散Fourier反变换

ifftn 高维离散Fourier反变换

ifftshift 直流分量对中的谱的反作

ifourier Fourier反变换

i, j 缺省的"虚单元"变量

ilaplace Laplace反变换

imag 复数虚部

image 显示图象

imagesc 显示亮度图象

imfinfo 获取图形文件信息

imread 从文件读取图象

imwrite 把图象写成文件

ind2sub 单下标转变为多下标

inf 无穷大

info MathWorks公司网点地址

inline 构造内联函数对象

inmem 列出内存中的函数名

input 提示用户输入

inputname 输入宗量名

int 符号积分

int2str 把整数数组转换为串数组

interp1 一维插值

interp2 二维插值

interp3 三维插值

interpn N维插值

interpft 利用FFT插值

intro Matlab自带的入门

inv 求矩阵逆

invhilb Hilbert矩阵的准确逆

ipermute 广义反转置

isa 检测是否给定类的对象

ischar 若是字符串则为真

isequal 若两数组相同则为真

isempty 若是空阵则为真

isfinite 若全部元素都有限则为真

isfield 若是构架域则为真

isglobal 若是全局变量则为真

ishandle 若是图形句柄则为真

ishold 若当前图形处于保留状态则为真

isieee 若计算机执行IEEE规则则为真

isinf 若是无穷数据则为真

isletter 若是英文字母则为真

islogical 若是逻辑数组则为真

iember 检查是否属于指定集

isnan 若是非数则为真

isnumeric 若是数值数组则为真

isobject 若是对象则为真

isprime 若是质数则为真

isreal 若是实数则为真

isspace 若是空格则为真

issparse 若是稀疏矩阵则为真

isstruct 若是构架则为真

isstudent 若是Matlab学生版则为真

iztrans 符号计算Z反变换

J j , K k

jacobian 符号计算中求Jacobian 矩阵

jet 蓝头红尾饱和色

jordan 符号计算中获得 Jordan标准型

keyboard 键盘获得控制权

kron Kronecker乘法规则产生的数组

L l

laplace Laplace变换

lasterr 显示出错信息

lastwarn 显示警告信息

leastsq 解非线性小二乘问题(旧版)

legend 图形图例

lighting 照明模式

line 创建线对象

lines 采用plot 画线色

linmod 获连续系统的线性化模型

linmod2 获连续系统的线性化精良模型

linspace 线性等分向量

ln 矩阵自然对数

load 从MAT文件读取变量

log 自然对数

log10 常用对数

log2 底为2的对数

loglog 双对数刻度图形

logm 矩阵对数

logspace 对数分度向量

lookfor 按关键字搜索M文件

lower 转换为小写字母

lsqnonlin 解非线性小二乘问题

lu LU分解

M m

mad 平均偏

magic 魔方阵

maple &nb, sp; 运作 Maple格式指令

mat2str 把数值数组转换成输入形态串数组

material 材料反射模式

max 找向量中元素

mbuild 产生EXE文件编译环境的预设置指令

mcc 创建MEX或EXE文件的编译指令

mean 求向量元素的平均值

median 求中位数

menuedit 启动设计用户菜单的交互式编辑工具

mesh 网线图

meshz 垂帘网线图

meshgrid 产生"格点"矩阵

methods 获知对指定类定义的所有方法函数

mex 产生MEX文件编译环境的预设置指令

mfunlis 能被mfun计算的MAPLE经典函数列表

mhelp 引出 Maple的在线帮助

min 找向量中小元素

mkdir 创建目录

mkpp 逐段多项式数据的明晰化

mod 模运算

more 指令窗中内容的分页显示

movie 放映影片动画

moviein 影片帧画面的内存预置

mtaylor 符号计算多变量Taylo数展开

N n

ndims 求数组维数

NaN 非数(预定义)变量

nargchk 输入宗量数验证

nargin 函数输入宗量数

nargout 函数输出宗量数

ndgrid 产生高维格点矩阵

newplot 准备新的缺省图、轴

nextpow2 取接近的较大2次幂

nnz 矩阵的非零元素总数

nonzeros 矩阵的非零元素

norm 矩阵或向量范数

normcdf 正态分布累计概率密度函数

normest 估计矩阵2范数

norminv 正态分布逆累计概率密度函数

normpdf 正态分布概率密度函数

normrnd 正态随机数发生器

notebook 启动Matlab和Word的集成环境

null 零空间

num2str 把非整数数组转换为串

numden 获取小公分母和相应的分子表达式

nzmax 指定存放非零元素所需内存

O o

ode1 非Stiff 微分方程变步长解算器

ode15s Stiff 微分方程变步长解算器

ode23t 适度Stiff 微分方程解算器

ode23tb Stiff 微分方程解算器

ode45 非Stiff 微分方程变步长解算器

odefile ODE 文件模板

odeget 获知ODE 选项设置参数

odephas2 ODE 输出函数的二维相平面图

odephas3 ODE 输出函数的三维相空间图

odeplot ODE 输出函数的时间轨迹图

odeprint 在Matlab指令窗显示结果

odeset 创建或改写 ODE选项构架参数值

ones 全1数组

optimset 创建或改写优化泛函指令的选项参数值

orient 设定图形的排放方式

orth 值空间正交化

P p

pack 收集Matlab内存碎块扩大内存

pagedlg 调出图形排版对话框

patch 创建块对象

path 设置Matlab搜索路径的指令

pathtool 搜索路径管理器

pause 暂停

pcode 创建预解译P码文件

pcolor 伪彩图

peaks Matlab提供的典型三维曲面

permute 广义转置

pi (预定义变量)圆周率

pie 二维饼图

pie3 三维饼图

pink 粉红色图矩阵

pinv 伪逆

plot 平面线图

plot3 三维线图

plotmatrix 矩阵的散点图

plotyy 双纵坐标图

poissinv 泊松分布逆累计概率分布函数

poissrnd 泊松分布随机数发生器

pol2cart 极或柱坐标变为直角坐标

polar 极坐标图

poly 矩阵的特征多项式、根集对应的多项式

poly2str 以习惯方式显示多项式

poly2sym 双精度多项式系数转变为向量符号多项式

polyder 多项式导数

polyfit 数据的多项式拟合

polyval 计算多项式的值

polyvalm 计算矩阵多项式

pow2 2的幂

ppval 计算分段多项式

pretty 以习惯方式显示符号表达式

print 打印图形或SIMULINK模型

printsys 以习惯方式显示有理分式

pri 光谱色图矩阵

procread 向MAPLE输送计算程序

profile 函数文件性能评估器

propedit 图形对象属性编辑器

pwd 显示当前工作目录

Q q

quad 低阶法计算数值积分

quad8 高阶法计算数值积分(QUADL)

quit 推出Matlab 环境

quiver 二维方向箭头图

quiver3 三维方向箭头图

R r

rand 产生均匀分布随机数

randn 产生正态分布随机数

randperm 随机置换向量

range 样本极

rank 矩阵的秩

rats 有理输出

rcond 矩阵倒条件数估计

real 复数的实部

reallog 在实数域内计算自然对数

realpow 在实数域内计算乘方

realsqrt 在实数域内计算平方根

realmax 正浮点数

realmin 小正浮点数

rectangle 画"长方框"

rem 求余数

repmat 铺放模块数组

reshape 改变数组维数、大小

residue 部分分式展开

return 返回

ribbon 把二维曲线画成三维彩带图

rmfield 删去构架的域

roots 求多项式的根

rose 数扇形图

rot90 矩阵旋转90度

rotate 指定的原点和方向旋转

rotate3d 启动三维图形视角的交互设置功能

round 向近整数圆整

rref 简化矩阵为梯形形式

rsf2csf 实数块对角阵转为复数特征值对角阵

rsums Riemann和

S s

se 把内存变量保存为文件

scatter 散点图

scatter3 三维散点图

sec 正割

sech 双曲正割

semilogx X轴对数刻度坐标图

semilogy Y轴对数刻度坐标图

series 串联连接

set 设置图形对象属性

setfield 设置构架数组的域

setstr 将ASCII码转换为字符的旧版指令

sign 根据符号取值函数

signum 符号计算中的符号取值函数

sim 运行SIMULINK模型

simget 获取SIMULINK模型设置的仿真参数

simple 寻找短形式的符号解

simplify 符号计算中进行简化作

simset 对SIMULINK模型的仿真参数进行设置

simulink 启动SIMULINK模块库浏览器

sin 正弦

sinh 双曲正弦

size 矩阵的大小

slice 立体切片图

solve 求代数方程的符号解

spalloc 为非零元素配置内存

sparse 创建稀疏矩阵

spconvert 把外部数据转换为稀疏矩阵

spdiags 稀疏对角阵

spfun 求非零元素的函数值

sph2cart 球坐标变为直角坐标

sphere 产生球面

spinmap 色图彩色的周期变化

spline 样条插值

spones 用1置换非零元素

sprandsym 稀疏随机对称阵

sprank 结构秩

spring 紫黄调春色图

sprintf 把格式数据写成串

spy 画稀疏结构图

sqrt 平方根

sqrtm 方根矩阵

squeeze 删去大小为1的"孤维"

sscanf 按指定格式读串

stairs 阶梯图

std 标准

stem 二维杆图

step 阶跃响应指令

str2double 串转换为双精度值

str2mat 创建多行串数组

str2num 串转换为数

strcat 接成长串

strcmp 串比较

strjust 串对齐

strmatch 搜索指定串

strncmp 串中前若干字符比较

strrep 串替换

strtok 寻找间隔符前的内容

struct 创建构架数组

struct2cell 把构架转换为元胞数组

strvcat 创建多行串数组

sub2ind 多下标转换为单下标

subexpr 通过子表达式重写符号对象

subplot 创建子图

subs 符号计算中的符号变量置换

subspace 两子空间夹角

sum 元素和

summer 绿黄调夏色图

superiorto 设定优先级

surf 三维着色表面图

surface 创建面对象

surfc 带等位线的表面图

surfl 带光照的三维表面图

surfnorm 空间表面的法线

svd 奇异值分解

svds 求指定的若干奇异值

switch-case-otherwise 多分支结构

sym2poly 符号多项式转变为双精度多项式系数向量

symmmd 对称小度排序

symrcm 反向Cuthill-McKee排序

syms 创建多个符号对象

T t

tan 正切

tanh 双曲正切

taylortool 进行Taylor逼近分析的交互界面

text 文字注释

tf 创建传递函数对象

tic 启动计时器

title 图名

toc 关闭计时器

trapz 梯形法数值积分

treelayout 展开树、林

treeplot 画树图

tril 下三角阵

trim 求系统平衡点

trimesh 不规则格点网线图

trisurf 不规则格点表面图 triu 上三角阵 try-catch 控制流中的Try-catch结构 type 显示M文件

U u

uicontextmenu 创建现场菜单

uicontrol 创建用户控件

uimenu 创建用户菜单

unmkpp 逐段多项式数据的反明晰化

unwrap 自然态相角

upper 转换为大写字母

V v

var 方

varargin 变长度输入宗量

varargout 变长度输出宗量

vectorize 使串表达式或内联函数适于数组运算

ver 版本信息的获取

view 三维图形的视角控制

voronoi Voronoi多边形

vpa 任意精度(符号类)数值

W w

warning 显告信息

what 列出当前目录上的文件

whatsnew 显示Matlab中 Readme文件的内容

which 确定函数、文件的位置

while 控制流中的While环结构

white 全白色图矩阵

whitebg 指定轴的背景色

who 列出内存中的变量名

whos 列出内存中变量的详细信息

winter 蓝绿调冬色图

workspace 启动内存浏览器

X x , Y y , Z z

xlabel X轴名

xor 或非逻辑

yesinput 智能输入指令

ylabel Y轴名

zeros 全零数组

zlabel Z轴名

zoom 图形的变焦放大和缩小

ztrans 符号计算Z变换

matlab语法x=get(h,'xdata');中各个字符的含义是什么?

get函数是获得某一个对象的属性。例如

x=rand(10);

y=rand(10);

h=plot(x,y);

get(h)

DisplayName: ''

Annotation: [1x1 hg.Annotation]

Color: [0 0 1]

LineStyle: '-'

LineWidth: 0.5000

Marker: 'none'

MarkerSize: 6

MarkerEdgeColor: 'auto'

MarkerFaceColor: 'none'

XData: [1x5000 double]

YData: [1x5000 double]

ZData: [1x0 double]

BeingDeleted: 'off'

ButtonDownFcn: []

Children: [0x1 double]

Clipping: 'on'

CreateFcn: []

DeleteFcn: []

BusyAction: 'queue'

HandleVisibility: 'on'

HitTest: 'on'

Interruptible: 'on'

Selected: 'off'

SelectionHighlight: 'on'

Tag: ''

Type: 'line'

UIContextMenu: []

UserData: []

Visible: 'on'

Parent: 175.0050

XDataMode: 'manual'

XDataSource: ''

YDataSource: ''

ZDataSource: ''

就可以获取相属性值了,同理可以通过set函数对以上属性值进行设置。

matlab if语句的用法

楼主的问题还不是很明白,不过这样算出来的y的确是一行向量呀。

要么这样改写,结果还是一样的,个人感觉容易理解:

y=ones(1,20);

for =1:20

x=(0.95+0.1i/21)1.0

if x<1

y(1,i)=(x-0.95)/0.05;

else x>1

y(1,i)=(1.05-x)/0.05;

end

end

y

else改了一下,我的结果是这样的,看看跟你实际是不是一样

i=1:20;

x=(0.95+0.1i/21)1.0;

y=zeros(1,20);

if x<1

y=y+(x-0.95)/0.05;

else

y=y+(1.05-x)/0.05;

end

y结果:一行矩阵

1.9047 1.8095 1.7142 1.6190 1.5238 1.4285 1.3333 1.2380 1.1428 1.0476 0.9523 0.8571 0.7619 0.6666 0.5714 0.4761 0.3809 0.2857 0.1904 0.0952

else就行了,不用再加个x>1

for i=1:20

x(i)=(0.95+0.1i/21)1.0;

if x(i)<1

y(i)=(x(i)-0.95)/0.05;

else

y(i)=(1.05-x(i))/0.05;

end

end

y

matlab中diag用法

X = diag(v,k)

以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。

例:

>> v=[1 2 3];

>> x=diag(v,-1)

x =

0 0 0 0

1 0 0 0

0 2 0 0

0 0 3 0

下面不知是否是你想要的:

>> clear

>> v(1)=1;

>> n=5;%可以安自己需求

>> v(2:n)=2;

>> x=diag(v,-1)

x =

0 0 0 0 0 0

1 0 0 0 0 0

0 2 0 0 0 0

0 0 2 0 0 0

0 0 0 2 0 0

0 0 0 0 2 0

= diag(v,k)

以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。

例:

>> v=[1 2 3];

>> x=diag(v,-1)

x =

0 0 0 0

1 0 0 0

0 2 0 0

0 0 3 0

下面不知是否是你想要的:

>> clear

>> v(1)=1;

>> n=5;%可以安自己需求

>> v(2:n)=2;

>> x=diag(v,-1)

x =

0 0 0 0 0 0

1 0 0 0 0 0

0 2 0 0 0 0

0 0 2 0 0 0

0 0 0 2 0 0

0 0 0 0 2 0

调用格式:a=diag(x);

若x是mn的矩阵,则a为x对角线元素组成的向量,且a的大小等于x较小的维数,即min(m,n)

若x是1m的向量,则a为mm的矩阵,该矩阵的对角线元素为x。

diag函数是提取对角元素

diag(A,0)提取的是主对角线上的元素,diag(A,1)提取的是主对角线上一对角线上的元素,diag(A,-1)提取的是主对角线下一对角线上的元素。

祝你学习愉快!

另外,站长团上有产品团购,便宜有保证

对于dbb627的一点改正,当k<0时,v为下方第-k条对角线。

X =

diag(v,k)

以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。

例:

>>

v=[1 2 3];

>> x=diag(v,-1)

x =

0 0 0 0

1 0 0 0

0 2 0 0

0 3 0

下面不知是否是你想要的:

>> clear

>> v(1)=1;

>>

n=5;%可以安自己需求

>> v(2:n)=2;

>> x=diag(v,-1)

x =

0 0 0 0 0

1 0 0 0 0 0

0 2 0 0 0 0

0 0 2 0 0 0

0 0 0 2 0 0

0 0 0 0

2 0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息