How can i define with variable

1 vue (au cours des 30 derniers jours)
fatih ayça
fatih ayça le 6 Mar 2021
Modifié(e) : fatih ayça le 6 Mar 2021
COORD = [0 0;2 0;4 0;2 2;0 2];
CON = [2 1;3 2;3 4;2 4;4 1;4 5];
for a = 1:6
i = CON(a,1);
j = CON(a,2);
COORD(j,1);
COORD(i,1);
dx = COORD(j,1)-COORD(i,1);
dy = COORD(j,2)-COORD(i,2);
lambdax(a) = dx ;
lambday(a) = dy ;
end
for a = 1:6
K = [lambdax(a)^2 lambdax(a)*lambday(a) -lambdax(a)^2 -lambdax(a)*lambday(a);lambdax(a)*lambday(a) lambday(a)^2 -lambdax(a)*lambday(a) -lambday(a)^2;-lambdax(a)^2 -lambdax(a)*lambday(a) lambdax(a)^2 lambdax(a)*lambday(a);-lambdax(a)*lambday(a) -lambday(a)^2 lambdax(a)*lambday(a) lambday(a)^2]
end
Hello everyone, this is my script it is working now but i need K in the form of K(a) or K(b), if i write K(a) it is not working. How can i write like K(a)?

Réponse acceptée

Star Strider
Star Strider le 6 Mar 2021
I still do not understand what you want to do, however it is straightforward to create ‘K’ as an anonymous function:
K = @(a) [lambdax(a).^2 lambdax(a)*lambday(a) -lambdax(a).^2 -lambdax(a).*lambday(a);lambdax(a).*lambday(a) lambday(a).^2 -lambdax(a).*lambday(a) -lambday(a).^2;-lambdax(a).^2 -lambdax(a).*lambday(a) lambdax(a).^2 lambdax(a).*lambday(a);-lambdax(a).*lambday(a) -lambday(a).^2 lambdax(a).*lambday(a) lambday(a).^2];
That should then produce whatever it is that you want from calling ‘K’ as a function.
See the documentation section on Anonymous Functions for details on how they work and how to use them.
I also vectorised ‘K’. See Array vs. Matrix Operations for those details.
.
  6 commentaires
fatih ayça
fatih ayça le 6 Mar 2021
Thank you so much.
Star Strider
Star Strider le 6 Mar 2021
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by