MATLAB Answers

What is the problem with the code on the line that reads "disp({'Coordinates For Node ' num2str(k1) ' ^re: '})

조회 수: 15(최근 30일)
clc
close all
clear all
Elec=50*0.000000001;
Emp=100*0.000000000001;
k = 8;
Area = input('Enter Network Area:- ');
Nodes=input('Enter Number of nodes:-');
Points=[];
figure(1),axis([0,Area,0,Area])
for k1=1:Nodes
[x y]=ginput(1);
hold on
plot(x,y,'*','linewidth',4)
text(x+1,y+1,num2str(k1))
Points=[Points,[x y]];
%disp({'Coordinates For Node ' num2str(k1) ' ^re: '})
disp(num2str([x y]))
end
input('Press Any key to give coordinates of Bstation')
hold on
[x y]=ginput(1);
hold on
plot(x,y,'Bs','linewidth',10)
text(x+1,y+1,'Bs')
Bstation=[x y];
disp({'Coordinates For Base Station Are: '})
disp(num2str([x y]))
figure(2),plot(Points(:,1),Points(:,2),'*r','linewidth',2);
axis([0 Area 0 Area])
hold on
plot(Bstation(1,1),Bstation(1,2),'sb','linewidth',5)
text(Bstation(1,2)+1,Bstation(1,2)+'Base station')
% Total Nodes
no=size(Points,1);
for jk=1:no
text(Points(jk,1)+2,Points(jk,2)+2,{'N'Num3str(jk)})
end
% Distance Calculation
X1=Points(x1,1);
Y1=Points(x1,2);
for x2=1:no
X2=Points(x2,1);
Y2=Points(x2,2);
Euc_dist=sqrt((X1-X2)^2+(Y1-Y2)^2);
Euc_dist=ceil(Euc_dist);
Final_dist(x1,x2)=Euc_dist;
end
end
Simdst=sum(Final_dist);
disp('Distance Matrix Is:= ')
disp(Final_dist)
disp('Simulation of Distances of Each Node: ')
disp(SimDist)
%Base Station Distance
for nm=1:Nodes
X1=Points(nm,1);
Y1=Points(nm,2);
X2=Bstation(1,1);
Y2=Bstation(1,2);
Edist=sqrt((X1-X2)^2+(Y1-Y2)^2);
Edist=ceil(Edist);
Bsdist(1,nm)=Edist;
end
[Simdst Nodenmbr]main(Bsdist)
disp('Net Distance from Base Station: ')
disp(Bsdist)
disp(['The Node' num2str(Nodenmbr) 'Is Selected As a Cluster Head'])
disp(['With Distance: ' num2str(SimBsdist)])
disp('Distance Based on Cluster Head Selection')
disp(Final_Dist(i.nodembr)')
%CH Based Energy Calculation
Nodedst=(Final_dist(:,Nodembr)');
loop=length(Nodedst);
for i=1:loop
d=Nodedst(1,i);
if d==0
d=1;
end
Energydsp(1,i)=(Elec*K)*(Emp*K*d*d);
end
format short g
Energydsp=Energydsp*1000000000;
disp('Cluster Head Based Energy of Each Node: ')
disp(num2str(Energydsp))
% Non CH energy Calculation
NonChdist=abs(Bsdist-SimDist);
loop2=length(NonChdist);
for i=1:loop2
d=NonChdist(1,i);
NCHEnergy(1,i)=(Eelec*K)+(Emp*8*d*d);
end
NCHEnergy=NCHEnergy*1000000000;
disp('Non Cluster Head Based of Each Node: ')
disp(num2str(NCHEnergy))
figure(3),bar(Nodedst),title('Energy Graph')
xlabel('Nodes Number')
ylabel('Energy')
figure(4),bar(NonChdist),title('Distance Graph of ClusterHead')
xlabel('Nodes Number')
ylabel('Distance')
figure(4),bar(Nondist),title('Distance Graph of ClusterHead')
xlabel('Nodes Number')
ylabel('Distance')

  댓글 수: 3

Walter Roberson
Walter Roberson 23 Oct 2020
What error message are you getting?
I suspect you would prefer to use [ ] there instead of { }
Walter Roberson
Walter Roberson 23 Oct 2020
disp has no problem displaying a cell array.
>> disp({'this', 'is', 'test'})
{'this'} {'is'} {'test'}

댓글을 달려면 로그인하십시오.

채택된 답변

추가 답변(1개)

panimalar kathiroli
panimalar kathiroli 16 Nov 2020 20:00
clc
close all
clear all
Elec=50*0.000000001;
Emp=100*0.000000000001;
k = 8;
Area = input('Enter Network Area:- ');
Nodes=input('Enter Number of nodes:-');
Points=[];
figure(1),axis([0,Area,0,Area])
for k1=1:Nodes
[x y]=ginput(1);
hold on
plot(x,y,'*','linewidth',4)
text(x+1,y+1,num2str(k1))
Points=[Points,[x y]];
%disp({'Coordinates For Node ' num2str(k1) ' ^re: '})
disp(num2str([x y]))
end
input('Press Any key to give coordinates of Bstation')
hold on
[x y]=ginput(1);
hold on
plot(x,y,'Bs','linewidth',10)
text(x+1,y+1,'Bs')
Bstation=[x y];
disp({'Coordinates For Base Station Are: '})
disp(num2str([x y]))
figure(2),plot(Points(:,1),Points(:,2),'*r','linewidth',2);
axis([0 Area 0 Area])
hold on
plot(Bstation(1,1),Bstation(1,2),'sb','linewidth',5)
text(Bstation(1,2)+1,Bstation(1,2)+'Base station')
% Total Nodes
no=size(Points,1);
for jk=1:no
text(Points(jk,1)+2,Points(jk,2)+2,['N',Num3str(jk)])
end
% Distance Calculation
X1=Points(x1,1);
Y1=Points(x1,2);
for x2=1:no
X2=Points(x2,1);
Y2=Points(x2,2);
Euc_dist=sqrt((X1-X2)^2+(Y1-Y2)^2);
Euc_dist=ceil(Euc_dist);
Final_dist(x1,x2)=Euc_dist;
end
Simdst=sum(Final_dist);
disp('Distance Matrix Is:= ')
disp(Final_dist)
disp('Simulation of Distances of Each Node: ')
disp(SimDist)
%Base Station Distance
for nm=1:Nodes
X1=Points(nm,1);
Y1=Points(nm,2);
X2=Bstation(1,1);
Y2=Bstation(1,2);
Edist=sqrt((X1-X2)^2+(Y1-Y2)^2);
Edist=ceil(Edist);
Bsdist(1,nm)=Edist;
end
[Simdst Nodenmbr,main(Bsdist)]
disp('Net Distance from Base Station: ')
disp(Bsdist)
disp(['The Node' num2str(Nodenmbr) 'Is Selected As a Cluster Head'])
disp(['With Distance: ' num2str(SimBsdist)])
disp('Distance Based on Cluster Head Selection')
disp(Final_Dist(i.nodembr)')
%CH Based Energy Calculation
Nodedst=(Final_dist(:,Nodembr)');
loop=length(Nodedst);
for i=1:loop
d=Nodedst(1,i);
if d==0
d=1;
end
Energydsp(1,i)=(Elec*K)*(Emp*K*d*d);
end
format short g
Energydsp=Energydsp*1000000000;
disp('Cluster Head Based Energy of Each Node: ')
disp(num2str(Energydsp))
% Non CH energy Calculation
NonChdist=abs(Bsdist-SimDist);
loop2=length(NonChdist);
for i=1:loop2
d=NonChdist(1,i);
NCHEnergy(1,i)=(Eelec*K)+(Emp*8*d*d);
end
NCHEnergy=NCHEnergy*1000000000;
disp('Non Cluster Head Based of Each Node: ')
disp(num2str(NCHEnergy))
figure(3),bar(Nodedst),title('Energy Graph')
xlabel('Nodes Number')
ylabel('Energy')
figure(4),bar(NonChdist),title('Distance Graph of ClusterHead')
xlabel('Nodes Number')
ylabel('Distance')
figure(4),bar(Nondist),title('Distance Graph of ClusterHead')
xlabel('Nodes Number')
ylabel('Distance')

  댓글 수: 0

댓글을 달려면 로그인하십시오.

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by