How to get the two outputs from "function"
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
PVR
il 18 Gen 2016
Commentato: Image Analyst
il 18 Gen 2016
I have the below code which needs to provide both nodes and connectivity matrices. The formulation and for-loop is all correct I believe but I'm only getting the nodes matrix but not the connectivity matrix. If I remove the semicolon after connectivity(:,i) = [p,q], I'm getting matrices for all the iterations. All I need is the output to have final nodes and connectivity matrices like in the image attached. I'm using a N value of 6 and R value of 1. It's easy I believe but I'm not thinking straight. Help much appreciated. Thank you!
function [nodes, connectivity] = stat(N, R)
nodes = zeros(2,N);
connectivity = zeros(2,N);
for i=1:N
a = (360/N)*(pi/180)*(i-1);
x = R*cos(a);
y = R*sin(a);
nodes(:,i) = [x;y];
p = i;
q = i+1;
if q>N
q=1;
end
connectivity(:,i) = [p;q];
end
end
2 Commenti
Mohammad Abouali
il 18 Gen 2016
On my system your function gives back both nodes and connectivity:
[nodes, connectivity] = stat(10, pi)
nodes =
3.1416 2.5416 0.9708 -0.9708 -2.5416 -3.1416 -2.5416 -0.9708 0.9708 2.5416
0 1.8466 2.9878 2.9878 1.8466 0.0000 -1.8466 -2.9878 -2.9878 -1.8466
connectivity =
1 2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10 1
Risposta accettata
Walter Roberson
il 18 Gen 2016
I suspect you are not invoking it correctly. Be sure to use two outputs when you call it:
[n, c] = stat(N, R)
2 Commenti
Image Analyst
il 18 Gen 2016
Huh? What "end"? In your main program stat calls stat() of course. You're probably doing
stat(N, R)
and not
[n, c] = stat(N, R)
like Walter said.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!