getting errors in running this.

1 次查看(过去 30 天)
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 个评论
Guillaume
Guillaume 2020-1-21
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 2020-1-21
编辑:Guillaume 2020-1-21
%%% 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(:,:);

请先登录,再进行评论。

回答(1 个)

Guillaume
Guillaume 2020-1-21
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;

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by