Can someone has an explanation for this (R2020B)
clear
clc
x=1;
y=x;
x=x+1;
format debug
y
x
that produces
y =
Structure address = 23ebc936f80
m = 1
n = 1
pr = 23edbdd6660
1
x =
Structure address = 23ebc936f80
m = 1
n = 1
pr = 23edbdd6660
2
So x and y have the same structure address and data address, yet data are different (1 for y and 2 for x).
Finish the time where FORMAT DEBUG returns useful information for us.

2 commentaires

James Quinlan
James Quinlan le 30 Juin 2021
Hi Bruno, were you able to submit a bug report? I am running into similar issues. I am performing memory tests and tests are unreliable in light of your comment. I reproduce results from both you and James Tursa below giving same addresses for x and y even after x has been modified. I am running Version: 9.10.0.1602886 (R2021a).
My test is slightly different in the sense, I assign x a value, then pass it to a function and make assignment, y = x. From my understanding, if you pass x to a function and don't update it while there, it effectively is pass by reference.
Bruno Luong
Bruno Luong le 1 Juil 2021
Modifié(e) : Bruno Luong le 1 Juil 2021
Hi James,
I did not submitted a BUG report. IMO TMW has changed complemetly the shared memory paradism and they just are not willing to share the new mechanism.

Connectez-vous pour commenter.

 Réponse acceptée

James Tursa
James Tursa le 13 Jan 2021
Strange behavior and probably deserves a bug report. E.g.,
R2019a:
>> x = 1;
>> y = x;
>> x = x + 1;
>> format debug
>> y
y =
Structure address = fa4a7890
m = 1
n = 1
pr = 119f97b20
1
>> x
x =
Structure address = fa4a76d0
m = 1
n = 1
pr = 17c869780
2
R2019b:
>> x = 1;
>> y = x;
>> x = x + 1;
>> format debug
>> y
y =
Structure address = f7ef7ac0
m = 1
n = 1
pr = 145dbaec0
1
>> x
x =
Structure address = f7ef7ac0
m = 1
n = 1
pr = 145dbaec0
2
R2020a:
>> x = 1;
>> y = x;
>> x = x + 1;
>> format debug
>> y
y =
Structure address = 192d47e2d40
m = 1
n = 1
pr = 192d3b7a5c0
1
>> x
x =
Structure address = 192d47e2d40
m = 1
n = 1
pr = 192d3b7a5c0
2
So the problem goes back as far as R2019b.

5 commentaires

cr
cr le 2 Août 2023
Is there a closure to this? I still see the same behaviour in 2023a.
By R2024a it seems to have been fixed.
x = 1;
y = x;
x = x + 1;
format debug
y
y =
Structure address = 7f9c99e0d420 m = 1 n = 1 pr = 7f9c7cc66aa0 1
x
x =
Structure address = 7f1b812f3940 m = 1 n = 1 pr = 7f1b2189e3e0 2
Bruno Luong
Bruno Luong le 17 Mai 2024
@Walter Roberson Godd news.
Huang Huang
Huang Huang le 25 Juin 2024
I found R2024a still not fixed!

Connectez-vous pour commenter.

Plus de réponses (1)

xd
xd le 17 Mai 2024

0 votes

maybe matlab disabled these functions like address , pr ......

Community Treasure Hunt

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

Start Hunting!

Translated by