matlab怎么输入(xi,yi),i=0…n

matlab怎么输入(xi,yi),i=0…n,第1张

matlab输入(xi,yi),i=0…n步骤如下:
1、打开matlab软件并创建一个新的脚本文件(m文件)。
2、在脚本文件中输入代码(xi,yi),i=0…n
3、运行代码,matlab将创建并存储xi和yi数组,可以在脚本中继续使用这些变量进行后续 *** 作。

MATLAB基本的使用方法
1 读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG等。比如
2 >> f = imread('chestxrayjpg');
读进来的图像数据被保存在变量f中。尾部的分号用来抑制输出。如果是彩色的,可以用rgb2gray转换成灰度图:
>> f = rgb2gray(f);
然后可以用size函数看图像的大小
>> size(f)
如果f是灰度图像,则可以用下面的命令把这个图像的大小赋给变量M和N
>> [M, N] = size(f);
用whos命令查看变量的属性
>> whos f
3 显示图像:用imshow显示图像
4 imshow(f, G)
其中f是图像矩阵,G是像素的灰度级,G可以省略。比如
>> imshow(f, [100 200])
图像上所有小于等于100的数值都会显示成黑色,所有大于等于200的数值都会显示成白色。pixval命令可以用来查看图像上光标所指位置的像素值。
pixval
例如
>> f = imread('rose_512tif');
>> whos f
>> imshow(f)
如果要同时显示两幅图像,可以用figure命令,比如
>> figure, imshow(g)
用逗号可以分割一行中的多个命令。imshow的第二个参数用一个空的中括号:
>> imshow(h, [])
可以使动态范围比较窄的图像显示更清楚。
5 写图像。用imwrite写图像
6 imwrite(f, 'filename')
文件名必须包括指明格式的扩展名。也可以增加第三个参数,显式指明文件的格式。比如
>> imwrite(f, 'patient10_run1tif', 'tif')
也可以写成
>> imwrite(f, 'patient10_run1tif')
还可以有其他参数,比如jepg图像还有质量参数:
>> imwrite(f, 'filenamejpg', 'quality', q)
q是0到100之间的一个整数。对比不同质量的图像效果。用imfinfo命令可以查看一个图像的格式信息,比如
>> imfinfo bubbles25jpg
可以把图像信息保存到变量中
>> K = imfinfo('bubbles25jpg');
>> image_bytes = KWidth KHeight KBitDepth / 8;
>> compressed_btyes = KFileSize;
>> compression_ratio = image_bytes / compressed_bytes
7 数据类型。MATLAB的数据类型包括:
8 double 双精度浮点
9 uint8 无符号8位整数
10 uint16 无符号16位整数
11 uint32 无符号32位整数
12 int8 有符号8位整数
13 int16 有符号16位整数
14 int32 有符号32位整数
15 single 单精度
16 char 字符
17 logical 逻辑型(二值)
数据类型转换
B = data_class_name(A)
比如
>> C = [14 15]
>> D = uint8(C)
图像类型分为:
Intensity image 灰度图
Binary image 二值图
Indexed image 索引图
RGB image 彩色图
在灰度图中每个像素可以是整型、浮点型或者逻辑型。图像类型的像素类型可以转换
function to from
im2uint8 uint8 logical,uint8,uint16,double
im2uint16 uint16 logical,uint8,uint16,double
mat2gray double double
im2double double logical,uint8,uint16,double
im2bw logical uint8,uint16,double
比如
g = mat2gray(A, [Amin, Amax]);
g = mat2gray(A);
g = im2double(h);
g = im2bw(f, T)
其中A是浮点型的图像,Amin和Amax是浮点数的范围,h和f是任意类型的图像,T是分割的阈值。
18 数组(向量)索引:创建向量(数组):
19 >> v = [1 3 5 7 9 11 13]
用小括号对向量进行索引(取数组中的某个元素):
>> v(2)
转置(将行向量通过转置变成列向量):
>> w = v'
取向量其中的一部分:
>> v(1:3) 第1个到第3个
>> v(2:4)
>> v(3:end) 第3个到最后一个
>> v(1:end)
>> v(:) 全部
>> v(1:2:end) 第1个到最后一个,每次增加2
>> v(end:-2:1) 最后一个到第1个,每次减2
其中end总是表示最后一个。
>> x = linspace(1, 5, 10)
>> v([1 4 5])
linspace函数产生一个范围内的平均分布。
20 矩阵索引:创建矩阵
21 >> A = [1 2 3; 4 5 6; 7 8 9]
取矩阵中的一个元素
>> A(2, 3)
取矩阵中的一行或者一列
>> C3 = A(:, 3)
>> R2 = A(2, :)
取矩阵中某些行某些列
>> T2 = A(1:2, 1:3)
对矩阵中某些元素进行赋值:
>> B = A;
>> B(:, 3) = 0
用end表示最后一行或者最后一列:
>> A(end, end) 最后一行最后一列
>> A(end, end-2) 最后一行倒数第三列
>> A(2:end, end:-2:1) 第2行到最后一行,最后一列到第一列,每次减2

判断矩阵一致性检验的Matlab源程序代码
Matlab源程序代码如下:
clc
clear
disp('请输入判断矩阵A')
A=input('A=');
[n,n] = size(A)
%方法1: 算术平均法
Sum_A = sum(A);
SUM_A = repmat(Sum_A,n,1);
Stand_A = A / SUM_A;
Stand_A = A / Sum_A; % 这样也可以的
disp('算术平均法求权重的结果为:');
disp(sum(Stand_A,2)/n)
%方法2: 几何平均法
Prduct_A = prod(A,2);
Prduct_n_A = Prduct_A ^ (1/n);
disp('几何平均法求权重的结果为:');
disp(Prduct_n_A / sum(Prduct_n_A))
%方法3: 特征值法求权重
[V,D] = eig(A);
Max_eig = max(max(D))
[r,c]=find(D == Max_eig , 1);
disp('特征值法求权重的结果为:');
disp( V(:,c) / sum(V(:,c)) )
%计算一致性比例CR
CI = (Max_eig - n)/(n-1);
RI=[0 00001 052 089 112 126 136 141 146 149 152 154 156 158
159];
% 这里n=2时,一定是一致矩阵,所以CI = 0,为了避免分母为0,将这里的第二个元素改为了很接近0的正数
CR=CI/RI(n);
disp('一致性指标CI=');disp(CI);
disp('一致性比例CR=');disp(CR);
if CR<010
disp('因为CR<010,所以该判断矩阵A的一致性可以接受!');
else
disp('注意:CR >=
010,因此该判断矩阵A需要进行修改!');
end

不需要用循环,直接使用逻辑数组运算更快。
我假设你的x和x(1)--x(n)是不同的变量,那么我用a来表示你的x,用x数组代表你的x(1)--x(n)
我随便给这些数赋值
a=10;
x=1:3:30;
k=5;
temp = true(size(x));
temp(k) = false;
y = prod(a - x) / prod(x(k) - x(temp));
a-x是生成数组[a-x(1), a-x(2), , a-x(n)],prod()是吧这个数组相乘
temp是一个逻辑数组,和x相同大小,并且只有第k个数是false。x(temp)就是生成[x(1), x(2),, x(k-1), x(k+1), , x(n)]
其他的应该容易理解
补充:拉格朗日插值多项式可也这么写:
%x0,y0是已知各点坐标,共n点
x0 = [1, 2, 3];
y0 = [1, 8, 27];
n = length(x0);
%x是要求的点
x = 4;
y = 0;
for k = 1:n
temp = true(size(x0));
temp(k) = false;
y = y + y0(k) prod(x - x0(temp)) / prod(x0(k) - x0(temp));
end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12684908.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存