yuwangfanguang_ 2020-06-19 22:05 采纳率: 0%
浏览 10037

matlab处理数据,提示“位置 1 处的索引超出数组边界(不能超出 59)”

执行后提示:
位置 1 处的索引超出数组边界(不能超出 59)。

出错 a_n (line 8)
[y(i,:), x(i,:)]=hist(data1(i,:),94);

请问大佬们怎么改这行代码?excel表里的数据是59*95

close all;
clear all;
data1 = xlsread('C:\Users\Desktop\alpha_normal_正则化数据.xls','sheet1'); %读入数据


for i=1:104

[y(i,:), x(i,:)]=hist(data1(i,:),100);   %统计频次分布   
 figure('Color','w');
 bar(x(i,:),y(i,:),1);
 h(i,:)=bar(x(i,:),y(i,:),1);  %画直方图
 set(h(i,:),'EdgeColor',[0.5 0.5 0.5],'FaceColor',[0.5 0.5 0.5]);
 hold on;
 normplot(data1(i,:));%人工判断是否正态分布        
 %%%%%%%%%%%%%%%%%%%%%
 [H,P,LSTAT,CV] = lillietest(data1(i,:));
if H==0    %不能拒绝H0,
    disp('原始数据服从正态分布');
    disp(i);
else
    disp('原始数据不服从正态分布');
       disp(i);
end

 %%%%%%%%%%%%%%%%%%%%


[mu(i),sigma(i)]=normfit(data1(i,:));

 a(:,i) = mu(i) + sqrt(sigma(i)) .* randn(94,1);

[h(i,:),sig(i,:),ci(i,:)]=ttest(data1(i,:),mu(i));
 if h(i,:)==0    %不能拒绝H0,
    disp('调整后服从正态分布')
else
    disp('调整后no')
 end
 filename = 'C:\Users\Desktop\alpha_normal_正态分布处理.xls';
 writematrix(data1,filename,'sheet',1,'Range','A1:CP59');


end

  • 写回答

1条回答 默认 最新

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog