MATLAB里出现Subscript indices must either be real positive inte
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/29 15:22:45
MATLAB里出现Subscript indices must either be real positive integers or logicals.
% CMAC逼近sin(t)函数
% 未进行Hash Coding杂凑
% 作者:nuaazdh
%时间:2012年2月23日16:53:28
clear all;
close all;
clc;
t=[0:2*pi/360:2*pi];% 自变量t
y=sin(t);%因变量y
min_in=min(t);%输入自变量最小值
max_in=max(t);%输入自变量最大值
n=numel(t);%自变量的位数
size_n=360;%量化等级,越大精度越高
s=[1:size_n];%S空间,输入量化后的离散空间
train_num=180;%用于训练的样本个数
maxgen=50;%最大迭代次数
mse=zeros(1,maxgen);%均方误差向量
gen=0;%实际迭代次数
eta=1.0;%学习率η
error_goal=0.00001;%误差精度要求
A_star=6;%每个状态对应的关联单元个数
common_unit=5;%相邻关联组有相同关联单元个数
a_num=size_n*A_star-(size_n-1)*common_unit;%关联单元总数
a=ones(1,a_num);% a 向量
w=zeros(1,a_num);% 权值向量
% 获取训练样本的输入和输出
train_in=zeros(1,train_num);%训练样本输入
train_out=zeros(1,train_num);%训练样本输出
for i=1:train_num
train_in(i)=t(floor((i-1)*n/train_num+1));
train_out(i)=y(floor((i-1)*n/train_num+1));
end
% 开始训练样本
for i=1:maxgen
gen=i;
forj=1:train_num
s_seq=floor((train_in(j)-min_in)/(max_in-min_in)*(size_n-1))+1;%量化空间S的序号
w_seq=(s_seq-1)*(A_star-common_unit)+1;%权值序号
ye(j)=sum(w(w_seq:w_seq+A_star-1));%实际输出
for k=w_seq:w_seq+A_star-1 %修正权值
w(k)=w(k)+eta*(train_out(j)-ye(j))/A_star;
end
end
error=0;
for j=1:train_num
error=error+(train_out(j)-ye(j))^2;
end
mse(i)=error;
if error
% CMAC逼近sin(t)函数
% 未进行Hash Coding杂凑
% 作者:nuaazdh
%时间:2012年2月23日16:53:28
clear all;
close all;
clc;
t=[0:2*pi/360:2*pi];% 自变量t
y=sin(t);%因变量y
min_in=min(t);%输入自变量最小值
max_in=max(t);%输入自变量最大值
n=numel(t);%自变量的位数
size_n=360;%量化等级,越大精度越高
s=[1:size_n];%S空间,输入量化后的离散空间
train_num=180;%用于训练的样本个数
maxgen=50;%最大迭代次数
mse=zeros(1,maxgen);%均方误差向量
gen=0;%实际迭代次数
eta=1.0;%学习率η
error_goal=0.00001;%误差精度要求
A_star=6;%每个状态对应的关联单元个数
common_unit=5;%相邻关联组有相同关联单元个数
a_num=size_n*A_star-(size_n-1)*common_unit;%关联单元总数
a=ones(1,a_num);% a 向量
w=zeros(1,a_num);% 权值向量
% 获取训练样本的输入和输出
train_in=zeros(1,train_num);%训练样本输入
train_out=zeros(1,train_num);%训练样本输出
for i=1:train_num
train_in(i)=t(floor((i-1)*n/train_num+1));
train_out(i)=y(floor((i-1)*n/train_num+1));
end
% 开始训练样本
for i=1:maxgen
gen=i;
forj=1:train_num
s_seq=floor((train_in(j)-min_in)/(max_in-min_in)*(size_n-1))+1;%量化空间S的序号
w_seq=(s_seq-1)*(A_star-common_unit)+1;%权值序号
ye(j)=sum(w(w_seq:w_seq+A_star-1));%实际输出
for k=w_seq:w_seq+A_star-1 %修正权值
w(k)=w(k)+eta*(train_out(j)-ye(j))/A_star;
end
end
error=0;
for j=1:train_num
error=error+(train_out(j)-ye(j))^2;
end
mse(i)=error;
if error
第36行 forj 改为 for j 并且补上一个end 就解决了
修改如下:
% CMAC逼近sin(t)函数
% 未进行Hash Coding杂凑
% 作者:nuaazdh
%时间:2012年2月23日16:53:28
clear all;
close all;
clc;
t=[0:2*pi/360:2*pi];% 自变量t
y=sin(t);%因变量y
min_in=min(t);%输入自变量最小值
max_in=max(t);%输入自变量最大值
n=numel(t);%自变量的位数
size_n=360;%量化等级,越大精度越高
s=[1:size_n];%S空间,输入量化后的离散空间
train_num=180;%用于训练的样本个数
maxgen=50;%最大迭代次数
mse=zeros(1,maxgen);%均方误差向量
gen=0;%实际迭代次数
eta=1.0;%学习率η
error_goal=0.00001;%误差精度要求
A_star=6;%每个状态对应的关联单元个数
common_unit=5;%相邻关联组有相同关联单元个数
a_num=size_n*A_star-(size_n-1)*common_unit;%关联单元总数
a=ones(1,a_num);% a 向量
w=zeros(1,a_num);% 权值向量
% 获取训练样本的输入和输出
train_in=zeros(1,train_num);%训练样本输入
train_out=zeros(1,train_num);%训练样本输出
for i=1:train_num
train_in(i)=t(floor((i-1)*n/train_num+1));
train_out(i)=y(floor((i-1)*n/train_num+1));
end
% 开始训练样本
for i=1:maxgen
gen=i;
for j=1:train_num
s_seq=floor((train_in(j)-min_in)/(max_in-min_in)*(size_n-1))+1;%量化空间S的序号
w_seq=(s_seq-1)*(A_star-common_unit)+1;%权值序号
ye(j)=sum(w(w_seq:w_seq+A_star-1));%实际输出
for k=w_seq:w_seq+A_star-1 %修正权值
w(k)=w(k)+eta*(train_out(j)-ye(j))/A_star;
end
end
error=0;
for j=1:train_num
error=error+(train_out(j)-ye(j))^2;
end
mse(i)=error;
if erro
修改如下:
% CMAC逼近sin(t)函数
% 未进行Hash Coding杂凑
% 作者:nuaazdh
%时间:2012年2月23日16:53:28
clear all;
close all;
clc;
t=[0:2*pi/360:2*pi];% 自变量t
y=sin(t);%因变量y
min_in=min(t);%输入自变量最小值
max_in=max(t);%输入自变量最大值
n=numel(t);%自变量的位数
size_n=360;%量化等级,越大精度越高
s=[1:size_n];%S空间,输入量化后的离散空间
train_num=180;%用于训练的样本个数
maxgen=50;%最大迭代次数
mse=zeros(1,maxgen);%均方误差向量
gen=0;%实际迭代次数
eta=1.0;%学习率η
error_goal=0.00001;%误差精度要求
A_star=6;%每个状态对应的关联单元个数
common_unit=5;%相邻关联组有相同关联单元个数
a_num=size_n*A_star-(size_n-1)*common_unit;%关联单元总数
a=ones(1,a_num);% a 向量
w=zeros(1,a_num);% 权值向量
% 获取训练样本的输入和输出
train_in=zeros(1,train_num);%训练样本输入
train_out=zeros(1,train_num);%训练样本输出
for i=1:train_num
train_in(i)=t(floor((i-1)*n/train_num+1));
train_out(i)=y(floor((i-1)*n/train_num+1));
end
% 开始训练样本
for i=1:maxgen
gen=i;
for j=1:train_num
s_seq=floor((train_in(j)-min_in)/(max_in-min_in)*(size_n-1))+1;%量化空间S的序号
w_seq=(s_seq-1)*(A_star-common_unit)+1;%权值序号
ye(j)=sum(w(w_seq:w_seq+A_star-1));%实际输出
for k=w_seq:w_seq+A_star-1 %修正权值
w(k)=w(k)+eta*(train_out(j)-ye(j))/A_star;
end
end
error=0;
for j=1:train_num
error=error+(train_out(j)-ye(j))^2;
end
mse(i)=error;
if erro
matlab 出现Subscript indices must either be real positive inte
MATLAB出现?Subscript indices must either be real positive inte
MATLAB里出现Subscript indices must either be real positive inte
matlab出现? Subscript indices must either be real positive int
之后的运行又出现:Subscript indices must either be real positive inte
matlab :Subscript indices must either be real positive integ
用matlab图像配准中出现Subscript indices must either be real positive
问一下在matlab中出现Subscript indices must either be real positive
matlab为什么出现 Subscript indices must either be real positive i
? Subscript indices must either be real positive integers or
Subscript indices must either be real positive integers or l
MATLAB程序错误?Subscript indices must either be real positive in