matlab里面如何根据所得的数字输出对应的姓名

matlab里面如何根据所得的数字输出对应的姓名,第1张

以4个名字,随机取2个为例

参考代码:

clc

clear all

close all

name = {'John', 'Jame', 'Jack', 'Jerome'}  % 创扒慎建字符串春皮敬数组,存储人名,这里以四个人名为例

index = randi(4, 1, 2)    % 在1~4中生成1行2列的矩阵,握蠢即2个1~4之间的随机数

disp(index)       % 输出随机数

disp(name(index)) % 输出对应的名字

输出效果

1     4

'John'    'Jerome'

刚好这里段悔有一个现成的

%自己编程剔亩昌除数据异常值

clear off

clc

X=[1 3 5 7 4 6 3 8 4 7 12 3 5 7 17 4 6 7 8 5 3]

ls=length(X)

K=3

figure(1)

plot(X)

for i=1:3

A1(i)=abs(X(i)-(X(i+3)+X(i+2)+X(i+1))/3)

Y1=[abs(X(i+3)-X(i+2))abs(X(i+3)-X(i+1))abs(X(i+1)-X(i+2))]

Y(i)=max(Y1')

if(A1(i)/Y(i)>K)

X(i)=(X(i+1)+X(i+2)+X(i+3))/3

else

end

end

for i=ls-2:ls

A2(i)=abs(X(i)-(X(i-1)+X(i-2)+X(i-3))/3)

Z1=[abs(X(i-3)-X(i-2))abs(X(i-3)-X(i-1))abs(X(i-1)-X(i-2))]

Z(i)=max(Z1')

if(A2(i)/Z(i)>K)

X(i)=(X(i-3)+X(i-2)+X(i-1))/3

else

end

end

for i=4:ls-3

A1(i)=abs(X(i)-(X(i-3)+X(i-2)+X(i-1))/3)

A2(i)=abs(X(i)-(X(i+1)+X(i+2)+X(i+3))/3)

Y1=[abs(X(i-3)-X(i-2))abs(X(i-2)-X(i-1))abs(X(i-3)-X(i-2))]

Y(i)=max(Y1')

Z1=[abs(X(i+3)-X(i+2))abs(X(i+3)-X(i+1))abs(X(i+1)-X(i+2))]

Z(i)=max(Z1')

if(A1(i)/Y(i)>K&A2(i)/Z(i)>K)

X(i)=(X(i-3)+X(i-2)+X(i-1)+X(i+1)+X(i+2)+X(i+3))/6

else

end

end

figure(2)

plot(X)

再握耐正来一个简单的

clc

clear all

load X

K=1N=length(X)

x=X

figure(1)

plot(x)

for i=4:N-3

if (x(i)-x(i-1)>K&x(i)-x(i-2)>K&x(i)-x(i-3)>K)

x(i)=(x(i-3)+x(i-2)+x(i-1)+x(i+1)+x(i+2)+x(i+3))/6

end

end

figure(2)

plot(x)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存