java代码matlab编程_java 编程问题 怎么把下面的matlab程序变成java程序?

clearallclc%%三进制序列的生成n=14;%%%序列长度q=3;%%%q进制序列长度a(1,1:n)=ones(1,n);fori=1:na(q^(i-1)+1:2*q^(i-1),1:n)=a(1:q^(i-1),1:n);a(q^(i-1)+1:2*q^(i-1),n-i+1)=a(q^(...

clear all

clc

%%三进制序列的生成

n=14;%%% 序列长度

q=3;%%% q进制序列长度

a(1,1:n)=ones(1,n);

for i=1:n

a(q^(i-1)+1:2*q^(i-1),1:n)=a(1:q^(i-1),1:n);

a(q^(i-1)+1:2*q^(i-1),n-i+1)=a(q^(i-1)+1:2*q^(i-1),n-i+1)*(-1);

a(2*q^(i-1)+1:3*q^(i-1),1:n)=a(1:q^(i-1),1:n);

a(2*q^(i-1)+1:3*q^(i-1),n-i+1)=a(2*q^(i-1)+1:3*q^(i-1),n-i+1)*(0);

end %%%生成的三进制序列( 0 1 -1)

%%%%%判断三进制序列中零元素的个数,等于3的输出为b

[m,n]=size(a);

s=1;

t=1;

for i=1:m

c1=a(i,:);

if (sum(c1==0)==3)

b(s,:)=c1;

s=s+1;

end

end

b

%%%调用自相关函数pacf,求b的自相关函数和,如果它的自相关函数和除了第一位不为0,其余都为零则输出b和她的自相关函数和e

[m,n]=size(b);

t=0;

for i=1:m

c2=b(i,:);

tpf1=pacf(c2);%%%调用自相关函数pacf

for j=2:n

tpf10(1,j-1)=tpf1(1,j);

end

if tpf10(1,1:n-1)==zeros(1,n-1) %%判断自相关函数和除了第一位,其余的是否都为零

t=t+1;

d(t,:)=c2;

e(t,:)= tpf1;

end

end

if t==0

disp('无结果');

else

d

e

size(d)

end

%%被调用函数

%% 周期自相关函数函数文件为:pacf.m,可以pacf(a)调求周期自相关

%% Periodic Autocorrelation Functions

%%首先要转化为复值序列

function Rab=pacf(a)

b=a;

na=length(a);

nb=length(b);

if na ~= nb

disp('error!')

else

N=na;

for t=1:N

s=0;

for i=1:N

x(i)=a(i);

if i+t-1>N

j=mod(i+t-1,N);

else

j=i+t-1;

end

y1(i)=b(j);

y(i)=conj(y1(i));

s=s+x(i)* y(i);

end

Rab(t)=s;

end

end

多copy了一个自相关函数。。

其实就是求 三进制完备序列

概念:

在字符集{-1,0,1}上三进制完备序列概念。

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值