How to display the output as table shown below?
1 view (last 30 days)
Show older comments
z(:,:,1) =
0.4794 0.8776 0
0.0000 1.0000 0
-0.4794 0.8776 0
z(:,:,2) =
0.4794 0.8776 1.0000
0.0000 1.0000 1.0000
-0.4794 0.8776 1.0000
z(:,:,3) =
0.4794 0.8776 2.0000
0.0000 1.0000 2.0000
-0.4794 0.8776 2.0000
How can I display output as follows?
z=
Nodenumber(1) 0.4794 0.8776 0
Nodenumber(2) 0.0000 1.0000 0
Nodenumber(3) -0.4794 0.8776 0
Nodenumber(4) 0.4794 0.8776 1.0000
Nodenumber(5) 0.0000 1.0000 1.0000
Nodenumber(6) -0.4794 0.8776 1.0000
Nodenumber(7) 0.4794 0.8776 2.0000
Nodenumber(8) 0.0000 1.0000 2.0000
Nodenumber(9) -0.4794 0.8776 2.0000
1 Comment
per isakson
on 24 Aug 2021
Tags in this forum shall not have a leading "#" .
"display output as follows" By typing "z" in the command window you cannot get this output. There will be a lot of brackets.
Answers (2)
Wan Ji
on 24 Aug 2021
You can use a table to achieve the output
Node = reshape(permute(z,[1,3,2]),numel(z)/size(z,2), size(z,2));
Nodenumber = char (num2str((1:size(a,1))'));
z = table(Nodenumber,Node)
0 Comments
Kevin Holly
on 24 Aug 2021
z(:,:,1) =[
0.4794 0.8776 0
0.0000 1.0000 0
-0.4794 0.8776 0];
z(:,:,2) =[
0.4794 0.8776 1.0000
0.0000 1.0000 1.0000
-0.4794 0.8776 1.0000];
z(:,:,3) =[
0.4794 0.8776 2.0000
0.0000 1.0000 2.0000
-0.4794 0.8776 2.0000];
%preallocate
Nodenumber = zeros(size(z,1)*size(z,2),size(z,3));
count =0;
for j = 1:size(z,3)
for i=1:size(z,1)
count = count +1;
Nodenumber(count,:) = z(i,:,j);
end
end
for ii = 1:size(z,1)*size(z,2)
output{ii} = ['Nodenumber(' num2str(ii) ') ' num2str(Nodenumber(ii,:))];
end
output'
I am unsure what you are looking for, so I created two different outputs.
Nodenumber(1,:)
Nodenumber(2,:)
0 Comments
See Also
Categories
Find more on Signal Integrity Kits for Industry Standards in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!