精华内容
下载资源
问答
  • matlab索引超出矩阵维度
    千次阅读
    2020-05-12 17:33:41

    MATLAB索引超出矩阵维度,求大神指点错误!

    MATLAB索引超出矩阵维度,求大神指点错误!

    最近在做k均值动态聚类的时候,matlab提示索引超出矩阵维度,不知道问题出在哪了。

    代码

    N1 = 50;
    N2 = N1;
    N3=N1; % 设置每类样本个数都为50
    N = N1+N2+N3;
    d = 2; % 设置为二维样本
    X1 = rand(d,N1); % 第1类样本,1个样本占1列
    X2 = rand(d,N2)+1;
    X3=rand(d,N3)+2; % 第2类样本,1个样本占1列
    X = [X1 X2 X3];
    %----------------------2、初始化----------------------------------
    m1_pre = X(:,1); % 初始化第1类均值,令其= x1
    m2_pre = X(:,2);
    m3_pre=X(:,3); % 初始化第2类均值,令其= x2
    epsilon = 0.001; % 收敛阈值
    T_max = 1000; % 最大迭代次数
    %----------------------3、迭代----------------------------------
    for t = 0:T_max
    figure; % 画出样本均值
    hold on; plot(m1_pre(1),m1_pre(2),‘gv’,‘markersize’,10,‘MarkerFaceColor’,‘g’);
    hold on; plot(m2_pre(1),m2_pre(2),‘kv’,‘markersize’,10,‘MarkerFaceColor’,‘k’);
    hold on; plot(m3_pre(1),m3_pre(2),‘rv’,‘markersize’,10,‘MarkerFaceColor’,‘r’);
    m1 = 0;
    m2 = 0;
    m3 = 0;
    N1 = 0;
    N2 = 0;
    N3 = 0;
    for i = 1:N
    xi=X(:,i);
    if norm(xi-m1_pre) < norm(xi-m2_pre) && norm(xi-m1_pre) < norm(xi-m3_pre) % 最小距离判别,norm计算向量的模
    m1 = m1+xi;
    N1 = N1+1;
    hold on; plot(xi(1),xi(2),xi(3),‘go’,‘markersize’,5,‘MarkerFaceColor’,‘g’);
    else if norm(xi-m2_pre) < norm(xi-m1_pre) && norm(xi-m2_pre) < norm(xi-m3_pre)
    m2 = m2+xi;
    N2 = N2+1;
    hold on; plot(xi(1),xi(2),xi(3),‘ko’,‘markersize’,5,‘MarkerFaceColor’,‘k’);
    else norm(xi-m3_pre) < norm(xi-m1_pre) && norm(xi-m3_pre) < norm(xi-m2_pre)
    m3 = m3+xi;
    N3 = N3+1;
    hold on; plot(xi(1),xi(2),xi(3),‘ro’,‘markersize’,5,‘MarkerFaceColor’,‘r’);
    end
    end
    end
    m1 = m1/N1;
    m2 = m2/N2;
    m3 = m3/N3;
    t = t+1; % 迭代次数+1
    xlabel(‘x_1’,‘fontsize’,16);
    ylabel(‘x_2’,‘fontsize’,16);
    title(sprintf(‘t=%d’,t),‘fontsize’,20);
    if norm(m1 - m1_pre)<epsilon && norm(m2 - m2_pre)<epsilon && norm(m3-m3_pre)<epsilon % 判断是否停止迭代
    break;
    end
    m1_pre = m1; % 更新均值
    m2_pre = m2;
    m3_pre = m3;
    end
    disp(sprintf(‘迭代%d次!’,t)); % 显示迭代次数

    更多相关内容
  • 请问这个怎么解决
  • matlab 索引超出矩阵维度

    万次阅读 2020-03-27 19:10:19
    只要利用 zeros 函数 初始化矩阵维度即可。 zeros函数——生成零矩阵 ones函数——生成全1阵 例如:B = zeros(m,n):生成m×n全零阵 % 预设内存 RSSIop =zeros(1,n); RSSIpre=zeros(1,n); 警告消失 ...

    使用matlab发生一个警告

     

    如何预分配内容呢? 只要利用 zeros 函数 初始化矩阵的维度即可。

    zeros函数——生成零矩阵

    ones函数——生成全1阵

    例如:B = zeros(m,n):生成m×n全零阵

    % 预设内存
    RSSIop =zeros(1,n);
    RSSIpre=zeros(1,n);
    

    警告消失

    https://www.cnblogs.com/haimishasha/p/9959250.html

     

    展开全文
  • 大佬们,我这是用insar 虚拟机 MATLAB跑图跑到图二第九部时候跑出来的问题,请问该咋整
  • MATLAB索引超出矩阵维度怎么解决

    千次阅读 2021-04-19 01:46:25
    clearclcchang=input('80');kuan=input('40');m=input('70');n11=input('11');n22=input('19');n33=input('20');n44=input('22');n55=input('12');n66=input('10');ticn1=100;n2=n1-(n11-n22)/(n11-n66)*100;...

    clear

    clc

    chang=input('80');

    kuan=input('40');

    m=input('70');

    n11=input('11');

    n22=input('19');

    n33=input('20');

    n44=input('22');

    n55=input('12');

    n66=input('10');

    tic

    n1=100;

    n2=n1-(n11-n22)/(n11-n66)*100;

    n3=n2-(n22-n33)/(n11-n66)*100;

    n4=n3-(n33-n44)/(n11-n66)*100;

    n5=n4-(n44-n55)/(n11-n66)*100;

    n6=0;

    s1=round(chang*kuan*m(n1-n2)/(100*100*242));

    s2=round(chang*kuan*m(n2-n3)/(100*100*169));

    s3=round(chang*kuan*m(n3-n4)/(100*100*104));

    s4=round(chang*kuan*m(n4-n5)/(100*100*44));

    s5=round(chang*kuan*m(n5-n6)/(100*100*11));

    for i=1:s1

    JZB.n(i,1)=randint(1,1,[6,10]);

    JZB.th(i,1)=0;

    a=0;

    for j=1:JZB.n(i,1)

    b=2*pi/JZB.n(i,1)+(2*rand(1)-1)*0.05*2*pi/JZB.n(i,1);

    JZB.th(i,j+1)=b+a;

    a=JZB.th(i,j+1);

    JZB.r(i,j)=17.5/2+(2*rand(1)-1)*1.5/2;

    end

    JZB.th(i,JZB.n(i,1)+1)=2*pi;

    JZB.r(i,JZB.n(i,1)+1)=JZB.r(i,1);

    JZB.rmax(i,1)=max(JZB.r(i,:));

    end

    for i=s1+1:s1+s2

    JZB.n(i,1)=randint(1,1,[6,10]);

    JZB.th(i,1)=0;

    a=0;

    for j=1:JZB.n(i,1)

    b=2*pi/JZB.n(i,1)+(2*rand(1)-1)*0.05*2*pi/JZB.n(i,1);

    JZB.th(i,j+1)=b+a;

    a=JZB.th(i,j+1);

    JZB.r(i,j)=14.6/2+(2*rand(1)-1)*1.4/2;

    end

    JZB.th(i,JZB.n(i,1)+1)=2*pi;

    JZB.r(i,JZB.n(i,1)+1)=JZB.r(i,1);

    JZB.rmax(i,1)=max(JZB.r(i,:));

    end

    for i=s1+s2+1:s1+s2+s3

    JZB.n(i,1)=randint(1,1,[6,10]);

    JZB.th(i,1)=0;

    a=0;

    for j=1:JZB.n(i,1)

    b=2*pi/JZB.n(i,1)+(2*rand(1)-1)*0.05*2*pi/JZB.n(i,1);

    JZB.th(i,j+1)=b+a;

    a=JZB.th(i,j+1);

    JZB.r(i,j)=11.35/2+(2*rand(1)-1)*1.85/2;

    end

    JZB.th(i,JZB.n(i,1)+1)=2*pi;

    JZB.r(i,JZB.n(i,1)+1)=JZB.r(i,1);

    JZB.rmax(i,1)=max(JZB.r(i,:));

    end

    for i=s1+s2+s3+1:s1+s2+s3+s4

    JZB.n(i,1)=randint(1,1,[6,10]);

    JZB.th(i,1)=0;

    a=0;

    for j=1:JZB.n(i,1)

    b=2*pi/JZB.n(i,1)+(2*rand(1)-1)*0.05*2*pi/JZB.n(i,1);

    JZB.th(i,j+1)=b+a;

    a=JZB.th(i,j+1);

    JZB.r(i,j)=7.125/2+(2*rand(1)-1)*2.375/2;

    end

    JZB.th(i,JZB.n(i,1)+1)=2*pi;

    JZB.r(i,JZB.n(i,1)+1)=JZB.r(i,1);

    JZB.rmax(i,1)=max(JZB.r(i,:));

    end

    for i=s1+s2+s3+s4+1:s1+s2+s3+s4+s5

    JZB.n(i,1)=randint(1,1,[6,10]);

    JZB.th(i,1)=0;

    a=0;

    for j=1:JZB.n(i,1)

    b=2*pi/JZB.n(i,1)+(2*rand(1)-1)*0.05*2*pi/JZB.n(i,1);

    JZB.th(i,j+1)=b+a;

    a=JZB.th(i,j+1);

    JZB.r(i,j)=3.555/2+(2*rand(1)-1)*1.195/2;

    end

    JZB.th(i,JZB.n(i,1)+1)=2*pi;

    JZB.r(i,JZB.n(i,1)+1)=JZB.r(i,1);

    JZB.rmax(i,1)=max(JZB.r(i,:));

    end

    Range=[0 chang;0 kuan];

    plot([Range(1,1) Range(1,2) Range(1,1) Range(1,2)],[Range(2,1) Range(2,2) Range(2,1) Range(2,2)]);

    hold on;

    cum=0;

    for i=1:10000000000

    if cum==s1+s2+s3+s4+s5

    break;

    end

    SJZB.x(cum+1,1)=rand(1)*(Range(1,2)-Range(1,1))+Range(1,1);

    SJZB.y(cum+1,1)=rand(1)*(Range(2,2)-Range(2,1))+Range(2,1);

    r=JZB.rmax(cum+1,1);

    这个运行时出现如图所示情况,请问怎么解决?

    捕获.GIF

    (7.48 KB, 下载次数: 0)

    2017-9-6 10:56 上传

    442a53943febe9465fc072b4fbe10813.gif

    b2a5a3e0dcc7d508e00275fe42fce1b5.gif

    d1b8d8667f46dc0b1f3f71948a0a7cce.gif

    展开全文
  • 在科研过程中遇到的问题: 新手小白实在是没有思路,能尝试的办法都试过了呜呜呜呜~恳请各路大神伸出援手,小子不胜感激。 相关代码如下图: 完整代码地址:...

    在科研过程中遇到的问题:

    新手小白实在是没有思路,能尝试的办法都试过了呜呜呜呜~恳请各路大神伸出援手,小子不胜感激。

     相关代码如下图:

     

    完整代码地址:https://github.com/qmzheng09work/VIIRS_timeseries/blob/main/Time%20Series%20fitting/Image_to_time_series.pyicon-default.png?t=LA92https://github.com/qmzheng09work/VIIRS_timeseries/blob/main/Time%20Series%20fitting/Image_to_time_series.py 

     

    展开全文
  • matlab索引超出矩阵维度

    千次阅读 2021-04-20 04:06:11
    % beta 是一个常量 beta(alpha,beta) % beta 不是二维数据,所以索引超出话题:matlab索引超出矩阵维度回答:很明显是你的data_test包含的数字超出了label的个数,:你的data_test含有524这个数,但是这种情况下...
  • 话题:程序用matlab运行显示索引超出矩阵维度,请问怎么改?回答:用size函数可以求矩阵维数,用reshape可以改变数据维数。 如: a=[1 2 3;4 5 6;7 8 9]; size(a) ans = 3 3 说明矩阵a是3行3列的。 reshape(a,1,9) ...
  • 开始运行程序没问题,后面在今天用的时候突然提示“索引超出矩阵维度。”我代码和数据集都没换过。。。不知道原因,求大神解一下 ``` function [acc,G,Cls] = GFK(X_src,Y_src,X_tar,Y_tar,dim) Ps = pca(X_src)...
  • MATLAB运行分层贝叶斯,数据导入后,再改5到8行,可是再运行时候下面就提醒 索引超出矩阵维度。这是什么原因?有人知道吗?
  • %Y方向车牌区域确定 %temp为向量white_y的元素中的最大值,MaxY为该值的索引 PY1=MaxY; while((Blue_y(PY1,1)>=5)&&(PY1>1)) PY1=PY1-1; end PY2=MaxY; while((Blue_y(PY2,1)>=5)&&(PY2PY2=PY2+1; end IY=I(PY1:PY2,...
  • 索引超出矩阵维度怎么解决?

    千次阅读 2021-04-21 06:58:34
    索引超出矩阵维度。出错 reduceEI (line 3)if any(M(1,:))出错 EIsum (line 4)f=reduceEI([[zeros(max(Msize(1),Nsize(1))-Msize(1),Msize(2));M],[zeros(max(Msize(1),Nsize(1))-Nsize(1),Nsize(2));N]]);出错 ...
  • function mainclearL=32;%基底尺寸的设定;step1=500;%生长层数的设定,niu=1;deltt=0.05;deltx=1;dd=16;aa=(2*dd/deltx)^(1/2);%基本参数的设定;cs=100; %重复计算次数h=zeros(L+2,step1);%基底高度的初值;...
  • 索引超出矩阵维度
  • 通用的把矩阵写入txt文件的 > X=rand(8,6) X = 0.3816 0.7547 0.3404 0.9593 0.2435 0.8308 0.7655 0.2760 0.5853 0.5472 0.9293 0.5853 0.7952 0.6797 0.2238 0.1386 0.3500 0.5497 0.1869 0.6551 0.7513 0.1493 0....
  • 索引超出矩阵维度

    万次阅读 2020-06-04 18:31:19
    关于使用Matlab中max或min时出现报错:索引超出矩阵维度的情况: 可能是之前在代码中重新设定了max或min的变量名字, 由于matlab寻找变量名或函数名是先从当前工作空间和当前文件夹搜索的,导致程序运行时系统找错。...
  • 索引超出维度,怎么处理

    千次阅读 2021-04-21 06:58:36
    clc; close all; clear all; run Set_II; % 参数设置 run Part_II;... 显示结果为 索引超出矩阵维度。 出错 xianxingjiance (line 19) [R(k),Lc(k)]=max(b(lmin:lmax)); % 在Pmin~Pmax区间寻找最大值 求帮忙,谢谢
  • EEG = pop_loadset('filename','s2.set','filepath','G:\mrERP\Exp\TJ\H_remove'); for i=1:size(EEG.event,2) if strcmp(EEG.event(i).type,'... end end 为什么size是376 i 要跑到377去,最后导致索引超过矩阵维度
  • 另外,一定要多看看官网,如果预处理一直报错,建议先用官网的demo data演示一下,如果没问题,就说明系统跟软件(spm matlab dpabi)安装没有出错,那么就是数据准备这一块出了错,还需要自己多排查。 更多报错...
  • %Y方向车牌区域确定 %temp为向量white_y的元素中的最大值,MaxY为该值的索引 PY1=MaxY; while ((Blue_y(PY1,1)>=5)&&(PY1>1)) PY1=PY1-1; end PY2=MaxY; while ((Blue_y(PY2,1)>=5)&&(PY2PY2=PY2+1; end IY=I(PY1:PY...
  • 如何解决矩阵搜索超出维度 改变tracker的数量,数据集也不能太少。
  • ![图片说明](https://img-ask.csdn.net/upload/201904/20/1555751055_468241.png)!... 尝试用程序把Inimg和Staimg图像都改成512*512的,和把两个图像像素改成一样大小,但是还是超出维度,怎么办?
  • 该系统使用两个坐标点... “指数超过矩阵尺寸。”我怎么解决这个问题。以下是我的编码和存储在Excel中的数据。编码M = xlsread('Region11.xlsx',1);N = xlsread('Region11.xlsx',2);Start = N(:,1);End = N(:,2);d...
  • matlab程序运行过程中会出现如上提示,在网上...应该返回索引,结果返回结果全部为零,猜想是不是exist这个变量的问题,故将其改名为exist_1,结果程序正常执行,搜索发现,原来是exist为matlab中一个函数,这里相当...
  • Simulink运行显示索引超出矩阵维度,关于Carsim与simulink 仿真,做的是无人驾驶轨迹跟踪控制
  • %Y方向车牌区域确定 %temp为向量white_y的元素中的最大值,MaxY为该值的索引 PY1=MaxY; while ((Blue_y(PY1,1)>=5)&&(PY1>1)) PY1=PY1-1; end PY2=MaxY; while ((Blue_y(PY2,1)>=5)&&(PY2 PY2=PY2+1; end IY=I(PY1:...
  • 索引超出矩阵维度。 出错 main (line 152) while sum(d(:,wide+1))~=0 DZ.jpg (188.91 KB, 下载次数: 0) 2020-5-11 15:42 上传 2020-5-11 15:41 上传 点击文件名下载附件 571 Bytes, 下载次数: 6 自定义函数 2020-5...
  • MATLAB的复化柯特斯公式,提示我索引超出矩阵维度,但是我改不来 function cotes(a,b) n=4; for i=1:5 x=a:(b-a)/4*n:b; m=4*n+1; h=(b-a)/n; s=(h/90)*(7*f1(a)+32*sum(f1(x(1:4:m-4)))+12*sum(f1(x(0:4...
  • 各位大神们,这个范围该取多少,取一帧320样点的语音信号,分析十二阶的线性预测系数,后面的参数有没有问题。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 404
精华内容 161
关键字:

matlab索引超出矩阵维度

matlab 订阅
友情链接: soft-tree-master.zip