getting errors in running this.

1 visualización (últimos 30 días)
Chaudhary P Patel
Chaudhary P Patel el 21 de En. de 2020
Comentada: Chaudhary P Patel el 21 de En. de 2020
dmp = M.data.damping;
c=damp(:,:);
Dot indexing is not supported for variables of this type.
Error in Untitled (line 13)
dmp = M.data.damping; %% damping matrix of the structure
  2 comentarios
Guillaume
Guillaume el 21 de En. de 2020
Your code expect M or M.data to be something that can be indexed with ., possibly a structure. The error message tells you it isn't.
The problem is earlier in your code, wherever M or M.data is created.
Chaudhary P Patel
Chaudhary P Patel el 21 de En. de 2020
Editada: Guillaume el 21 de En. de 2020
%%% this is my code initiation part%%%%%%%%%
inpf=input('File name of input file data ','s');
M=importdata([inpf,'.xlsx']);
%Table of nodes and coordinates of column
nod=M.data.Node;
nj=max(nod(:,1));% No. of joints or nodes
%Table of elments of column core and beam
elem=M.data.Element; %Elelment data for Column
ne=max(elem(:,1)); %No. of elements
stif=M.data.Stiffness; %% stiffness matrix of the structure
K=stif(:,:);
mas=M.data.Mass; % mass matrix of the structure
M=mas(:,:);
dmp = M.data.damping; %% damping matrix of the structure
C=dmp(:,:);

Iniciar sesión para comentar.

Respuestas (1)

Guillaume
Guillaume el 21 de En. de 2020
I would recommend you use readtable instead of importdata. importdata may not return what you expected if the file format change. However, it is not the problem here.
M.data is indeed a structure ... until you stomp on it and replace it with a matrix:
M=mas(:,:);
From this point onward, you've replaced the original M so of course, M.data.damping no longer work.
Morale of the story: Use better variable names, ones that are not ambiguous, so you know what they actually contain. I would recommend using complete words with no abbreviation, e.g. importeddata instead of M, mass instead of the other M, stiffness, damping, etc.
Also note, that
X = Y(:, :);
when Y is a 2D matrix is just a more complicated and confusing way of writing:
X = Y;

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by