How can i define with variable

1 Ansicht (letzte 30 Tage)
fatih ayça
fatih ayça am 6 Mär. 2021
Bearbeitet: fatih ayça am 6 Mär. 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)?

Akzeptierte Antwort

Star Strider
Star Strider am 6 Mär. 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 Kommentare
fatih ayça
fatih ayça am 6 Mär. 2021
Thank you so much.
Star Strider
Star Strider am 6 Mär. 2021
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by