/ Os índices Subscript devem ser números inteiros positivos reais ou lógicos nos índices plot-matrix, plot, 3d,

Os índices subscritos devem ser números inteiros ou lógicos positivos reais nos índices de plotagem - matriz, plotagem, 3d,

Eu estou tentando plotar dados existentes que estão em matrizes. Quando tento traçar, recebo o erro:

"Os índices subscritos devem ser reais inteiros positivos ou lógicos ".

Erro no Plot_Displacement_Linear (linha 35) plotagem (xn (:), ucp (:), "rs", xn (:), ucp_actual (:), "g")

Isso é muito estranho como o ":"operador não é um índice específico, mas significa apenas, acessar todos os dados como uma matriz. Ele deve ter trabalhado e tem no passado. Eu investiguei xn, ucp e ucp_actual. Eles são arrays 3D como eles correspondem a posições em um volume, mas Eu estou interessado em plotá-los apenas contra xn, que é a posição x atual no volume.Portanto, eu os acesse como xn (:), ucp (:), ucp_actual (:). Eu recebo esse erro como resultado. para matrizes 2D, eu acho, mas é a primeira vez que eu tenho alimentado matrizes 3D através do código.

Eu investiguei as matrizes como dadas na função de plotagem, definindo novas variáveis ​​como:

xni = xn(:);
ucpi = ucp(:);
ucp_ai = ucp_actual(:);

todos eles saem como matrizes 1-D que são todos 404600x1 (double). Então, o enredo deveria ter lidado com eles tudo bem. Eles são todos do mesmo tamanho.

Para ver se era apenas uma falha no acesso 3D, usei as variáveis ​​redefinidas acima e tentei:

plot(xni(:),ucpi(:)," rs",xni(:),ucp_ai(:),"g"),
plot(xni(:),ucpi(:),xni(:),ucp_ai(:)),
plot(xni,ucpi,xni,ucp_ai),
and finally: plot(xni,ucpi) and plot(xni",ucpi").

Nada funcionou, todos geraram o erro idêntico, mesmo quando não havia nenhum índice sendo acessado para falar e apenas dois vetores do mesmo tamanho. Alguém tem alguma ideia do que está acontecendo?

desde já, obrigado,

Dan M

Respostas:

0 para resposta № 1

EDITAR: Ok, eu acho que resolvi o problema, depois de tentar o seguinte, eu sabia que algo mais profundo estava errado:

>> ans = [1;2;3];
>> ans2 = [1;2;3];
>> plot(ans,ans2)
Error: "Index exceeds matrix dimensions."

Não há índices novamente, e eu acabei de definiressas matrizes. Depois de investigar meu campo de dados, descobri que havia definido uma variável chamada "plot", de modo que fiquei confuso. Estou surpreso matlab mesmo deixe-me fazer isso. Depois de usar o "lote claro" o código funcionou perfeitamente, desculpe pelo problema.