For loop assistance- incorrect data
Ältere Kommentare anzeigen
Greetings,
I am running the attached files, but I am running into an issue with DATA.s. I would like to get the following data
5.0000 -5.0000 0
3.3333 -3.3333 0
1.6667 -1.6667 0
0 0 0
1.6667 1.6667 0
3.3333 3.3333 0
But instead, my coding is providing the following
5.0000 -5.0000 0
3.3333 -3.3333 0
-1.6667 -1.6667 0
0 0 0
1.6667 1.6667 0
3.3333 3.3333 0
I cant figure it out as to why I am getting a negative (-1.6667) on the first columnt/third row
any feedback would be greatly appreciated it
2 Kommentare
John D'Errico
am 14 Nov. 2020
Learn to use the debugger! You will have your answer in far less time than it takes to wait for someone to download your code, figure out how to use it, and then run it, all the while, using the debugger themselves.
Eddy Ramirez
am 14 Nov. 2020
Antworten (1)
Are Mjaavatten
am 15 Nov. 2020
0 Stimmen
You give DATA.s(3,1) the desired value in line 8 of exec2w. Then you overwrite it with the wrong value in line 22.
I found debugging your code confusing at first. This was caused by your declaration of DATA as global. The use of global variables is generally discouraged in Matlab, as they tend to lead to confusing effects. In this case the confusion stemmed from the fact that global variables survive the 'clear' command, so I struggled a bit with finding which function actually set the values. ('clear all' does the trick, it turns out.)
Your code runs exactly the same if you delete all 'global DATA' commands, as DATA is transferred in the function calls.
2 Kommentare
Eddy Ramirez
am 15 Nov. 2020
Are Mjaavatten
am 16 Nov. 2020
Type "clear all" in the command window before calling exex2w.
If you avoid the unnecessary global declarations you will not need the "clear all" any more. At least not in this context.
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!