簡體   English   中英

由於左側的索引與右側的大小不兼容,無法執行分配

[英]Unable to perform assignment because the indices on the left side are not compatible with the size of the right side

當我給出四個 lambda 值時,它給了我一個錯誤,它無法執行分配,因為左側的索引與右側的大小不兼容。 但是對於像 36、38、40 或 42 這樣的單個值,沒關系。

R = [0.5:0.1:2.25];
    Vs1= [120];
    Vs2 = R.*Vs1;
    H1=[5:5:25];
    rho = [2000 2000];
    lambda = [36 38 40 42];

    for j=1:length(Vs2),
        Vs = [Vs1 Vs2(j)];
        for i=1:length(H1)
            H2=30-H1(i);
            d=[H1(i),H2];
            Vs30(j,i)=Vs30_fun(d,Vs);
            
        end
    end
    
    
    for j=1:length(Vs2),
        Vs = [Vs1 Vs2(j)];Vp=2.*Vs;
        for i=1:length(H1)
            d=[H1(i) Inf];
            VR(j,i)=lv_fun(d,Vs,Vp,rho,lambda);
            
        end
    end
    
    M=VR<Vs30;
    [m,n]=size(M);
    VR=zeros(length(Vs2),length(H1));
    for i=1:m
        for j=1:n        
            if M(i,j)==0
                plot(H1(i),R(j), 'r*')
                hold on
    %                drawnow();
            end
        end
    end
 VR(j,i)=lv_fun(d,Vs,Vp,rho,lambda);

你沒有初始化 VR。 我建議您先初始化變量,然后再初始化插件值。 在循環之前試試這個。

VR=zeros(length(Vs2),length(H1));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM