matlab矩阵

matlab——层次分析法

不羁岁月 提交于 2019-12-12 03:38:04
disp ( '请输入准则层判断矩阵A(n阶)' ) ; A = input ( 'A=' ) ; [ n , n ] = size ( A ) ; [ V , D ] = eig ( A ) ; % 求得特征向量和特征值 % 求出最大特征值和它所对应的特征向量 tempNum = D ( 1 , 1 ) ; pos = 1 ; for h = 1 : n if D ( h , h ) > tempNum tempNum = D ( h , h ) ; pos = h ; end end w = abs ( V ( : , pos ) ) ; w = w / sum ( w ) ; t = D ( pos , pos ) ; disp ( '准则层特征向量w=' ) ; disp ( w ) ; disp ( '准则层最大特征根t=' ) ; disp ( t ) ; % 以下是一致性检验 CI = ( t - n ) / ( n - 1 ) ; RI = [ 0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59 1.60 1.61 1.615 1.62 1.63 ] ; CR = CI / RI ( n ) ; if CR < 0.10 disp ( '此矩阵的一致性可以接受!' ) ; disp

MATLAB实现图像的代数运算

风流意气都作罢 提交于 2019-12-10 09:18:41
文章目录 2.利用imlincomb函数将图像的灰度值放大1.5倍 3.利用imlincomb函数计算两幅图像的平均值。 4.图像的加法运算 5.利用imnoise函数对噪声进行相加运算 6.图像的减法运算 7.利用两种函数去图像的相减值和绝对值 8.降低R图像的亮度 9.图像的乘法运算 10.图像的除法运算 图像的代数运算在图像处理中有着广泛的应用,它除了可以实现自身所需的算数操作,还能为许多复杂的图像处理提供准备。例如,图像减法就可以用来检测同一场景或物体生成的两幅或多副图像的误差。可以使用MATLAB基本算数符(﹢、﹣、·、/)来执行图像的算数操作,但在此之前必须将图像转换为适合进行基本操作的双精度类型。在MATLAB中,图像运算函数无需再进行数据类型之间的转换,这些函数能够接受uint8和uint16的数据,并且返回相同格式的图像结果。 下表是一个常见的MATLAB图像运算函数集合。 常见的MATLAB图像运算函数 函数名 功能描述 Imabsdiff 用于计算两幅图像的绝对差值 imcomplement 用于补足一幅图像 imlincomb 用于计算两幅图像的线性组合 图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整形数据将被截取为数据范围的极值,分数结果将被四舍五入。无论进行哪一种代数运算都要保证两幅输入图像的大小相等,且类型相同。 ##

MATLAB实现图像的代数运算

爱⌒轻易说出口 提交于 2019-12-09 16:51:02
目录 1.使用求补运算对各类图像进行处理 2.利用imlincomb函数将图像的灰度值放大1.5倍 3.利用imlincomb函数计算两幅图像的平均值。 4.图像的加法运算 5.利用imnoise函数对噪声进行相加运算 6.图像的减法运算 7.利用两种函数去图像的相减值和绝对值 8.降低R图像的亮度 9.图像的乘法运算 10.图像的除法运算 @ 图像的代数运算在图像处理中有着广泛的应用,它除了可以实现自身所需的算数操作,还能为许多复杂的图像处理提供准备。例如,图像减法就可以用来检测同一场景或物体生成的两幅或多副图像的误差。可以使用MATLAB基本算数符(﹢、﹣、·、/)来执行图像的算数操作,但在此之前必须将图像转换为适合进行基本操作的双精度类型。在MATLAB中,图像运算函数无需再进行数据类型之间的转换,这些函数能够接受uint8和uint16的数据,并且返回相同格式的图像结果。 下表是一个常见的MATLAB图像运算函数集合。 常见的MATLAB图像运算函数 函数名 功能描述 Imabsdiff 用于计算两幅图像的绝对差值 imcomplement 用于补足一幅图像 imlincomb 用于计算两幅图像的线性组合 图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整形数据将被截取为数据范围的极值,分数结果将被四舍五入

matlab中colormap

 ̄綄美尐妖づ 提交于 2019-12-06 10:13:50
来源:https://ww2.mathworks.cn/help/matlab/ref/colormap.html?searchHighlight=colormap&s_tid=doc_srchtitle#buc3wsn-1-map 查看并设置当前颜色图 全页折叠 语法 colormap map colormap(map) colormap(target,map) cmap = colormap cmap = colormap(target) 说明 示例 colormap map 将当前图窗的颜色图设置为预定义的颜色图之一。如果您为图窗设置了颜色图,图窗中的坐标区和图将使用相同的颜色图。新颜色图的长度(颜色数)与当前颜色图相同。当您使用此语法时,不能为颜色图指定自定义长度。有关颜色图的详细信息,请参阅 什么是颜色图? 。 示例 colormap( map ) 将当前图窗的颜色图设置为 map 指定的颜色图。 示例 colormap( target , map ) 为 target 指定的图窗、坐标区或图形设置颜色图,而不是为当前图窗设置颜色图。 示例 cmap = colormap 返回当前图窗的颜色图,形式为 RGB 三元组组成的三列矩阵。 示例 cmap = colormap( target ) 返回 target 指定的图窗、坐标区或图的颜色图。 示例 全部折叠

MATLAB代码v2.0

空扰寡人 提交于 2019-12-06 06:53:37
1 % % V 原始评价指标矩 2 % % v_ij 第i个地区第j个指标的初始值 3 % % r_ij 第i个地区第j个指标的标准化值 4 % % R 标准化后的评价矩阵 5 % % m 统计地区总个数 6 % % n 已给指标个数 7 % % Y^+ 正理想解 8 % % Y^- 负理想解 9 % % D_j^+ 第i个指标与y_i^+的距离 10 % % D_j^- 第i个指标与y_i^-的距离 11 % % H_i 信息熵 12 % % f_ij 指标的特征比重 13 % % w_i 权值表 14 % % Y 加权规范化评价矩阵 15 % % T_j 第j项经济指标接近最优值的程度 16 17 18 %% 第一步:把数据复制到工作区,并将这个矩阵命名为X 19 clear;clc 20 load jingjizhibiao.mat; 21 22 [n,m] = size(V); 23 disp(['共有' num2str(n) '个地区, ' num2str(m) '个经济指标']) ; 24 R = V./ repmat(sum(V.*V) .^ 0.5, n, 1); 25 disp('R的值为 R = ') 26 R 27 28 %% 第二步:熵权法赋权 29 %%计算第j个指标下,第i个样本占该指标的比重p(i,j) 30 for i=1:n 31 for j=1

Matlab中image、imagesc和imshow函数用法解析

狂风中的少年 提交于 2019-12-05 07:01:02
来源:https://blog.csdn.net/zhuiyuanzhongjia/article/details/79621813 1、显示RGB图像 相同点:这三个函数都是把m*n*3的矩阵中的数值当做RGB值来显示的。 区别:imshow将图像以原始尺寸显示,image和imagesc则会对图像进行适当的缩放(显示出来的尺寸大小)。 2、显示灰度图像 说明:先搞明白什么是索引图像?(灰度图像也是索引图像的一种) 当用Matlab中的imread函数将图像读入并存入矩阵时,我们知道如果是RGB图像,得到是m*n*3的矩阵,但如果是索引图像,得到就是m*n的矩阵,这个矩阵的每个元素只是1个数值,那么怎么确定它的RGB值来显示图像呢?这就需要colormap了,colormap是一个m*3的矩阵,每一行有3列元素构成RGB组,也就是一种颜色,一个m*3的colormap中有m中颜色,而索引图像存储的数值和colormap中的行号对应起来就可以像RGB那样显示图片了,至于对应方法,可以直接对应(比如1对应1,2对应2)也可以是线性映射对应(比如[-128,128]映射到[1,256])。还有一点要说明的是,默认情况下每一个figure都有且仅有一个colormap,而且默认的是 jet(64),可在figure窗口通过,edit->colormap...查看

matlab学习1

假如想象 提交于 2019-12-04 18:26:48
1.复数 6+5i ans = 6.0000 + 5.0000i >> 6+5j ans = 6.0000 + 5.0000i 2.Format 数值数据输出格式 >> format long >> 50/3 ans = 16.666666666666668 >> format(默认short) >> 50/3 ans = 16.6667 只影响输出格式,不影响计算和存储 3.常用数学函数 调用:函数名(函数自变量的值) >> A=[4,2;3,6] A = 4 2 3 6 >> B=exp(A)(自然指数) B = 54.5982 7.3891 20.0855 403.4288 三角函数: >> sin(pi/2)(弧度) ans = 1 >> sind(90)(角度加d) ans = 1 abs函数: 实数的绝对值,复数的模,字符串的ASCII码值 >> abs(-4) ans = 4 >> abs(3+4i) ans = 5 >> abs('a') ans = 97 取整: fix(舍去小数),floor(向下取整),ceil(向上取整),round(四舍五入) >> round(4.7) ans = 5 >> floor(3.6) ans = 3 >> fix(-3.2) ans = -3 >> ceil(-3.8) ans = -3 求余: rem,mod 应用举例:

matlab中的eval函数使用

若如初见. 提交于 2019-12-04 15:37:39
matlab中的eval函数使用 在matlab的命令行窗口中输入help eval命令回车就可以看到eval函数的官方解释,大概的意思就是执行matlab中的表达式,计算expression表示的代码。意思是相当于在命令行中输入expression表达式命令的意思。 用法: eval(expression) [output1,…,outputN] = eval(expression) 这里就很奇怪了,为啥不直接在命令行中输入命令而是要多使用一个eval函数来完成这样的事情呢。这个是有原因的,下面举个例子: 1、比如你需要使用matlab加载一些数据,并且这些数据保存在很多个文件中,文件的命名有一定的规律,比如:data1.mat data2.mat......等,你需要怎样来加载呢?是直接写n个load data1.mat吗,显然不是的,当遇到这种情况的时候就是eval函数展示其用处的时候了。你可以这样写: for i = 1:n eval(['load',' ','data',num2str(i),'.mat']); % 这样完全跟上面的功能一样 end 2、当你需要在一串字符串中提取出数字,或者将一串十进制的数中将每个数都提取出来时,每个数字之间使用空格分开,即a = '12 34 45 67',这样的形式你怎样将他们提取出来变成一个矩阵呢

MATLAB小函数:将列向量转化为0-1矩阵

偶尔善良 提交于 2019-12-04 08:28:47
MATLAB小函数:将列向量转化为0-1矩阵 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 将列向量转化为0-1矩阵,例如 A = 1 2 1 5 3 4 1 4 3 转换为: B = 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1. MATLAB程序 function B=trans_logic(A) % 将列向量转化为0-1矩阵 % A=[1;2;1;5;3;4;1;4;3]; num=size(A); for i=1:num B(i, A(i))=1; end 2. 结果 >> A=[1;2;1;5;3;4;1;4;3]; >> B=trans_logic(A) B = 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 2019-11-13 来源: https://www.cnblogs.com/kailugaji/p/11848446.html

Matlab读取点云数据 + 显示

为君一笑 提交于 2019-12-04 03:14:02
求matlab读取三维点云数据的程序。 clear A=importdata(‘data.txt’); [IX,IY]=size(A); x=A(:,1); y=A(:,1); y=A(:,2); z=A(:,3); plot3(x,y,z,’.’); grid on Matlab相关函数: gallery() 函数是一个测试矩阵生成函数。 当需要对某些算法进行测试的时,利用gallery函数生成各种性质的测试矩阵。 格式: [A,B,C,…] = gallery(matname,P1,P2,…,classname) 其中,matname表示矩阵性质,classname表示矩阵元素类型single或double。 例如:在一个平面上随机生成10个点并作出这些点的 voronoi diagram. x = gallery ( 'uniformdata' , [ 1 10 ] , 0 ); y = gallery ( 'uniformdata' , [ 1 10 ] , 1 ); voronoi(x,y) 2.tetramesh() 功能:绘制四面体 格式: tetramesh(T,X,c) tetramesh(T,X) tetramesh(TR) h=tetramesh(…) 示例: clear d=[-1 1]; [x,y,z] = meshgrid(d,d,d); x=[x(:)